文章指出 AI 正在消除软件工程的中层岗位,Junior 岗位大幅减少,Senior 需求也在下降。
回到 2020 年。你是团队里最资深的人,负责代码质量和架构。你建立了一套良好的工程实践,认真审查来自经验不如你的同事的 PR,努力维护一个健康的代码库。
然后某一天,你去休假了。回来的时候,代码库已经一团糟。每个人都在不认真关注的情况下合并了彼此的 PR,有人往数据库里加了一堆新表去做反规范化,因为这样更简单,还有人在没有充分证据证明需要的情况下给技术栈引入了 serverless 或 Kafka。
没关系,可以修复。
快进到 2026 年。你没有休假,这只是一个普通的周一早晨。你给自己泡了杯咖啡,打开电脑,发现有 7 个 PR 要审查。你打开第一个:+24506 行 -3938 行,还附带着一段 AI 生成的描述来说明它们要做什么。不知怎的,你的团队从周五到现在所做的变更,比你以前离开几周所做的还要多。
AI 让工程文化薄弱的项目失败得更快。
以前人们会坐下来讨论他们打算怎么做某件事。现在他们只需要花几个小时 prompt 一个 agent,然后就能开一个 PR。
这种工作方式最悲哀的地方在于,对于外行人来说,它看起来是可行的。
如果你拉取分支并测试,你可能会得到一个勉强能用的东西。那他们会怎么做呢?他们继续干。一遍又一遍。直到项目达到一个没人知道任何东西是怎么工作的状态。
就像有人用信用卡买一辆新的豪车。你看不到债务,你只看到一辆看起来很棒的车。
但后来用户开始报告一个奇怪的 bug。这已经是你们团队第 4 次尝试修复它了。我的意思是……让 AI 来修复它。不幸的是,似乎连 Fable 都搞不定。
你去找负责开发这个功能的人。
"那数据是从哪来的?"
"嗯……其实我不知道,让我问一下 Claude。"
你们坐在一起,看着屏幕上出现一堵无尽的文字墙。你们俩都不知道这些内容是否属实,但 Claude 看起来非常自信。
"我们开个 ultracode 让它再检查一遍吧?"
这个要花一段时间。你们开始聊 X 上的最新八卦。
终于得到了一个回复。
"这个对你来说有意义吗?"
"你不是……上周才做的吗?"
这个项目已经变得如此复杂,有这么多层和服务,团队里没有人可能开始理解发生了什么。
修复它需要巨大的工作量,甚至无法向任何管理层开始解释其必要性。
而且你脑子里在想什么呢?反正过几个月它又会回到完全相同的状态。
"我们让 Claude 来修吧。"
"好,我来建一个 loop 和 goal,让它一直运行直到确认所有功能都正常。"
"其实我今天的 Fable 用量用完了,所以我明天再跑。"
你又拿了一杯咖啡,走回电脑前。现在还剩 13 个 PR 要审查。你看到一些不太理解的东西,于是给写它的人发了消息。
"为什么我们在这里要这样做?"
他们给你发了一个链接,是一段 Claude 对话。
在那段对话的某处,淹没在 Claude 自信地推荐一种架构、道歉、改主意、同事要求它重新考虑,以及另外 15 轮变更之间,隐藏着这段代码背后的设计决策。
"我应该看哪部分?"
"可能全部都要看。"
这听起来熟悉吗?
每次我谈到这个,总有人最终会告诉我,从来没有人完全理解过大型系统。这是对的。
从来没有人在每个服务和每个数据库层面都做到完全理解。但至少有人理解,会给你解释。
现在他们去问 LLM,因为他们自己也不清楚。
在每个团队中,都有让项目成为可能的有能力的人。也有让所有人工作都变得更困难的人。而现在,任何人在一天内产生的代码可以比以前一年做的还多。
在上面的故事里,每个人都在失败:
那个开了 25000 行 PR 的工程师应该在 agent 走到那一步之前就阻止它。他们应该理解它在做什么,把工作拆成更小的块,质疑它引入的每一个新抽象。
审查它的人应该拒绝审查这么大一个 PR,而不是妥协。
添加 Kafka 的人应该能够准确解释为什么需要它。
构建这个功能的人应该能够在不发送 Claude 对话链接的情况下解释数据从哪里来。
但问题是什么呢?用 AI 修不就行了。嗯,事情没那么简单……
在任何人跳出来之前,这些都不是说技术债总是坏的。重要的是你要知道这是一条捷径。
总之,撤销一个坏决策是很难的。非常难。
举个例子,让一个 LLM 给数据库加一堆表和列需要多长时间?10 分钟?
但一旦你开始在那些表里存储数据,你就不能简单地把它们删掉。你必须想出一个迁移计划,确保不会中断系统,因为人们每天都在付钱使用它。你必须考虑如果迁移失败了怎么办。确保不会留下孤立的 foreign key。修复起来就是难这么多。即使使用你能得到的最好的模型。
而且当你在修复它的同时,更多的 PR 还在持续涌进来。更多的代码、更多的抽象、更多的决策。一个人一下午能生成 20000 行代码,但你仍然必须坐在那里理解这些行实际上在做什么。
等你解开一个坏决策的时候,已经又有五个被合并了。
当然,差的工程师一直是负担。
在 OpenAI 或 Anthropic 存在之前几十年前就是如此。坏决策不断累积,不必要的复杂性堆积,团队最终维护着没人真正理解的系统。
不同的是,以前有一个速度限制。
如今,实现很便宜。你被雇佣是为了做出好的决策。构建能够 scale 的软件,同时管理复杂性。
问问你自己,伦敦或旧金山的公司为什么要为工程师支付六位数的薪水。
如果他们需要的只是能把规格说明变成可运行代码的人,为什么在他们已经能廉价地其他地方搞定的时候,还要支付那么多?
为什么那些声称"软件问题已解决"的科技公司仍在支付最高薪水来吸引他们能招到的最优秀的人?
我的赌注是 AI 会拉大薪资差距。要想保持就业,你需要跨越一道门槛,而这道门槛就是当前最好的模型每天能做到的水平。
优秀的工程师变得更有价值了,因为 AI 让他们移动得快得多。他们不再需要周围有那么多人来做实现工作。
与此同时,聘用差的工程师变得贵得多。
我之前写过这个,当时我说 vibe coder 的职业道路注定要完蛋。
你需要贡献超越每个人给 agent 一个 prompt 就能得到的东西。
如果你缺乏判断力来评估 LLM 的建议,要求更多的判断力并不能解决问题。
在某些时候,仍然需要有人知道正在发生什么。那是团队里最有价值的人。
那些不知道的人会变得便宜得多,或者被完全取代,而资金会被导向越来越少的那群真正值得被信任的人。
我不认为这会局限于软件工程。我相信同样的事情会发生在大多数知识工作上。AI 会让最优秀的人效率更高,而让最差的人几乎不可能被聘用。以前,差劲的决策有很大概率会在走太远之前被人 catch 到。现在他们做出变更的速度比周围任何人现实能够审查或理解的速度都快。