技能的萎缩:软件工程仍是一项终身职业吗?

几十年来,成为一名大师级软件工程师的路径一直很直接:你从事软件工程。编写代码、调试复杂系统以及与语法搏斗的行为,是学习的主要载体。在历史的一个幸运巧合中,工作本身充当了训练场,允许工程师将爱好转化为一份利润丰厚、终身的职业,技术技能随着时间的推移而不断积累。

然而,大语言模型 (LLMs) 的引入打破了这一反馈循环。我们正在进入一个时代,我们用来提高生产力的工具可能同时也是侵蚀我们专业知识的工具。这提出了一个挑衅性的问题:软件工程是否正在从一项终身职业转变为更类似于职业体育——一种高收入但寿命较短的职业,其特征是达到巅峰并随后衰退?

生产力与萎缩的悖论

短期效率与长期技能获取之间存在着日益增长的紧张关系。论点很简单:如果 AI 执行了编码的大部分繁重工作,工程师就不再参与真正掌握这门手艺所需的深度认知挣扎。这会导致技术萎缩的状态。

有些人认为这是抵制 AI 的理由。然而,正如 Sean Goedecke 指出的,这通常是一场注定失败的战斗。建筑工人的类比很有启发性:建筑工人必须搬运重物以保持高效,尽管这样做会随着时间的推移磨损他们的身体。他们不会为了保护健康而拒绝搬运重物;他们这样做是因为那是工作。同样,软件工程师可能被迫使用 AI 以保持竞争力,即使这意味着要用长期的认知深度来换取短期的生产力。

"Code Jockey" 与 软件工程师

讨论中一个反复出现的主题是编写代码工程化软件之间的区别。许多经验丰富的开发者认为,他们工作中“编码”的部分——在编辑器中实际输入字符的行为——仅代表了他们总价值的极小部分。

"我理解事物,然后应用我的能力来制定解决方案...那些仍然认为自己的工作是关于编写代码的开发者,未来也许将不再有工作。"

从这个角度来看,AI 并不是在取代工程师,而是在取代 "code jockey"。专业人士真正的护城河并非实现已知模式的能力,而是处理工作中模糊的、以人为中心方面的能力:将模糊的业务需求转化为技术规范,管理利益相关者,并运用高层级的架构判断力。

决定论差距

虽然“权力工具”的类比(将 AI 比作电钻或编译器)很常见,但一些批评者认为它从根本上是有缺陷的。编译器是决定论的;它每次都产生相同的结果。而 LLM 是概率性的。

这种区别至关重要,因为它表明“真正的护城河”实际上可能是手动编程的能力。当 AI 生成的解决方案微妙地错误或并非最优时,唯一能够修复它的人是那个没有让自己的技能萎缩的人。在这种观点下,通过手动代码“切入棘手之处”的能力仍然是一项不可或缺的技能,就像螺丝刀在电钻的世界里仍然有用一样。

为更短的职业生涯规划

如果职业运动员的类比成立,软件工程可能不再是一项保证的终身职业。我们可能会看到这样一个未来:初级工程师进入该领域,利用 AI 增强的生产力实现收入最大化,但发现自己缺乏转型为此前支撑资深工程师的高层级架构角色所需的深厚基础知识。

为了“进行相应的规划”,工程师可能需要将重心从纯粹的实现转向相邻的价值:

  • 领域专家知识: 对特定行业(例如,fintech、healthcare)的深厚知识,这是 AI 无法轻易复制的。
  • 产品意识: 理解什么应该被构建以及为什么,而不仅仅是如何
  • 系统品味: 对哪些架构会扩展,哪些会变成遗留系统的噩梦的直觉。
  • 有意为之的训练: 意识到技能维护不再是工作的一个副作用,而是必须通过侧边项目或严谨的学习来有意识地追求。

结论

关于 AI 是否让我们变得“更笨”或者仅仅是改变了我们智能的性质,仍然存在争议。然而,很明显,工作学习的巧合已经断裂了。该职业的未来很可能属于那些能够利用 AI 提高速度,同时保持驱动机器所需的批判性思维和手动操作熟练度的人。那些用 AI 取代其推理能力的人可能会发现自己的职业生涯寿命显著缩短;那些增强其推理能力的人可能会变得比以往任何时候都更强大。

Sources