每隔一段时间,关于 AI 和软件工程师的讨论就会重新出现一次。
“AI 会先替代 junior 工程师。”
“AI 会更快替代 senior 和 staff 工程师,因为他们太贵。”
“AI 最终会替代所有软件工程师,只需要留下少数人检查 AI 的输出。”
这些观点听起来都不陌生。
它们背后的逻辑也不是完全没有道理。
有人认为 junior 工程师最危险,因为 AI 写代码的能力已经超过了很多初级工程师。虽然它有时候会犯错,但在很多常见任务上,它已经能生成不错的代码,甚至能解释思路、补测试、写文档。
也有人认为 senior 和 staff 工程师反而更危险。原因很简单:他们贵。对于资本来说,如果一个 junior 工程师加上 AI 就能完成一个 senior 工程师 80% 或 90% 的工作,而 senior 工程师的薪水是 junior 的两倍,那管理层真的会在意最后那一点工程质量差异吗?
还有一种更极端的观点:不管你是什么级别,最终都会被 AI 替代。因为所有技术难题最终都会被攻克。软件开发会被自动化到只需要极少数人做最终质量检查。至于这极少数人从哪里来、他们又怎么保持判断力,这个问题通常不会被解释得太清楚。
我理解这些担忧。
但我想提供一个不同的视角。
不是因为我觉得 AI 很弱。
也不是因为我想防御性地证明“工程师永远安全”。
恰恰相反,我每天都在用 AI。
我用它写代码,查问题,读文档,理解陌生技术,生成测试,整理思路。它确实让我变快了。很多过去让我觉得琐碎、低效、甚至有点痛苦的工作,现在都可以被 AI 大幅压缩。
但也正因为我每天都在用它,我反而越来越相信一件事:
AI 不会杀死软件工程师。它只会杀死我们最讨厌的那部分工作。
我们真正热爱的,真的是写代码本身吗?
我们可以认真想一下。
当一个人说自己喜欢写代码的时候,他到底喜欢的是什么?
是喜欢一行一行写 if/else 吗?
是喜欢手动搭 boilerplate 吗?
是喜欢在不同文件里反复搬运字段吗?
是喜欢为了一个简单功能写一大堆重复的接口、类型、校验、测试和配置吗?
可能不是。
至少对我来说,不是。
我真正喜欢的,是一个东西从无到有被搭起来的过程。
是一个功能终于跑通的那一刻。
是性能优化之后,页面加载快了一点。
是一个复杂流程被整理清楚之后,系统突然变得更顺了。
是一个 bug 被定位出来之后,你终于明白“原来问题在这里”。
是你看着自己手上的东西像搭乐高一样,一块一块拼起来,最后变成一个真正能用的产品。
这种感觉很像小时候搭玩具。
你不是因为喜欢每一块塑料积木本身,才去搭一个城堡。
你喜欢的是那个城堡一点点成型的过程。
你喜欢的是“这是我搭出来的”那种反馈。
软件工程也是一样。
代码只是材料。
系统才是作品。
而 AI 现在正在替我们处理的,恰恰是很多最像“搬积木”的部分。
它可以帮我们写重复代码。
可以帮我们生成类型定义。
可以帮我们补测试。
可以帮我们解释 API。
可以帮我们从文档里提取重点。
可以帮我们把一个模糊想法快速变成一个可运行的原型。
这些事情重要吗?重要。
但它们不一定是我们最热爱的部分。
很多时候,它们只是我们为了抵达创造本身而必须经过的琐碎步骤。
AI 拿走的,可能是痛苦,而不是快乐
我知道“写代码很痛苦”这句话听起来可能有点冒犯。
毕竟我们都是靠写代码吃饭的人。
但如果你把现在和几年前对比,你会发现很多过去我们习以为常的痛苦,确实正在消失。
以前你要接一个陌生库,可能要翻半天文档。
现在你可以直接让 AI 总结用法,再给你一个例子。
以前你要写一堆重复的 CRUD、DTO、mapper、validation。
现在 AI 可以帮你生成大半。
以前你遇到一个不熟悉的错误,要在 Stack Overflow、GitHub issue 和官方文档之间来回找。
现在 AI 可以先给你一个大概方向,至少帮你缩小排查范围。
以前你有一个想法,可能要花一整天搭初版。
现在可能一个小时就能跑起来。
这不是坏事。
这意味着我们可以更频繁地接触到工程里真正让人兴奋的部分:
设计。
验证。
迭代。
调试。
取舍。
创造。
AI 让很多底层的、重复的、机械的工作变得更便宜了。于是工程师能把更多精力放在“我要构建什么”以及“这个东西是否真的解决问题”上。
对真正喜欢构建东西的人来说,这不是失去工作乐趣。
这是工作乐趣被放大了。
以前,你可能要写三天重复代码,才能看到一个功能成型。
现在,你可能半天就能看到它跑起来。
以前,快乐出现得慢。
现在,反馈来得更快。
如果你热爱的是真正的构建过程,那么 AI 给你的不是更少的快乐,而是更高频率的快乐。
AI 没有“想把东西做出来”的冲动
这里还有一个很重要的区别。
人和 AI 最大的不同,不只是推理能力、上下文长度、代码质量。
还有动机。
人会对自己正在做的东西产生兴趣。
人会因为一个产品变好而兴奋。
人会因为一个系统终于跑通而获得成就感。
人会在下班之后还想着:“这个地方是不是还能再优化一下?”
人会因为用户真的用上了自己做的东西而开心。
这些东西背后是非常人类的奖励机制。
多巴胺也好,成就感也好,创造欲也好,本质上都是人类继续构建东西的动力。
但 AI 没有这个东西。
至少从我目前的观察来看,AI 不会主动对任务之外的东西感兴趣。
你让它写一个函数,它就写一个函数。
你让它解释一个错误,它就解释一个错误。
你让它生成一个组件,它就生成一个组件。
但它不会真的在意这个产品有没有变好。
它不会因为一个功能更顺而兴奋。
它不会因为一个用户体验被改善而感到满足。
它也不会在半夜突然想到:“我知道这个 bug 为什么会发生了。”
AI 可以模拟很多表达,但它没有那种内在冲动。
而软件工程从来不只是执行任务。
它还包括判断什么值得做,什么不值得做。
包括理解用户真正想要什么。
包括在一堆不完美的约束里做取舍。
包括对一个系统长期负责。
包括你真的想把它变好。
这些东西,很难只靠“生成代码”来替代。
那些因为 AI 离开行业的人,我其实有点不理解
我看到过一些人说,因为 AI 的出现,他们觉得自己的技术不再有价值,所以选择离开软件行业。
我能理解这种情绪。
如果你过去的自我价值主要来自于“我能写别人写不出来的代码”,那 AI 的出现确实会带来很大的冲击。
但我想问的是:
你现在获得的快乐真的比以前更少了吗?
如果你真正喜欢的是构建东西,那现在不是应该更有趣吗?
你可以更快验证想法。
你可以更快做出原型。
你可以更快跨过陌生技术的门槛。
你可以把过去不敢碰的领域拿起来试试。
你可以一个人完成以前需要几个人才能推进的事情。
这不应该是工程师最兴奋的时代吗?
当然,前提是你喜欢的是创造,而不只是某种旧时代的稀缺性。
如果一个人的价值感只来自于“我掌握了某种别人不会的语法、框架、配置和套路”,那 AI 确实会让这种优势变弱。
但如果你的价值感来自于“我能把复杂问题拆开,把东西做出来,并且让它变得更好”,那 AI 只会让你的杠杆更大。
人类的需求不会因为生产力提高而减少
还有一个经常被忽略的问题:
生产力提高之后,人类真的会需要更少东西吗?
历史上看,答案往往不是。
人类的本质是贪婪的。这里的“贪婪”不是贬义,而是说:当一个需求被更快、更便宜地满足之后,人类通常不会停下来,而是会产生更多新的需求。
我们当然不知道未来具体会长什么样。
但如果回头看历史,你会发现,人类对“快乐”和“需求”的想象力,总是会被当时的生产力限制住。
在古代,一个普通人最朴素的快乐,可能是吃饱肚子,在太阳底下休息一会儿,或者去河里游个泳。
这已经很好了。
但他大概永远想不到,几百年后的人类会拿着一块像砖头一样的发光屏幕,躺在沙发上,靠手指上下滑动短视频来获得快乐。
这件事对古人来说可能完全无法理解。
不是因为他们不聪明,而是因为那个时代还没有这样的技术条件,也就没有这样的需求形态。
技术并不是单纯满足已有需求。
很多时候,技术会创造出人们以前根本想象不到的新需求。
当一种快乐变得更容易获得,人类不会停止在原地。
我们会立刻开始寻找下一种快乐、下一种便利、下一种刺激、下一种更个性化的体验。
所以我不太相信“AI 让软件更容易生产之后,人类就不需要那么多软件了”。
恰恰相反。
当软件变得更便宜、更快、更容易被构建出来,我们很可能会发现大量过去根本不值得被软件化的场景,突然都变得值得了。
这也是为什么我认为,想象未来需求这件事,必须由人来完成,而不是 AI。
因为 AI 很擅长在已有目标下给出路径。
但它不会天然跳出当前时代的需求边界,替人类发明一种全新的快乐。
想象一下,如果你在古代对 AI 说:
“我想要快乐。我想吃一个面包。”
AI 大概率会告诉你怎么更快获得面包。
它可能会建议你怎么种小麦,怎么磨面粉,怎么改进烤炉,怎么让面包更容易保存。
这些都很有用。
但它不会突然告诉你:
“你其实可以创造一个手机,然后躺在床上刷短视频来获得快乐。”
因为这个需求不是从“更好地获得面包”自然推理出来的。
它来自人类在新的技术条件下不断膨胀的欲望、想象力和无聊感。
AI 可以优化一个已知目标。
但新的目标,往往是人类自己长出来的。
这就是为什么我不相信未来只需要 AI 来生成软件。
AI 可以帮我们更快抵达一个目标。
但“下一个目标是什么”,仍然需要人去感受、去想象、去定义。
以前人们可能只需要有衣服穿。
后来需要不同季节的衣服。
再后来需要不同场合的衣服。
再后来有了时尚、品牌、潮流、设计、功能性面料、运动服、礼服、户外装备。
纺织机提高了生产力,但它没有让服装需求消失。
相反,它让服装变得更便宜、更丰富,也让整个行业长出了更多分支。
软件也一样。
当软件变得更容易构建,人们不会说:“好了,我们需要的软件已经够了。”
他们只会开始想要更多。
更个性化的工具。
更细分的 SaaS。
更贴合自己工作流的自动化。
更好的数据分析。
更智能的界面。
更低成本的内部系统。
更多以前因为太贵而不值得做的小产品。
以前一个公司可能只愿意为核心业务做系统。
以后,当构建成本下降,很多边缘流程、内部流程、小众场景,也会变得值得被软件化。
这意味着什么?
意味着软件需求不会自然减少。
它很可能会膨胀。
因为当实现成本降低,人类的想象力和欲望会更快暴露出来。
真正懂人类需求的,仍然是人
AI 可以生成代码。
AI 可以生成界面。
AI 可以根据需求文档写实现。
但需求本身从哪里来?
它来自人。
来自用户的不满。
来自业务里的低效。
来自某个流程中反复出现的摩擦。
来自一个人突然觉得:“这个东西不应该这么麻烦。”
来自工程师、设计师、产品经理、用户之间不断碰撞出的想法。
AI 可以帮助实现需求,但它不会天然产生人类的贪婪。
它不会自己因为某个工具不好用而烦躁。
它不会自己因为一个流程太慢而失去耐心。
它不会因为一个产品体验很烂而想重做一遍。
它不会因为“我就是想要一个更适合我的东西”而产生冲动。
这些冲动是人的。
而软件工程的起点,很多时候就是这些冲动。
所以我不认为未来只需要 AI 和少数检查员。
我认为未来会有更多人想要更多软件。
而把这些需求变成真实系统的人,仍然会是工程师。
只是工程师的工作方式会变。
短期阵痛是真的,但长期需求也是真的
当然,我不想把这个问题说得太轻松。
AI 确实会带来冲击。
一些重复性的岗位会减少。
一些只依赖模板化实现的工作会被压缩。
一些公司会认为可以用更少的人做同样的事情。
junior 工程师的入门门槛可能会变高。
senior 工程师也不能再只依靠过去经验躺在职位上。
这些都是真的。
现在很多公司裁员,也是真的。
但每一次技术变革都会经历这样的阶段。
一开始,新工具会让企业觉得:“我们是不是可以少雇一些人?”
然后过一段时间,他们会发现:“既然生产力提高了,那我们是不是可以做更多东西?”
当需求重新膨胀,岗位会以新的形式回来。
可能不再是以前那种只写单一模块的工程师。
可能不再是只做简单 CRUD 的工程师。
可能不再是只等任务分配的工程师。
但会需要更多能把 AI 当作工具、能理解系统、能理解用户、能做判断、能把想法变成产品的人。
我甚至愿意做一个大胆的预测:
现在一些公司正在削减工程团队,但未来很多公司会重新招人。
不是因为 AI 失败了。
而是因为 AI 成功了。
因为 AI 让构建成本下降,而成本下降会创造更多需求。
更多需求最终还是需要人来理解、组织、判断和交付。
AI 会替代什么样的工程师?
所以,AI 到底会替代谁?
我觉得它会替代一部分工作方式,而不是简单替代某个 title。
如果一个工程师的价值只来自于重复实现,那么危险。
如果一个工程师只会等需求、写代码、交付 ticket,不关心系统和产品,那么危险。
如果一个工程师不愿意学习新工具,还坚持用过去的效率面对未来的竞争,那么危险。
但如果一个工程师真的喜欢构建东西,喜欢理解问题,喜欢优化系统,喜欢把一个模糊想法变成真实产品,那 AI 反而会增强他。
因为这种工程师最需要的不是保护旧工作方式。
他们需要的是更强的工具。
AI 正好是这样的工具。
它把一些最慢、最重复、最琐碎的部分压缩掉,让工程师更快进入创造和判断的部分。
这不是替代。
这是放大。
最后
AI 是否会替代软件工程师,这个问题一定还会被反复讨论。
每一次模型变强,类似的焦虑就会再来一次。
我不想假装没有风险。
也不想说所有工程师都绝对安全。
行业会变化。
岗位会变化。
门槛会变化。
公司对个人产出的期待也会变化。
但我不相信 AI 会杀死软件工程师这个职业。
因为软件工程师真正做的事情,从来不只是写代码。
我们是在理解问题。
是在拆解复杂性。
是在做判断。
是在构建系统。
是在把一个想法一点点变成现实。
而 AI 正在替代的,恰恰是这个过程中很多最重复、最机械、最让人痛苦的部分。
如果你热爱的只是“我会写某种代码,所以我有价值”,那 AI 确实会让你不安。
但如果你热爱的是把东西做出来,是看着系统一点点成型,是那种像搭乐高一样的创造感,那么 AI 不会拿走你的乐趣。
它会让这种乐趣来得更快、更频繁。
所以我最后的观点很简单:
AI 不会杀死软件工程师。
它只会杀死我们最讨厌的那部分工作。
而对真正喜欢构建东西的人来说,这可能不是坏消息。
这可能是我们等了很久的好消息。