从纸带到AI:写代码这件事,从来都不是新鲜事
AI时代,软件开发者的角色该何去何从?
每隔几个月,科技圈就会冒出一篇文章:"AI要来抢程序员的饭碗了。"
然后呢?然后什么都没发生。
不是我敷衍,而是这出戏实在上演太多遍了。每次的口号不同,但剧本一模一样。真正的工程师们早就见怪不怪了——这种焦虑不新鲜,只是换了件新外套。
数据会说话
咱们来看看数字。
1935年,美国大概有2000个"计算器操作员"。1965年,变成了8万名程序员。1995年,这个数字涨到50万。现在?超过250万软件开发者。
机器代替人工说了几十年,这个行业不仅没萎缩,反而爆炸式增长。
真正变化的不是"会不会写代码",而是"怎么写"和"为什么写"。
那个"硬骨头"在搬家
有个现象挺有意思:每隔十年,就有人说软件开发里最难的部分已经被解决了。
- 编译器让汇编语言变得平易近人
- 高级语言帮你管内存
- 框架把常用模式自动化了
- 现在AI连代码都帮你写了
每一次,瓶颈都往上游挪了一点。
早年间,程序员得精通硬件架构,脑子里装着复杂的状态流转,跟编译器"对话"流利——那是核心竞争力。现在呢?这些东西当然有用,但已经成了"入场券",不再是加分项。
现在开发者大部分时间在干嘛?
- 搞清楚要做什么(需求理解)
- 确保它真的能用,还得为它负责(验证与责任)
- 维护那些把业务场景和技术实现串起来的隐性知识
听起来耳熟?没错,这些从来就存在。只是现在"执行层"越来越容易被外包出去了,我们才更清楚地看见它。
起重机理论
研究员Arvind Narayanan和Sayash Kapoor有个观察,我觉得很有启发性:AI压缩了开发的"执行层"之后,开发者的角色越来越像工地上的起重机操作员。
想想看。现代工地设备相当复杂。起重机操作员不是自己扛东西,而是操控一台强力的机器去做苦力活。真正的本事不是体力,而是知道抬什么、放哪里、怎么跟整个工程配合。
同理,用AI辅助编程的开发者,不是疯狂敲代码,而是指挥智能工具、审查输出结果、把各个模块拼起来——更重要的是,决定这些模块应该是什么。
起重机没有消灭建筑工人。它改变了建筑业的样子,也让我们能盖更复杂的楼。AI对软件开发的影响,也会是这样。
代码从来都不是瓶颈
这里有个真相,在AI和程序员的讨论里经常被忽略:
写代码这件事,从来都不是最难的部分。
如果代码生成是核心难题,人类早就解决了。我们有强大的语言、丰富的库、几十年的经验积累。真正的瓶颈一直是:
决定做什么 —— 需求本身就模糊,各方利益不一致,好的方案往往需要对那些没法用技术语言表达的东西有理解。
验证和担责 —— 代码能跑,可能还是有bug。可能不安全、可能撑不住流量、可能跟现有系统不兼容。总得有人拍板说"这个可以上线"。
维护隐性知识 —— 代码库跟业务逻辑、用户习惯、组织特点纠缠在一起。这些上下文不会写在任何文档里,它们存在于资深开发者的脑子里。
AI写代码越来越溜,理解上下文也越来越强。但它没法搞定组织内部的政治斗争,没法在系统故障时承担法律责任,也没法解释"为什么这个业务规则存在"——因为那是十五年前某个人拍脑袋决定的。
那270个职业的启示
有个数据应该让所有AI乐观主义者谦虚一点:1950年美国人口普查里,有270种职业。其中真正被彻底自动化消灭的,只有一种——电梯操作员。
其他的呢?电报员、排版工人——被新技术改变或削弱了,但没有完全消失。取而代之的是,全新技术类别的工作冒了出来,而这些工作在之前根本不存在。
AI领域已经在发生同样的事。"AI工程师"、"提示词工程师"的需求爆发式增长。更隐秘的是,能够高效指挥AI工具的开发者,正在变得抢手。这些角色五年前根本不存在。
对你的团队意味着什么
如果你在创业或带技术团队,这里有个务实的建议:
AI时代最值钱的开发者,不一定是代码写得最多的那个。
他们具备的是:
- 能把"做什么、为什么做"讲清楚
- 深度理解业务,能做出靠谱的判断
- 知道怎么验证和适度信任AI生成的代码
- 能把零散的东西整合成完整的系统
- 维护那些让未来开发成为可能的隐性知识
这不意味着技术能力不重要。起重机操作员也得懂载荷极限、物理原理、工地协调。但力气活不再是核心了。
换个角度聊聊
说到这儿,我想从基础设施的角度补充几句。
这些年做域名和Hosting服务,我们亲眼看着运维的变化:从以前需要深度系统管理知识,到现在越来越多托管服务帮你搞定一切。以前跑个稳定的网站,得有个Unix高手坐镇。现在?点几下鼠标,全球分布的应用就上线了。
这个自动化没有消灭对基础设施 expertise 的需求——而是转化了它。现在值钱的是:知道用哪些托管服务、怎么设计能扩展的架构、什么时候需要深入到底层配置。
AI编程工具对软件开发来说,也是同样的演进。苦活累活自动化。判断和决策还是得人来做。
往前看
我们现在正处于一个激动人心又让人有点不安的过渡期。工具强大但不完美。工作流程还在摸索。用AI辅助编程的"最佳实践",至今仍在被发现中。
这恰恰说明了机会所在。
软件开发史上每次大转型——从汇编到高级语言,从单体到微服务,从本地部署到云端——过渡期都是混乱的。混乱就是机会藏身的地方。
真正能脱颖而出的开发者,不会是抗拒AI工具的那批人。他们会是那些摸索出如何有效指挥工具的人——那些积累判断力、业务 context 和协调能力的人。这些,AI复制不了。
代码会写得越来越自动化。
但那些有趣的问题——写什么代码、为什么写——始终会固执地、美丽地,属于人类。
你们团队的工作流有什么变化?在用AI编程助手吗?如果用了,你的时间分配实际上有什么不同?
评论区聊聊吧——我特别想听听这个演进在不同团队里是怎么上演的。