指南
35 岁程序员为什么会‘毕业’?AI 没有改变底层逻辑
35 岁的程序员为什么会被“毕业”?这应该是最近几年软件工程师岗位里,不断被翻新、不断被提出的一个事实和段子。
我们在自媒体上会看到很多情绪化的信息:上升到万恶的资本家、老板不把人当人,或者说国家的保障制度没有向着打工人;也有人说同行同事太卷,自己没有办法。
这些话并不是完全没有道理,但我更想先把它们放在一边。因为那是我们作为从业者自身无法直接改变的事情。我一向认同“修身、齐家、治国、平天下”这个观点,这个顺序不能变。我不可能在还没有改变自己的前提下,就先去改变一个行业。所以,35 岁会不会“毕业”这个问题,不能只从情绪化的角度去思考。
两个底层词:不可替代性和供需关系
35 岁会不会“毕业”的底层逻辑,我认为可以归结为两个词:不可替代性和供需关系。
对于程序员,或者说软件工程师这个岗位而言,这两个词大概代表了两种发展方向。
第一种方向,是把技术做得足够深。在一家企业、一个业务环节,甚至一个具体的开发领域里,你具备别人很难替代的能力:这个东西出了问题,只有你能解决。
当然,不可替代性不是把代码写得诘屈聱牙,故意让别人维护不了。那只是制造维护成本,不是真正的能力。真正的不可替代性,是你理解这个平台的原理,理解复杂业务下的架构设计,也知道怎样让技术方案满足客户需求。你掌握的是一套别人短时间内无法补齐的知识、经验和判断。
如果我们只做业务开发,沿着这条路走到真正不可替代的位置,能做到的人其实比较少。于是,另一个更普遍的变量就是供需关系。
正常的雇佣关系,或者任何行业里的岗位,都逃不开供需关系。薪资涨幅、每年的人员调整,以及所谓 35 岁“毕业”,都和它有关。
很简单,当有更便宜、也更年轻的人力资源可以替代你的位置时,你自然就可能被“毕业”。稍微换位思考一下,如果你是老板,你可能也会这么想。
如果只是接需求写代码,风险很现实
这里需要先把程序员这个岗位定义清楚:假设程序员只负责编码,只负责完成产品经理提出的需求。
如果工作只是这样,那你就是一个写代码的人。你没有深入到一家企业或一个行业赚钱的过程,没有成为某个结构性环节里不可替代的人,也没有组织资源进行生产,更没有通过研发去洞察行业和产品痛点,做出有竞争力的功能和产品,帮助企业拿到业绩。
如果你只是实现产品经理需求的人,只是一个编程人员,那就一定要面对供需关系下的 35 岁“毕业”原理。
这不是因为 35 岁这个数字有什么神秘力量,而是因为到了这个阶段,公司会重新评估:你提供的价值,是否足以抵消你的成本?如果只是写代码,而写代码这件事又可以由更便宜的人完成,那么替代就会发生。
AI 改变了什么?改变的是节点,不是底层逻辑
AI 的到来改变了什么?以目前看到的能力来看,它并没有改变 35 岁“毕业”的底层逻辑,但它可能会影响 35 岁这个时间节点。
还是假设程序员只是实现产品经理的需求。过去,年轻人需要先学会编码,再进入团队,和同级别的人竞争更长的工作时间、更快的交付速度。AI 到来以后,编码这件事本身可能不再是最大的门槛。它甚至可能直接把基础编码的门槛往下拉。
这样一来,一个软件工程师除了编码,还要能够从技术视角帮助产品快速上线,并且保证质量。这种能力会越来越稀缺,也会越来越成为一个人在企业里竞争力的一部分。
所以,AI 可能让“35 岁”这个节点提前,也可能让它延后。它不会自动替你解决不可替代性和供需关系的问题,只会让公司更快看见:一个人到底能不能把事情做成。
AI 让年轻人更快入行,也可能让入门变慢
这里有一个相对好的消息:AI 的到来未见得会让年轻人追赶得更快,反而可能让一部分年轻人的入门变慢。
我看到一些比较前沿的软件组织和行业讨论,已经开始关注 AI 对新人学徒制的影响。在实际团队里,也能看到一些年轻人使用 AI 做需求开发,代码很快就生成了,但自己对问题的理解越来越少,遇到变化时也越来越迷茫,最后甚至离开这个行业。
这类担忧也有一些早期研究可以参考。一项由 Anthropic 发布的随机对照实验 以主要是初级工程师的软件开发者为参与者,发现 AI 辅助组在相关概念掌握测试中的平均成绩更低;研究同时指出,使用 AI 的方式会影响最终的学习结果。
微软研究院对知识工作者的调查也发现,AI 会把人的工作重心推向信息核验、输出整合和任务监督。这项研究不是针对程序员新人,但能说明一个相近的问题:如果使用者缺少检查和引导 AI 输出的能力,批判性思考可能会减少。
这不是说年轻人不应该使用 AI,而是说,如果没有建立自己的判断能力,AI 越早介入,越可能让人跳过本来需要经历的理解、试错和复盘。现有研究还很早,不能据此断言 AI 一定会让所有新人入门更慢,但这个风险值得软件团队认真对待。
坏消息是,AI 也会让很多传统程序员不得不面对自己原本最不愿意面对的问题:和人沟通,理解一家公司怎么赚钱,更全面地处理客户问题和需求。
因为 AI 会越来越多地承担编码工作,团队会对生产质量和效率提出更高要求。但团队不会因为有了 AI 就不断加人,很多时候只会加 AI。这意味着,AI 替代了我们原来花费很多时间的部分,剩下的环节反而要求我们做得更快、更好,质量也更高。
否则最后的结果很简单:会用 AI 的程序员,会替代不会用 AI 的程序员。
从程序员变成产品创建者
所以现在的思路其实很明显。无论 AI 时代是否到来,如果程序员把自己定义成一个按需求文档写代码的人,那么职业寿命可能本来就只有三到五年。早期一些小众平台和技术栈,或许能提供更长的职业寿命,但没有人能够仅仅因为掌握一门编程语言,就靠它吃一辈子。
我们能看到一些干到退休的“职业程序员”,尤其是国外那些被反复讲述的传奇案例。你会发现,他们并不只是拿到别人的需求,然后把它实现出来。他们知道如何构建软件产品,写代码只是其中一部分;他们也知道如何把自己的软件产品、架构理念和技术底层逻辑讲给客户或其他开发者,让别人愿意使用、购买或者继续建设它。
他们不是只负责编码实现的角色,而是能够把技术放进产品和商业链路里的人。
AI 到来之后,对人的要求实际上更高了。现在很简单:每一个程序员都要想办法变成产品创建者,也要想办法把这个软件产品卖给真正需要它的人。当然,一个复杂产品不一定靠一个人就能完成。正因为如此,软件工程师更需要向前走,去涉及更多链路,了解更多商业逻辑,真正看见技术在整个商业逻辑里的作用。
最后,找到一个适合自己的结构性位置,才有可能解决 35 岁“毕业”的问题。
从我们看到的普通程序员发展案例来看,这件事其实没有那么难。真正到了 35 岁左右,还有精力去探索、拓展、思考和实践的人,往往早就没有把自己局限成一个只负责需求文档的编码人员。他也一定会找到一个更适合自己的结构性位置。
到那个时候,更可能发生的事情是:是他让公司“毕业”,而不是某个企业让他“毕业”。