土法炼钢兴趣小组的算法知识备份

程序员的身份危机:当代码不再是护城河

目录

上一篇从认知心理学角度分析了 AI 在替代什么。这篇讲一个更难面对的问题:当你的核心技能被 AI 部分替代时,你的职业身份会发生什么。

认识一个朋友,后端,写了五年 Java。不是那种混日子的——Spring 全家桶烂熟于胸,分布式事务的坑踩过一圈,团队里谁有技术问题都找他。他的自我认知很清晰:我是一个靠谱的后端工程师。

2024 年底,他的公司开始大规模推 Copilot。三个月后他跟我说了一句话:“我发现一个实习生加 Copilot,干活速度跟我差不多了。”

他难受的不是”实习生干活快”——他难受的是”那我这五年算什么”。

这不是个例。自动化对职业身份的冲击有几十年的研究。但程序员群体有一个特殊之处:他们是历史上最不相信自己会被自动化替代的群体。

一、身份依附

社会心理学里有一个概念叫 identity attachment(身份依附)。人对自己的职业身份的依附程度不同:

程序员群体的身份依附程度异常高。原因:

  1. 技术精英叙事。“10x engineer”、“coding ninja”、“hacker”——这些标签把编程从一个职业变成了一种身份。
  2. 高门槛强化认同。学编程很难,坚持下来的人天然形成了”我们 vs 他们”的群体认同。
  3. 创造者叙事。“我从无到有构建了一个系统”——这种创造感是很多程序员最深层的满足来源。

当 AI 能在 30 秒内生成你花三天写的代码时,受到威胁的不只是生产力——是”我是一个优秀工程师”这个叙事本身。

二、库伯勒-罗斯模型的技术版

面对技能被替代,人的心理反应模式和面对其他重大变化类似。不一定严格按顺序,但这五个阶段在技术社区里都观察得到:

否认 – “AI 写的代码质量太差了,不可能替代我”

是的,AI 写的并发代码只有 5% 生产可用(数据在这里)。但 AI 写的 CRUD 代码 80%+ 可以直接用。而大多数程序员的日常工作是 CRUD,不是无锁哈希表。

愤怒 – “这些 AI 公司在偷我们的代码来训练模型”

版权问题确实存在。但这个愤怒的底层情绪不是知识产权——是”我的价值正在被低估”。

谈判 – “AI 是工具,用好 AI 的程序员会替代不用的”

这是当前最流行的叙事。有一定道理,但它回避了一个问题:如果 AI 把基础编码的门槛降到接近零,那么”会用 AI 编码”不再是差异化能力——它是最低要求。

沮丧 – “学了十年的技能突然不值钱了”

一个花了 5 年精通 C++ 模板元编程的程序员,发现 AI 能秒生成他花一天写的 SFINAE 技巧。他的技能没有变——但市场对这个技能的定价变了。

接受 – “我的价值不在写代码本身”

少数人到达的阶段。他们重新定义了自己的职业身份:不是”写代码的人”,而是”解决问题的人”。代码是手段,不是目的。

三、匠人困境

Richard Sennett 在 《匠人》(The Craftsman, 2008) 里定义了一个核心张力:手艺(craft)和效率(efficiency)的对立。匠人追求的是”把事情做好本身的满足感”——不是为了更快、更便宜,而是为了”对”。

编程是少数在工业化时代仍然保留了手艺感的职业。写一段优雅的代码、设计一个干净的 API、把一个 O(n²) 优化到 O(n log n)——这些不是为了 KPI,是匠人本能。

AI 正在把编程从手艺推向工业化。就像 Sennett 观察到的:当生产效率成为唯一度量标准,手艺的内在价值就被边缘化了。你还是可以写优雅的代码——但如果 AI 用 30 秒生成的”丑但能用”的代码能过 code review,那你花两小时打磨出来的优雅值多少钱?

这就是匠人困境:你的骄傲,市场不买单了。

四、历史类比:自动化和手艺人

这不是第一次。

被替代者 替代技术 时间 结果
手工织布工 飞梭/动力织机 1760s 卢德运动 -> 纺织工厂工人
手工排版工 照排机/DTP 1970s 部分转型为平面设计师
电话接线员 自动交换机 1920s 完全消失
旅行社代理 在线预订 2000s 缩减 80%,高端定制存活

规律:

  1. 中间层被压缩。不是最高端和最低端被替代——是中间层。最高端的定制需求仍然需要人。最低端被完全自动化。
  2. 职业不消失,但重新定义。手工排版工消失了,但”排版”这个职能变成了平面设计的一部分。技能没有浪费——但附着在不同的职业身份上了。
  3. 转型最痛苦的是身份依附最高的群体。手工织布是一种”手艺”(craft),有强烈的身份认同。工厂织布是一份”工作”(job)。前者到后者的转变不只是技能转变——是自我认知的重建。

编程群体的身份依附极高。这意味着转型的心理成本也极高。

五、重建身份

回到那个 Java 朋友。后来怎样了?

半年后他想通了一件事:实习生加 Copilot 能匹配他的 CRUD 速度,但搞不定他真正值钱的能力——分布式事务出问题时的排查直觉、系统设计评审时一句话指出瓶颈、带新人时把一个复杂问题拆成三步讲清楚。这些不是”写代码”,但这些是他五年积累的真正产出。

心理学研究提示了几个有效的身份重建策略:

1. 把身份从”技能”升级到”元技能”

“我是一个优秀的 C++ 程序员” -> “我是一个能快速理解和设计复杂系统的人”。前者被 AI 削弱,后者被 AI 增强(AI 帮你更快地实现设计)。

2. 把创造感从”代码”转移到”系统”

“我从零写了这个服务器”的满足感 -> “我设计了这个系统的架构,AI 帮我实现了大部分代码”的满足感。产出没变(甚至更大了),但创造的层次变了。

3. 接受多重身份

你不只是”程序员”。你是问题解决者、系统思考者、团队协作者、技术决策者。编码能力是其中一项,不是全部。

六、不是安慰

以上不是鸡汤。是基于 Sennett 的手艺理论(Yale University Press, 2008)、Autor 的劳动经济学(JEP, 2015)和 Kubler-Ross 的哀伤模型(Macmillan, 1969)推导出来的分析框架。

底线:如果你今天的日常工作可以被 AI 在 30 秒内完成 80%,你有两个选择:

  1. 继续做这些工作,但效率提高 5 倍(用 AI 辅助),然后接受市场给这个效率重新定价。
  2. 把省出来的时间用在 AI 做不了的事情上(系统设计、性能分析、调试复杂 bug、技术决策),然后让市场给这些能力定价。

选 1 是谈判阶段。选 2 是接受阶段。

下一篇讲分化——哪些程序员会从 AI 中获益,哪些会被压缩。


延伸阅读:

参考资料:

  1. Sennett, R. (2008). The Craftsman. Yale University Press.
  2. Autor, D. (2015). Why Are There Still So Many Jobs? Journal of Economic Perspectives.
  3. Frey, C.B. & Osborne, M.A. (2017). The Future of Employment. Technological Forecasting and Social Change.
  4. Kubler-Ross, E. (1969). On Death and Dying. Macmillan.

数据和引用截至 2025-02。


By .