AI在编写代码方面的能力日益增强,引发了人们对程序员就业前景的担忧。然而,Anthropic的Boris Cherny认为,关键不在于职位本身,而在于个体在特定时刻所扮演的角色。
Boris Cherny,作为Claude Code的创造者,本人已经有六个月没有亲自编写代码了,这期间他所有的代码产出都由Claude Code完成。他曾预言,一年内“软件工程师”这一头衔将逐渐消失,取而代之的是更偏向“构建者”的角色。
Cherny在Lenny's Podcast上发表的观点,在四个月后于Platformer播客上得到了进一步的延伸。当被问及三年后工程师的数量时,他给出了一个出人意料的回答:虽然称谓可能改变,但实际从事编码和使用智能体工具的人数将是现在的100倍。
Cherny在X平台上进一步阐述了他的看法,他观察到工程、产品、设计和数据科学等职能正在融合,他所领导的Claude Code团队就体现了这一点,成员扮演着五种不同的角色,而非固定的岗位。
资深工程师Kun Chen对此表示,他倾向于不给人们贴上固定的“角色”标签,以免人们自我设限。他认为,一个人的角色应随着项目的进展而动态变化:在项目启动时是原型师和构建者,在细节出现时转变为清理者,项目成熟后则成为增长者和维护者。固守单一角色意味着可能无法全程参与项目。
Cherny完全赞同Kun Chen的观点,认为角色是会随着项目和时间不断演变的。他们都认识到,在软件开发领域,职位的界限正在模糊,个人的定位不再由头衔决定。Cherny的观点强调,衡量开发者的标准已从“你是什么岗位”转变为“你此刻在扮演哪种角色”。
这种变化不仅限于工程师。一位产品经理也表示,他所在的团队也出现了类似的情况,产品经理的角色已经与三年前大不相同。反之亦然,Anthropic在发布Fable 5后,有开发者被推向了产品经理的位置,关注点从代码的正确性转向了它是否在执行正确的任务。
Cherny在Claude Code团队中识别出了五种角色:
- 原型师(Prototyper):负责产生新想法,但多数不会被采纳。
- 构建者(Builder):将初步原型快速转化为可投入生产的产品和基础设施。
- 清理者(Sweeper):负责优化界面、简化代码、下线冗余功能和提升性能。
- 增长者(Grower):在产品成型后,通过打磨来提升其市场契合度。
- 维护者(Maintainer):确保成熟系统在扩张过程中保持安全、可靠和高效。
Cherny指出,许多人会同时承担2到3种角色,且这些角色与传统职位分类无关。例如,设计师、工程师、产品经理和数据科学家都可能分布在这五种角色中,个人的定位取决于其当前的工作内容。他还提出了角色组合的模式:新产品需要擅长1+2+3的角色,而成熟产品则依赖3+4+5的组合。
在开发者社区中,不同角色的受欢迎程度存在差异。原型师和构建者因其创新和创造性而备受青睐,常出现在招聘启事和简历中。相比之下,清理者这一角色往往被低估且招聘需求较少。
然而,AI编码的兴起正在改变这种格局。当AI能够快速生成原型和大量代码时,“冒点子”和“从零构建”的能力变得不再稀缺,而“收尾”和“纠错”的清理者角色则愈发关键。
AI在编码方面的优势在于能够快速生成原型和大量代码,这恰恰是AI最擅长且最先被接管的领域。尽管AI能够承担清理工作,但其无法承担清理的责任。最终的决策、错误识别和责任承担仍需人类完成。AI承担的“脏活累活”越多,能够拍板和收尾的清理者角色就越有价值。
AI带来的生产力提升体现在能够处理更多的工作,而非仅仅是“更快地完成同样的工作”。这意味着更多的功能上线、更多的代码提交和更多的实验。生成端的加速导致了“烂摊子”的同步增大,清理者的作用愈发凸显。
更值得注意的是,代码评审环节也正在被AI改变。据Business Insider报道,近半年内,未经人工评审直接进入生产环境的AI生成代码比例显著上升,并且这些代码的存活率更高。开发者越来越倾向于将整个流程交给AI处理,这使得隐藏在系统中的Bug、性能瓶颈和安全隐患最终需要有人来负责,而这正是清理者的职责所在。
生成环节的成本正在降低,而兜底环节的重要性则日益提升。正如开发者圈流传的一句话:“最好的工程师,并非写代码最快的那个,而是最清楚什么时候不该信AI的那个。”
AI在编码方面的能力覆盖了原型师和构建者等角色,但其覆盖程度是“不同程度”而非“全部取代”。职位和头衔正在融合,工作内容被重新组合成更细分的角色和任务。
Cherny强调,他所列出的五种角色不会消失,消失的是“软件工程师”这一传统职称。当AI承担了更多创意和框架构建的工作后,人类的角色将转向为AI收尾、发现其错误并承担最终责任。此外,人类的角色会随着项目不断转换,今天的清理者可能成为下一个项目的原型师。个人的身份由其当下所做的工作来定义。