程序员为什么难过35岁这道坎

不知道从什么时候起,35 岁变成了一个很“残酷”的年龄。35 岁的中浪,稍不留神,就可能被前浪和后浪拍打在沙滩上,连浪花都不剩。

中年危机已是一个普遍的社会问题。但对程序员这个群体来说,35 岁的危机感似乎格外重一些。

“因为程序员的工资普遍高于其他行业,一旦这个行业不要你了,(薪资)可能会面临断崖式下跌,所以才会有危机”,资深程序员赵可(化名)说。

35 岁是一道界限分明的职场分水岭,最尴尬莫过于“高不成、低不就”。如果到了 35、40 岁还没晋升上管理层去,就会面临失业、被社会淘汰的风险。一位 35+程序员在求职网站自述,他在今年年初被裁后的 2 个月里,疯狂海投简历、面试,只拿到了 6 个非大厂 offer,最终他决定平薪入职其中一家。

打击面并不仅限于职场。 在某社交平台上,一位程序员愤愤表示,新认识的交友对象对“程序员到了 35 岁就退休”的定律感到介意,以致于感情快告吹了。

越临近 35 岁,焦虑感越发强烈起来。打开不少社交平台的相关话题页,你很容易被各种忧心忡忡的情绪所感染,35+程序员懊恼失业,就连 20+的年轻人也开始担忧未来会失业…

我产生过年龄上的焦虑,首先觉得自己没有财务自由,也不是老板,随时会面临各种选择,跟年轻时的状态确实不一样了。

当到 35 岁时,我确实感觉到,自己和更年轻的同学间有些不同。身体的能力没有以前充沛了,感觉没以前那么能熬夜了,学习新事物的速度也慢了一些,可能需要更规律的管理时间以保持充沛精力投入工作。

尤其当我成立了家庭,有了孩子后,需要承担的角色和责任更多了,一开始觉得有转变的时候,内心其实还是有点慌的。

就像懂得所有道理却还是过不好生活。中年焦虑“魔幻”之处在于当你置身其中时,你明知道它是正常现象,却很难逃离负面情绪的“手掌心”。

35 岁不转管理“混吃等死”?

“我没焦虑过,因为我在 35 岁之前就转型管理了”,70 后技术人陈岳(化名)自 2006 年开始转做架构师,兼做技术研究。在陈岳看来,较早转型让他“跳”过了 35 岁这道槛。

35 岁以上的程序员都去哪了? 经常有人发出这样的灵魂拷问。很多人会选择在 35 岁的当口转型以渡过中年危机。

一般来说,35+程序员的职业路径主要有三个大方向:技术专家、技术管理、跨行业就业(非技术向)。

转做技术管理,大多数程序员都会走上这条路。

在国内科技公司,大龄程序员想要一直做研发需要运气和实力。公司得提供这样的岗位,还要有足够的开放度允许他们长期写代码。而 35+程序员也要证明自己写的代码对公司有利,年轻人还替代不了。

另一方面,技术做久了,升到管理层,也是正常的职场晋升流程。

柳疏桐(化名)从 2016 年开始逐渐转向管理,到 18 年年底才完全从一线工作中解放出来。“那个时候我是技术骨干,同时还要周旋在各项管理会议里,大家很多事都需要等我做完才能往下推进,渐渐地我就成了团队的‘瓶颈’,这促使我下定决心把一线研发工作下放到团队中去”。

但需要注意的是,并非所有程序员都适合做管理。

二者在思维和工作性质上有很大不同,程序员主要与机器打交道,通过程序驱动机器运作、服务,做管理多和人打交道,得擅长对技术方向做把握、协调、判断、决策。

从技术到技术管理,要跨过的“坎”不少。

刚转到管理时,柳疏桐有挺多地方不适应。“主要还是改不了程序员那套习惯,很多事愿意亲力亲为,参与细节,对别人不放心,我自己做最放心。一开始感觉在向务虚的方向走,感觉写的代码少了就和技术脱钩了,时常感到焦虑”。

经过 2 年多磨合,柳疏桐已经是一个成熟的技术 Leader 了。与工程师对自己负责,对程序负责不同,他意识到,舍得权力下放,推动整个技术体系前进,带动团队成功是从技术开发者进阶到技术领导者必须要面对的事。

38 岁的赵可刚刚渡过“管理小白”的阶段。加入一家创业公司 3 年后,今年年初,他被提拔到前端组负责人,手底下管着十几个人。

开始管人后,要给团队制定 kpi 和 deadline,以前习惯了和同事平级交流,赵可对“下命令”这事感到很别扭。日常工作也变得手忙脚乱,“天天觉得特别忙,在做这件事,马上就有人来找我,还没处理完呢,另一个人又来找我”;“以前核心代码都是我写的,我来处理可能只需要 1 天就解决了,交给别人可能需要 1 个礼拜”…..

花了一年多时间,通过看管理书,听管理课程,赵可才慢慢培养起了管理思维。

另一个程序员经常纠结的问题是,去大厂做管理还是去小厂做管理?

一般大厂不太可能空降“管理者”,它更看重对团队、业务的熟悉度及对公司的忠诚度,因此多倾向于内部孵化技术管理者。如果一个从大厂出来的程序员在小厂呆了几年后再想回去做管理就很难了。因此有不少从大厂出来的程序员选择去中小创业公司做技术 Leader,有些人不止自己去还带着自己原来的团队一起加入。

“35 岁不转管理就‘混吃等死’”,很多程序员觉得到了 35 岁、40 岁,再不转管理就来不及了。

对此,苏锐认为这一说法不成立。“多大年纪都可以转管理,转管理岗是一个挺大的角色转换,工作的重点会从自己产出变成支持团队去产出,需要对团队的成员、团队与团队之间提供支持,做桥梁。能否胜任这些工作与年龄无关,而与你是否愿意去做,是否擅长去做有关。”

现实情况下,技术管理岗位相比普通程序员岗位要少得多,所有人都去做高管显然不切实际,市场空间小且需要在技术和管理能力上具有相当的竞争力。

在这种背景下,程序员到了 35+还在一线写代码的人一定大有人在。实际上,如果热爱技术工作,就算到了 35 岁不转管理,坚守在一线岗位也未必就发展不好。

到底要不要转型,当你做决定的时候,可以先思考下这两个问题,一是想转到什么岗位及评估自己是否具备该岗位所需的技能;第二,是否热爱这个行业,并愿意始终在这个行业学习。

“最愁 35+技术 Leader 不写代码”

转向技术管理后,一个最直接的变化是,代码量越来越少了。

InfoQ 接触到的几位技术管理者都表示,做了管理后,多数时间花在管理上,写代码的频次和数量与以前相比大大减少。

但他们并没有完全“抛弃”代码。他们仍然关注新的技术趋势,当有新技术(产品)出来时也会抽空直接上手“跑一跑”。

作业帮 NLP 技术负责人蒋宏飞喜欢在周末或者晚上有空档时就一些新出的算法模型开源代码进行分析并跑跑尝试一下。“这个过程有点像小孩拆玩具再组装起来的感觉,你在研究一个东西,完全沉浸在里面了。不掺杂任何功利和紧迫的东西,那一刻我感到特别放松”。

对很多技术管理者来说,偶尔研究下新出的技术,既能让自己保持技术敏锐度,同时也能更好地帮助作技术判断和决策。

近期,一则阿里巴巴 CEO 张勇对 35 岁程序员的看法流传网络。张勇表示,不会对程序员限制年龄,对 35+还在写代码的程序员表示鼓励。但他同时表示,“现在我最不发愁的事情不是 35 岁以上的员工写代码,而是 35 岁的员工不写代码”。

张勇的表态引起热议。那么,35 岁+的程序员到底要不要写代码?各个层级的技术管理者是否必须要保持一定的代码量?

蒋宏飞觉得,技术管理者不能失去技术敏感度,否则管理可能会“变形”。新技术点、新模型,新框架能否在业务场景中形成新应用或改造升级旧应用,能否结合业务场景改造现有技术并推动业务升级,这些都考验着技术管理者的判断能力。固步自封和盲目跟风都不可取,不能产生业务价值,团队成长也会成问题。

陈岳强调了对风险控制的重要性。当生产运作遭遇突发风险时,亟需快速定位症结所在。如果技术 Leader 不写代码,对内部结构、上下游关系了解不够细致,一旦出了问题,可能不知道从何处着手解决。

“如果一个技术 Leader 完全不写代码,并不一定会对他开展管理工作有影响”,在创业之初,苏锐还会贡献一些代码,随着技术团队扩大,他现在绝大部分精力都放在了产品、市场上。但他仍然会从工程师的角度去思考问题,这也为他开展市场工作提供了另一种视角。

“代码留给技术人的是观察世界和思考世界的方法,这种方法是‘道’,真正优秀的技术人会将这种‘道’吸收进而内化成为自己的一项能力。而代码水平是‘术’。即便管理工作多用“道”,也许术的部分有些生疏,但本质上计算机的逻辑没有变,并不妨碍成为一个优秀的技术人”,苏锐说。

35 岁+管理者代码量的问题或许很难给出一个统一的答案或者标准,因为公司类别、规模、岗位等的不同,对管理者的要求也必然不尽一致。

从公司规模的角度看,大公司的技术 Leader 不写代码并不意味着没有价值。平时可能很少见哪个大公司的 CTO 还在写代码。对他们来说,设计和把控技术方案更重要。

而对于中小公司,尤其是初创团队而言,不太可能单纯只招一个只负责管理而不能从事技术工作的人。自 2017 年创业以来,刘洪清目前仍是公司核心产品 JuiceFS 存储系统的主要代码贡献者。他的技术团队目前不到 10 人,除每天早上花一个小时左右开会外,剩下的时间,刘洪清几乎全都扑在产品研发上。

在以业务为导向的应用型公司,企业运营、战略管理可能比写代码更为重要。而若是纯技术型公司,技术 Leader 最好需要保持一定的代码量。

涛思数据创始人陶建辉今年 52 岁了,仍在一线写代码,据他介绍,他现在平均每天花 12 个小时写代码,最高 14 个小时。陶建辉是公司核心产品物联网大数据平台 TDengine 的主要代码贡献者,已为其写了 5 万多行代码。

他认为,代码是底层技术公司最重要的工作和价值所在,如果 CEO 不亲自写代码会失去对产品的把握,“如果 CEO 不写代码或者不懂代码,那我觉得这个公司不可能成为伟大的公司”。

互联网不需要中年人

回过头来反思一下,为什么 35 岁成了程序员的职场终点?

表面上看,这是个人的职场发展遇到了困境。更深层次的原因与当前激烈的就业环境不无关联,这里面很大程度上是市场“倒逼”的结果。

华为劝退 35 岁员工,强制退休补偿 45 岁员工;腾讯裁撤 10%高管,劝退 35+员工…如今的快速迭代的互联网和职场环境,都在向中年人传递出一个信号 —“你老了”。正如马化腾所说,或许你什么错都没有,就错在太老了。

“不要 35 岁以上的中年人,再便宜也不要”。虽没有明文,但 35 岁定律已是国内科技互联网公司招聘标准里的“潜规则”。

图源网络

年轻人能修 996 福报,对薪资要求不高,中年人精力和体力双下滑,家庭负担拖累成长空间,对薪资要求还高。于是“橄榄枝”更多伸向了年轻人。

一个员工,若活到 35 岁还没有猝死,那他就是公司的负资产了。在 996 相关话题的讨论区,有网友代入「老板思维」后如是说。

残酷吗?挺残酷。有些三天两头将企业社会责任挂口头的 CEO、CHO,嘴上也会说「残酷」,可一看公司财务报表,会「身体很诚实」地在辞退信上大笔一勾。

前两天,某科技公司老板说「80 后的人真的该退出 IT 行业了」,引发挺多人关注。

据曝出的截图显示,这位老板在微信群内发飙,说自己「见不得下了班要给老婆孩子做饭的男人」。

接着,他对这类顾家男喊话:「请离开,你已经不适合在一个创业团队呆着」,「我给你时间,找个新工作,请你滚!」

大概是霸总体质太上头,他还直接要求员工们中秋节回去多想想,「节后,开始清理所有跟公司达不成‘共识’的人!」

可能是那堆感叹号不足以泄恨,他又顺手挑了个「典型」,直接将人给开了。

疑似被开员工则曝光了此事,说「半夜娃尿床突然发现被优化了」,称自己去年 10 月入职销售,在各种困难下,拿下了公司第二的业绩,合同业绩 150 万-200 万,回款 100 万。

他还透露,公司实行大小周,底薪 4500 元。

你 25 岁时天天 996 无所谓,但你不可能永远 25 岁,你会有家庭和孩子。

可永远有人 25 岁。这事让我想起了这句话。很多人到中年的员工,看到的可能是上面那句。

许多老板,看到的或许是下面那句。他们还会将它提炼为一句:职场没那么多人情。

但没人情跟没人性,是两码事。我反对将此类事件带入「资本家嗜血论」的阶级斗争模型里去置评。

可有些老板非要将「压榨」两个字往自己脑门上拍。

连员工「下了班要给老婆孩子做饭」都见不得,还直接用上「滚」和一堆脏口,确定不是找骂?

你要员工把公司当家,可你有把员工当家属吗?在互联网大厂,让员工 996、大小周好歹是用高薪酬做「对价补偿」的。

塔勒布说的「现代化大公司创造出的新奴隶制形式」,早就落地开花。可这次被推上风口浪尖的涉事公司,给足了员工被虐的价码吗?

挡住大龄员工求职的主要就是在招聘过程

一位运维工程师在脉脉上讲述他电话面试阿里的经历,“刚开始聊的挺好的,当听到我的年龄是 35 的时候,感觉面试官比我还紧张了”。最终,不出意料,他收到了拒绝邮件。

InfoQ 查询 Boss 直聘发现,有些公司在招聘 JD 上直接写明了年龄范围 。某软件公司招高级程序员的任职要求之一是“3 年以上经验,40 岁以下”。某教育公司的招聘 JD 上要求道“ 18 年毕业的-35 岁以内都有的聊”,HR 备注卡年龄的原因是因为“年龄大职级可能 hold 不住” 。

截图来自 Boss 直聘

到了 35+的年龄再去找工作,市场的期待值也会变高。

有程序员表示,猎头找他的理由很直接“你的年龄也不太年轻了,想邀请你过来,希望你带一个团队”,聊的话题也基本围绕过往的管理经历。这或许能解释为什么程序员们担忧过了 35 岁再不转管理就来不及了。这就好比很多人 30 多岁了被催婚,传统的观念总认为,到了某个年龄,就意味着必须要到达一个阶段。

“我之前去面试国内某大厂,一面时被提问的所有问题我都答上来了,最终面试的人明显比我要年轻很多,面完之后,他说让我等一等他就走了,然后就再也没有然后了。那年,我三十四,面试官看起来也就二十七八岁。我当时猜测他可能‘嫌’我岁数大,觉得 30+的人水平应该更高”,胡伟(化名)向 InfoQ 讲述自己上一份面试经历。

现在做了技术 Leader 的胡伟似乎也成了当年那个“拒绝”他的面试官。

“现在招聘看简历,如果是 32 或 33 岁以上的,我就不会再看了。因为他们要求的工资待遇比较高,我们创业公司可能承受不了。另一个是好不好管的问题,像这个年纪,一般已做过一些管理岗位,价值观已基本定型了”。

“但每当我直接 pass 这些 30+候选人的简历时,我心里其实还是有一个坎儿的。反射到我自己的经历,也会同样感到不舒服。但这确实是正常现象”。

胡伟的矛盾,反映出了市场的选择。这可能不能简单称之为“偏见”或“歧视”。

不同企业对不同技术岗位有着差异化的需求和成本上的考量。如果一个技术岗对技能的要求并不高,考虑到性价比,企业更愿意少花钱招一个合适的人。如果 30+的工程师还在做基础工作,那与年轻人相比显然不具备竞争力。而那些技能要求高、犯错成本高的岗位,企业会更倾向于花更多的钱找一个有经验的人。

蒋宏飞在招人时发现,其实市场上很缺人,但又有很多大学生找不到工作。这并不矛盾。“很多程序员的简历上写着做过很多项目,但真聊起来发现他做的并不深入。行业真正需要的是经验丰富、能实际解决问题的人才”。

从另一个角度看,市场的“优胜劣汰”机制,也并非全都是坏事。它能鞭策程序员不断提高自己,形成自己的竞争优势。

国外程序员从不谈中年危机,35 岁退休是中国特色?

与国外相比,国内的互联网公司似乎更崇尚年轻文化。

从平均年龄上看,国内的互联网员工要比国外更年轻。

今年 3 月脉脉研究院发布的《互联网人才流动报告》统计,19 家企业的人才平均年龄为 29.6 岁,其中滴滴算是“最老”的,员工平均年龄为 33 岁,最年轻的是字节跳动和拼多多,人才平均年龄仅为 27 岁。

另据美国调查机构 PayScale 数据,截止 2018 年年底,苹果员工平均年龄 31 岁,谷歌员工平均员工 30 岁,Facebook 和 LinkedIn 员工平均年龄为 29 岁。

值得一提的是,Facebook 是一家极其奉行年轻文化的企业,这家公司简直就是年轻人的天下,年轻就是王道”是 Facebook 的用人准则。

而在脉脉研究院所统计的 19 家公司中,有 9 家公司的员工平均年龄低于或者与 Facebook 持平。其中不乏网易这种 20 多岁的“中年”公司。

图片源自脉脉数据研究院

还有一个很有意思的现象,在国内的公司里,似乎很少见到中年的程序员,但国外就能见到很多中年程序员。

有数据为证。

2019 年搜狐科技《中国互联网简史》报告显示,国内近一半的程序员年龄在 25-29 岁之间,其次为 30-34%,占比 24.6%,35 岁-39 岁的程序员占比 6.1%,而 40+的仅占 1.2%。

2019 年,Stack Overflow 对全球(中国参与者较少)近 9 万名开发者的调研报告显示,国外 20-34 岁程序员人数占比最高,35 岁以上的程序员占总数的 25.7% 。

上周,已经退休的 64 岁 Python 之父 Guido van Rossum 因为觉得退休生活太无聊了,而重返职场成了微软“打工人”。前段时间美国一位数据科学家 Gene D’Angelo 在社区表示他已经 74 岁了,从事编程 57 年,至今仍没有退休的打算。

国外 IT 行业对于大龄程序员也有着较高的包容度。此前,同样 60 多岁的 Java 之父 James Gosling 曾自述在求职时感受到的善意“我们虽然不愿意招你这个年龄的程序员,但可以对你特殊考虑”。

而且在海外程序员眼里,中年危机压根并不是一件多么严重的事情。陶建辉此前在美国留学,后又先后在美国 Motorola、3Com 等公司从事技术工作。他介绍,在美国、欧洲的科技公司,无论规模大小,40-50 岁的程序员工作状态非常好,在他们的观念里,程序员并不一定非得带团队,做管理晋升到 CTO、CEO 级别才能证明人生是正常,圆满的。“在美国,从来不讨论 35 岁程序员的问题,美国程序员没有年龄危机,大家只是把它当做一份正常的工作”。

35 岁中年危机,难道是中国特色?

刘洪清向 InfoQ 表示,这种差异与两个国家的 IT 行业的发展历史有关。美国的 IT 行业从上个世纪 70 年代开始发展,而中国差不多晚了 20 年。在这种时代背景下,国内年长的程序员的数量肯定要少很多,中国四十岁以上的第一代程序员,相当于美国六十岁以上的那一代。

自 1994 年中国接入国际互联网开始,从 PC 到移动互联网,中国出现了三次大的互联网浪潮,带动国内 IT 行业在最近 10 年-20 年间获得了井喷式增长,程序员数量也迎来爆发。这促使整个从业者群体的年龄结构更加年轻,再加上管理层的“空白”,公司需要有经验的程序员去做管理。

图为华为 1996 年招聘启事,要求所有岗位应聘者年龄在 35 岁以下。图片来源:微博 @程序员的那些事

到这里你可能就明白为什么中年危机会聚焦在 35 岁了。在中国,时代的红利已经让最早的一批程序员(70 后)实现了财富自由,他们用不着焦虑。而随着产业壮大,时代红利渐消怠,80 后成了第一批遇到这个问题的群体。没有前人的经验可以借鉴,而更有年龄优势的 90 后,00 后正在快速成长,80 后程序员的焦虑感可能更重。

陶建辉认为,“35 岁现象”出现的根源在于中国的 IT 水平还相对落后,国内在操作系统、中间件、内核软件、数据库等底层技术上与国外差距大,做移动应用的公司较多,软件开发门槛低,甚至有些程序员从培训班出来就能写,对高级人才需求不足。

“中国目前还没有任何一家软件公司开发的软件,真正走向全球。如果国内做基础开发的公司越来越多,那可能不会再有 35 岁程序员的问题”。

结语:如何打破 35 岁定律

35 岁定律就像一把高悬在头顶的达摩克利斯之剑,悬而不落的状态最“折磨”人。但时间永在流逝,没有人能避免 35 岁的来临。

如果一个程序员随着年龄的成长,每天还只是在重复做着基础工作,那么当 35 岁来临时,危机大概率也会找上门。

如果真的热爱技术,希望在技术领域长期发展下去,就要持续学习,以让自己在技术上有积累,有系统化的理解和认知。如果有志向转型管理,那也要做相应的准备,注意培养自己的管理思维。而对于那些觉得干这行不是特别突出,竞争力相对较弱的普通程序员来说,提早准备 Plan B ,探索第二职业,谋求合适的时机转型 ,也不失为明智之举。

据了解,在美国、欧洲等国家,为减少经验干扰和就业歧视,求职简历上不允许写年龄,也避讳问年龄,涉及年龄是违法行为。这就意味着,求职者全靠作品说话。

对 35 岁以上员工“一刀切”可能会令企业与那些真正富有经验累积的优秀人才失之交臂。我们呼吁,国内互联网科技公司在招聘技术人员时不要太限制年龄,例如在招聘 JD 里不写年龄规定,面试环节尽量不问年龄。就像招聘时不问肤色、种族一样,年龄也应该逐渐避免成为干扰因素。

克服 35 岁现象,除了个人努力突破职业瓶颈外,还需要良好的舆论环境,不要“妖魔化”35 岁。

By 刘燕