Hacker News上一篇167分的文章引发了广泛讨论:AI对程序员工作的影响,和十年前JavaScript框架对前端开发的影响如出一辙。作者用”去技能化”(deskilling)的概念来分析这两个过程,得出了一个令人不安但又不得不面对的结论。
什么是”去技能化”
去技能化(deskilling)是一个经济学概念,指的是通过引入新技术,将原本需要高技能工人完成的工作,变成半熟练或非熟练工人也能完成的工作。这会为企业节省成本,但对从业者来说意味着技能贬值。
这个概念最早用来描述工业革命时期手工匠人被流水线工人取代的过程。现在,它正在软件行业重演。
前端开发的”失去的十年”
很多程序员可能不知道,前端开发曾经是一项高度专业化的技能。一个合格的前端开发者需要掌握语义化HTML、CSS的各种布局方式和浏览器兼容性、无障碍访问(accessibility)、渐进式增强、性能优化、各种浏览器的差异和hack。
然后JavaScript框架出现了。它们把浏览器当作一个”编译目标”——就像JVM或iOS一样。开发者不再需要了解浏览器的底层机制,只需要写框架代码,框架会帮你处理浏览器差异。
结果是什么?企业可以用更低的成本让”全栈开发者”来处理前端工作,而不需要专门的前端专家。前端开发者的专业技能被”去技能化”了。
作者自述从HTML/CSS/PHP起步,后来做Ruby on Rails,见证了这个过程。他感受到的不只是技术变化,更是一种”技能被贬值”的失落感。
AI正在对整个编程行业做同样的事
现在AI编程工具(Copilot、Claude Code、Cursor等)正在对整个软件开发行业做十年前框架对前端做的事:
手写代码正在被”消除”——就像框架消除了手写浏览器兼容代码的需求一样,AI正在消除手写算法、数据结构、甚至业务逻辑的需求。
技能要求在降低——以前需要多年经验才能写出的代码,现在一个新手用AI工具也能生成。这降低了入行门槛,但也降低了资深开发者的价值。
全栈化趋势加速——以前是”前端框架让后端能做前端”,现在是”AI让非程序员也能写代码”。去技能化的范围在扩大。
抽象层次的提升
另一种看待这个问题的方式是”抽象层次的提升”。每一代技术都在更高的抽象层次上工作:汇编语言到高级语言(C、Java),手写前端到JavaScript框架,手写代码到AI生成代码。
每一层抽象都让我们能专注于更重要的事情,但同时也意味着我们不再需要掌握底层细节。问题是:当抽象层次提升后,我们真的在做”更重要的事”,还是只是在做”不同的事”?
作者指出,抽象通常以性能为代价。但因为计算机很快,我们往往愿意用运行时性能换取开发效率。这个权衡在很多场景下是合理的,但在AI编程中,这个权衡可能不那么清晰——AI生成的代码质量和性能都不如手写代码。
对站长和开发者的启示
不要抗拒变化,但要理解变化:去技能化是技术进步的必然结果。与其抗拒,不如理解这个过程,找到自己在新格局中的定位。
关注”上层”技能:当底层技能被自动化后,上层技能变得更重要。系统设计、需求分析、产品思维、团队管理——这些是AI短期内难以替代的。
保持对底层的理解:虽然不需要手写每一行代码,但理解底层原理能让你更好地判断AI生成的代码是否合理。就像前端开发者虽然用框架,但理解浏览器原理的人能写出更好的代码。
适应新的工作方式:AI编程不是”用AI替代人”,而是”人+AI”的协作模式。学会有效地使用AI工具,比抗拒它更有价值。
接受不确定性:作者承认,我们还不知道最终的平衡点在哪里——需要什么技能、什么价位。这和百年前工匠被流水线取代时一样,转型期是痛苦的,但最终会达到新的平衡。
最后的思考
文章最触动人的部分是这段话:”就像百年前被流水线取代的工匠一样,我们感受到一种深深的失落。我们为一项花了一半职业生涯磨练的技能正在被贬值而感到悲伤。”
这种情感是真实的,也是合理的。技术进步不意味着个人价值的丧失。每个时代都有属于那个时代的机会,关键是在变化中找到自己的位置。
本文参考来源:Is AI causing a repeat of Frontend’s Lost Decade? | HN讨论(167分)
















暂无评论内容