摘要
1) 一句话总结 作者认为 AI 的进步不会替代程序员,而是促使软件工程师的技能重心从单纯写代码转向利用 AI 工具解决核心需求,计算机科学(CS)专业依然具有极大的发展前景。
2) 核心要点
- Devin 等 AI 编程工具的出现引发了行业焦虑,但软件工程的范畴远大于写代码,代码并非最重要的一环。
- 程序员大量时间消耗在需求变更、语言/框架/API升级、环境适配等低价值工作上,AI 代劳可释放人力去做更有价值的事。
- 软件工程的真正价值在于洞察并解决客户需求的本质问题(如发明汽车而非让马车跑得更快)。
- AI 的发展延续了 CS 专业的黄金时代,美国大学 CS 和 AI 专业报考依然火爆。
- AI 与现实世界连接的环节依然需要 CS 专业人士来完成。
- 未来软件工程师的技能需求将发生转变,核心工具将从编程语言和 IDE 变为 AI 模型和提示词。
- 程序员无需改行,应将 AI 视为工具,学习如何使用 AI 甚至结合编程创造新工具来解决实际问题。
- 善用 AI 不仅不会被替代,反而能像“老板管理优秀员工”一样放大自身的个体价值。
3) 风险/缺口
- 程序员如果不学习新的知识(如掌握 AI 工具),未来可能会难以跟上时代。
正文
昨天 Devin 的大火,像一个 AI 程序员,能独立完成一些编程任务。这又引发了很多程序员是不是要被 AI 替代的讨论和焦虑。以至于很多人都在说:既然 AI 写代码能力越来越强了,还要不要学习 CS?要不要改行?
我之前写的这篇《为啥很多人觉得编程难学?》文章中表达了一个观点:软件工程从来不只是写代码,代码只是软件工程中众多环节中的一环,甚至不是最重要的一环。
如果有一天 AI 能帮我们写代码,那真的太好了,这意味着我们可以去做更有价值的事,写代码这事其实没有想象的那么有价值,因为我们大部分时间消耗在需求的频繁变更;语言、框架和 API 升级;各种环境适配这些没意义的事情上。
软件工程中真正有价值的在于解决需求的本质问题:比如当客户嫌马车不够快时,发明和创造出来汽车而不仅仅是让马车跑的更快,至于这辆汽车是手工焊接打造还是机器人自动化打造的没有关系。
回归到个体,既然 AI 写代码能力越来越强了,还要不要学习 CS?要不要改行?
我倒觉得感谢 AI,让 CS 的黄金年代能得以继续延续,所以美国大学报考,CS 专业尤其是 AI 专业,甚至比以前更火爆了。当未来 AI 吞噬世界的时候,最需要的恰恰是 CS 相关的知识,毕竟 AI 和现实世界连接的部分,还是需要专业人士来完成。只是未来对于软件工程师所需要的技能会发生变化,也许未来软件工程师打交道最多的不是各种编程语言和 IDE,而是各种 AI 模型和提示词。
所以选 CS 专业没什么问题,程序员也不见得要改行,但不学习新的知识,未来可能会难以跟上时代。
至于学什么?如果把编程语言比喻成工具,那么我们学习编程本质上就是学习使用工具。AI 也是工具,我们要学的就是如何使用 AI 工具,甚至于借助编程和 AI 创造出新的工具。
但仅仅学会工具还不够,能借助工具解决问题才是根本,学习如何去借助这些工具解决问题:完成工作任务,解决客户需求,解决自己的各种问题。
当 AI 能为你所用,不仅不用担心被 AI 替代,反而你自身的价值会更大。换一个角度,把自己想象成老板,把 AI 想象成员工,好的老板会担心被员工替代吗?不会,他们巴不得自己的优秀员工越多越好!