互联网围城:学习诅咒与 35 岁断崖的战争

过去写的文章大多在聊技术,笔者作为一个软件行业尤其是互联网行业的从业者,在近十年的工作经历中,也逐渐产生了一些自己的理解和感悟,今天就来聊一聊这个话题。

本文不分析行业趋势、业界动态之类的宏大命题,而是仅仅站在一个技术从业者的角度上,讨论一下与个人息息相关的几个话题:

  1. 互联网行业有哪些特点?
  2. 跳槽是机遇吗?
  3. 技术真的重要吗?
  4. 以什么样的态度工作?
  5. 什么决定了职业发展?

每个话题分几个小节讨论,通篇下来万字有余,阅读负担太重。所以,我将其拆分为上下两篇内容。

本篇作为上篇,先讨论前两个话题。


互联网行业的特点

学习的诅咒

不说互联网,整个软件行业都可以说是一个非常新的行业,从上世纪四十年代世界上第一台电脑诞生开始,满打满算不足百年。但这不足百年的时间里,整个行业发生过多次天翻地覆的巨大变革。硬件从开始的大型主机到个人电脑,从硬件竞争逐步到软件统治,从 PC 的有线互联再到后来的移动互联,再到最新的 AI 时代。可以说整个行业的发展日新月异,每隔几年就会产生新的弄潮儿站在时代舞台的中央,享受着最好的灯光和机位,谱写科技创新致富的神话。这在其他传统行业是非常罕见的事情。

伴随着整个行业的快速演进,其依赖的技术知识更是更迭不止。作为身处其间的从业者,如果不想被时代的浪潮淘汰,只能不断精进自己的能力,我称其为“学习的诅咒”。

笔者刚毕业的时候学习非常努力,当时整个环境还没有现在这么卷,每天下班到家就开始啃书本,总觉得能成为技术大牛就好了,仿佛有个确定的门槛(百度 T6、阿里 P7、腾讯 3.1,一条金线在当时广为流传),只要自己努力迈过去,之后的日子就会好一些,学习的压力就会小一些。现在回首来看,“活到老学到老”才是这个行业的真谛。笔者并没有经历过其他行业,但在互联网行业,越是学习,就越会发现不懂的东西越多。

从刚毕业时候的计算机语言,到开源的中间件架构、各种框架使用、计算机网络、数据库、系统架构……每个话题展开都是长篇大论,到网上一搜哪个领域的知识都多如牛毛。这尚且是技术上的东西,到后来随着经验的提升、公司职位的变化,又对个人的能力提出了新的诉求:要管理团队,就要了解一些沟通技巧、项目管理、识人用人;要负责产品研发,就要了解细分领域的业务知识,了解需求价值,形成自己的业务洞察……

过去那种经验丰富、有独门技巧的老师傅在互联网行业式微。在技术发展一日千里的环境中,任何人都没有办法以存量的知识保持领先。前有变化不断的技术创新,后有源源不断涌入行业的新生力量,“学如逆水行舟,不进则退”已不再是一句空洞的谏言,而是千真万确的事实,逼迫着从业者必须不断得丰富自己的知识技能。

焦虑和学习压力,会困扰着互联网人的整个职业生涯。

相对公平

从前一个小节的讨论中,不难看出互联网行业不是一个轻松的行业,其对从业人员的自身知识技能以及学习能力都有比较高的要求。也正是因为这些特性,导致互联网尚未形成门阀壁垒。毕竟知识技能和传统的能源、矿产有着本质的区别:其一,它不能被垄断,无法隔离新人了解和学习;其二,它收集的过程需要个人的悟性、坚持和毅力,他人无法代劳。所以互联网行业有着相对其他行业的公平性。

纵然有很多公司也有带资源、攀关系的情况,但相对于普通人而言,这个行业依然可以说是一个付出就会有回报的行业。虽然随着不同的时期变化,整个行业整体周期的波动,这个回报可能有多有少,但整个职业阶段,尤其是从业的前期,依然有着相对明朗的晋升发展过程。

笔者在工作的几年里,尚有联系的同学同事不论是坚持在一个公司深耕,还是跳槽到其他公司,凡是坚持学习、读书不倦的人现在处境都还不错,职业生涯一直能保持向上的趋势。虽然没有寒门贵子改变命运的励志故事,但聚在一起聊天,都会感激自己所在的行业能让自己在短短几年中达到现在的薪资水平,积累到相对可观的收入。如果放在其他行业,这可能是非常难以企及的事情。

大家一没有过硬的关系,二没有超高的智商,凭借禅定式的学习定力,在前期的职业生涯中就能不断驱动自己的职业发展,可谓一句“公平”。

加班成风

如果问一个局外人对互联网行业的印象,加班成风一定名列前茅。

整个行业发展快,技术更新快,产品迭代快。“快”成了悬在互联网人头顶的一道符咒,在残酷的市场竞争中,仿佛慢人一步便满盘皆输。加班纵然有外部的市场压力在,但从笔者的从业经历来看,混乱的市场状态和落后的管理手段是加班的重要原因。

在国内的市场做生意有个绕不过去的话题——讲关系。我们这里不去分析具体的成因和利弊,但对于 ToB 的软件市场来讲,会形成以销售驱动增长的局面。这样有什么问题呢?以销售为驱动点,整个市场的竞争并不以产品优劣为尺度,而是以关系长短论英雄,酒香也怕巷子深,长袖善舞者当道。很多公司虽然号称技术驱动,但骨子里往往将研发部门视为成本部门,在先成单铺量的前提下要求软件产品迭代,不合理地承诺客户产品能力和时间限制,给产品塞进计划外的需求,研发部门只能蒙头赶工。所形成的短视技术决策,又对之后的开发迭代造成巨大的阻碍,最终的解决方案只能指向一个答案:加班。

公司对待劳资关系依然是零和博弈的态度,将薪资交易视为时间交易,以为加班就能提高产出,工时体现人效。而各个位置的领导者们,也很难在这样的环境中找到激发团队创造力的手段,知识型劳动的产出又难以用确切的指标衡量。领导者能找到的最能体现团队价值的指标,就是加班工时,以加班长短论奉献程度。公司一旦形成这样的恶习,普通员工表现上进的最好途径就是赖在工位不走,催生更多的无效加班。有道是:楚王好细腰,宫中多饿死。错误的评判标准致使错误的行为准则,可发一叹。

大家可能觉得笔者见识浅薄才能提出上述的暴论,但笔者过去几年里经历过 BAT、TMD 中的多家公司,依然有上述情况存在。身处其中,不亦悲哉。

不过我个人对加班减少持乐观态度。存量的市场竞争不再有过去那么多野蛮生长的奇迹,同质化的竞争过程中,产品没有办法产生拉开身位的优势,竞争的本质必然会回落到产品本身的质量和成本上。而如果想优化产品的质量,降低产品的成本,必然是一个知识密集的过程。知识型劳动所要求的创新能力,反而会因为加班受到遏制。所以笔者觉得存量的市场竞争会加速互联网行业从劳动密集向知识密集转变的过程。过去大跃进式开发的产品难以通过品质质量之外的手段获得市场,恶性的加班就会逐步减少。

35 岁的职业危机

35 岁的职业危机是悬在所有互联网人头顶的达摩克利斯之剑。随着自己年过三十,也常常对自己的未来感到迷茫:这些年的行业经验和学习积累,终究逃不过年龄的桎梏吗?笔者将根据自己的经历和思考,总结一下 35 岁职业危机的原因,以及可能的应对手段。

35 岁危机好像是中国特有的职业现象,据说很多头发花白的国外程序员依然在做一线的编码工作。如果结合国内的场景来看,超过一定年龄还在做一线开发几乎约等于失败。而互联网明明是以技术创新为本的行业啊,难道我们的创新只发生在新鲜的血液之上吗?笔者认为有几个原因:

  • 1. 国内互联网的产业结构大多都处于应用层:应用层所技术、知识、能力要求并没有那么深,脑力劳动所面临的问题没有那么难求解。过量的知识能力就会陷入“屠龙刀”的窘境——空有一身武力,世间却无恶龙。我觉得这点会随着海内外市场的变化而逐步改观。做个比喻:在白纸上画一个圆圈代表目前所有市面上的知识技能,以前互联网大发展的时代,可能仅需要整个圆圈内某子集的知识技能,即一个小圆圈就可以达成自己的业务目的,在市场上取得回报。但随着整个市场格局的变化,这样的机会越来越少,剩余机会所需要的知识技能越来越多,甚至要开发整个圆圈以外的知识能力。那么,随着年龄阅历增长带来的个人知识技能就会逐步被市场认可和需要,35 岁的职业魔咒就会逐步变松。
  • 2. 教育与产业脱节:笔者观察周围的同学同事,在上大学之前的高中教育,几乎都只得到过应试的知识教育而没有得到过职业教育。大家都被灌输好好学习,考好大学,找好工作,有好生活。而具体什么样的工作是好工作,某个行业具体做什么,工作内容环境如何,待遇发展前景怎样,罕有言语。学校在结束填鸭式的教育之后不再与学生有任何瓜葛,而缺乏职业认知的学生在琳琅满目的大学专业前面面相觑,更悲哀的是表格上短短几个字所代表的专业又反过来决定了学生几乎半生的职业选择。大多数人都稀里糊涂地填报了专业,在真正入学之后甚至毕业之前,才知道自己的就业岗位是什么。这其中有相当部分的人通过后期的培训涌入互联网行业,因缺少系统学习计算机基础知识,如果在后期的职业发展中没有额外付诸努力的话,根基不稳导致的问题会越来越限制职业发展。
  • 3. 波动的职业潮汐:因为高考填报专业距离大学毕业工作中间有四年的时间差,有经验的学生家长也只能基于当下的市场状态判断未来的专业前景,而四年的时间足以让一个行业天翻地覆。从之前的土木专业再到现在的互联网计算机,因为其某个辉煌的时间点被大众认知而涌入大量新的从业者,使行业的岗位供需关系发生巨大的转变。等到毕业生求职的时候发现市场已经从买方市场转变为卖方市场,再伴随着行业趋势的下行,必然形成就业寒冬。而已经身处行业的从业者,也被潮汐的职业波动影响,催生更加激烈的职场竞争,若不能在一定的年龄形成自己的竞争优势,就很难保证能在激烈的竞争中胜出。

那有什么方法能够缓解 35 岁危机呢?

  • 1. 提升自身知识技能水平:建立自己的核心优势,与其他的从业者拉开差距,这确实很难。
  • 2. 提前谋划:目前 35 岁这个坎在业界几乎是显式的,所以尽力在这之前谋求一个合适的岗位,避免以大龄的身份再去市场上投简历找工作。
  • 3. 建立好自己的人脉关系:即使离职后也不要断了与前任领导的联系,在换工作的过程中领导往往能提供比同级同事更多的帮助。
  • 4. 建设自己的影响力:职业后期的很多能力很难通过几场面试来证明,唯有在业界形成自己的知名度和影响力,才能更好地为自己的履历背书。大胆地在互联网上曝光自己:我认为被人从头打量到脚总比被人视而不见要好。
  • 5. 保重身体:身体是革命的本钱。互联网行业拼的不仅仅是智力,更拼体力。保持运动让自己有个健康的体魄,比掌握某项计算机技能更重要。
  • 6. 培养领导力:走管理路线。走上管理不一定好,但在当前的环境下管理岗位还是能缓解年龄带来的桎梏,然而管理岗位相对稀少,更需要一定机缘。

跳槽与机遇

跳槽的机会成本

坊内有一则笑话:在公司最快乐的两天是入职那天和离职那天。跳槽对于互联网人而言是个绕不过去的话题,行业本身的高速发展,再加上周期性的行业热点,加剧了从业人员的流动性。即使是扎根在一个公司多年的老革命,期间也难免有过换个公司的念头。那么跳槽对于从业者来说到底意味着什么呢?

不可否认,从业早期的跳槽往往是因为薪资问题。前几年伴随着互联网上升的发展周期,毕业生的起始薪资水涨船高,而内部复杂的晋升和加薪机制导致出现过很多薪资倒挂的情况——一个导师带的技术新人甚至比导师本身薪资还高,这对导师而言不可谓不是一个冲击。也因为互联网的上升周期,出来看机会往往能收获不错的薪资涨幅。

但跳槽除了薪资变化之外,更意味着环境的改变。这个环境包括工作地点、工作环境、同事之类物理意义上的环境,也包括业务、行业、公司业内地位等虚拟层面上的环境。一次跳槽,从熟悉的环境中脱离变更到一个陌生的环境中,要和同事重新熟悉建立合作关系,和领导培养沟通方式,建立信任,熟悉新公司的业务,乃至换了行业需要熟悉新的领域知识,这是适应新环境的必然过程。反过来环境也会影响个人的职业路径,公司所处的行业和所从事的业务,公司的流程制度,公司提供的背书都会对从业者的整个职业经历产生不可磨灭的影响。

所以跳槽背后蕴含着巨大的机会成本,跳与不跳,跳到哪里,都会组成个人职业生涯上的关键路径节点,当慎之又慎。

既然要如此慎重,那么不跳会不会好一些?笔者回顾从业来接触到的朋友和同事,很难回答这个问题。有经历多次跳槽现在在行业头部公司拿高职级高薪资的,也有在一个公司深耕多年成为总监当领导的。但整体而言,还是第一种的案例比较多一些。当然这只是笔者的身边统计学,并不具备参考价值,不是在鼓励跳槽。跳与不跳就像是小马过河的寓言,旁人的经历虽然可以打听,但大多不会有太高的参考价值。你只有自己趟过去,才能知道到底好与不好。而人生比之小马过河更悲惨的是:一旦趟进河水就难以有回头的机会。人生不是舞台剧,不论是喜剧还是悲剧,都将一次性上演。

跳槽是机遇也包含着极大的风险,尤其是当下行业周期下行的情况下,跳槽需要多方面的进行权衡利弊,一旦决定,恐怕只能一条路走到黑,纠错的成本也随着年龄的增长越来越高。

考虑哪些问题

前文将跳槽形容地如同猛虎,但刚入行的朋友也不用太过紧张,年轻是最大的资本,行业对年轻人也会更包容一些。本节笔者站在一个过来人的角度上根据个人的经验分享一些跳槽需要考虑的问题,毕竟笔者在从业的这些年里也是跳了不少次,有感谢某段经历的时候,也有后悔某个决定的时候。其中成功的经历固然值得书写,但失败的经验可能更值得同行的朋友借鉴:

  • 1. 薪资问题:薪资待遇可能不是跳槽考虑事项中最重要的事情,但绝对不能不考虑。目前行业内惯例跳槽的涨幅基本在原来 base 的 30% 上下浮动。涨幅太高新的公司往往需要额外的审批流程,对于进来的新人而言因为涨幅问题也会额外多一些能力上的期盼;涨幅太低又难以抵消跳槽带来的机会成本。即使新公司环境、业务、技术等内容不及预期,尚有薪资涨幅担保,心里也不会产生太大的落差。所以对于新人而言,第一份工作的薪资是比较重要的,之后大多数的涨幅都建立在整个起始薪资的基础上。
  • 2. 工作内容:新平台的工作内容是否能匹配自己的职业规划,符合自己的职业路径,这是尤其要考虑的问题。现在提起职业规划好像有些理想化,在机会不多的大环境下可能没有那么多的选择,但还是要着重考虑一下自己的发展方向是什么,是聚焦某个细分业务发力,还是某项专业技能发力。细分业务是指在某个业务领域发展,比如电商、支付、监控、金融等业务领域;专业技能是指基础架构、数据库、网络、操作系统、大数据等底层设施建设。一定要在面试的时候就确认清楚新公司的工作内容是什么,团队负责什么内容,自己会负责什么业务。笔者刚毕业的时候就因为被某公司的光环迷惑,在未了解具体工作职责的情况下入职,结果几乎蹉跎了两年的时光,这段工作经历很难为之后的职业成长做铺垫。
  • 3. 行业问题:每个公司都在一个具体的业务领域工作,一定要提前了解一下这个行业的前景如何,各个行业的白皮书可以给予一定的参考意义。不过笔者发现大多数人其实都并没有明确的职业规划与行业选择。都是被时间推到固定的节点上执行这个节点的任务,高考、选专业、参加工作、换工作都充满着巨大的随机性。如果这些关键决策节点能够多一些主动思考和选择,整个职业生涯都可能有些不一样的变化,最起码可以少走一些弯路。

面试的本质

说了这么多跳槽与择业问题,免不了要说下面试,但笔者并不会在这里讲解面试技巧,而是说一说什么是面试。

什么是面试?在入职一家公司之前的能力测试,这是一个双向选择的过程。而一个面试的流程通常包括简历筛选、业务面试、HR 面试、谈薪入职等阶段。所以简历是能参加面试的前提,而简历上的信息基本就是毕业院校、知识技能、项目经历、工作履历。其中的毕业院校在工作以后很难再变化,但其他的几项都是可以在工作中努力精进的,关键在于日常的积累和总结。

面试对于技术人员来讲,更像是一个知识大乐透。有的面试官喜欢深挖简历上项目经历的细节,考验面试者在日常工作中对项目信息和技术细节的把握和思考;而有些面试官则喜欢随机地出一些技术问题,没有什么连贯逻辑。遇到哪种风格的面试官自不是面试者能够把控的。

具象化地比喻一下面试过程:日常的工作就好比是蜘蛛在编制自己的蛛网,只不过程序员的蛛丝是自己的日常思考和知识。你在某个技术领域深挖的内容越多,那么某根蛛丝就会越粗;你了解的知识面越广,你的蛛网面积就越大。而面试的过程好比一片飞蚊撞向蛛网,只有你的蛛网能抓住大多数飞蚊的时候,才会通过面试。当然面试的过程其实也充满随机性,毕竟面对面的交流并不是非对即错的纸面考试,沟通的态度、语言的组织能力,甚至是幽默感、感染力都在一定程度上左右着面试的结果。

从专业知识的角度来讲,虽然临时抱佛脚可能有一定用处,但关键还是日常的自省和思考。而其他的软实力就更难临阵磨枪,需要系统性的学习和锻炼。

所有命运给予的馈赠,都早已在暗中标好了价格。在享受互联网行业相对高薪的同时,也无法避免经历学习压力、年龄危机以及跳槽动荡等不安与焦虑。

我们将在下一篇中讨论剩余的问题,期望能在沉浮的命运中掌握一些主动。