长期以来,软件行业之所以能够提供庞大的就业规模,与软件开发的特殊性有关。软件系统虽然抽象,但实现过程往往依赖大量人工编码,因此行业形成了一种典型结构:少量系统设计者,大量代码实现者。
在这种结构下,大部分程序员的工作是:
-
将需求转化为代码
-
维护和修改已有系统
-
使用框架实现业务逻辑
因此,行业真正培养出来的大规模技能并不是系统设计能力,而是:框架使用、业务实现、代码维护。
换句话说,行业结构塑造了程序员群体的技能结构。
业务代码的悖论
在企业视角中,业务代码往往是最核心的资产。它包括:商业规则、行业知识、用户需求。
这些逻辑直接决定公司的产品能力和盈利模式。
然而,从程序员个人职业发展的角度来看,业务代码却存在一个悖论:
对公司而言,业务代码是核心价值;
对程序员而言,业务代码往往是高风险技能。
原因在于业务代码通常具有以下特征:
-
技术结构高度模式化
-
强依赖具体公司业务
-
技能迁移性较低
一个工程师在某公司积累的业务经验,往往很难在另一行业复用。
AI Agent带来的变化
AI Agent的出现,使软件开发的生产方式正在发生改变。
传统开发流程大致是:
需求 → 程序员编写代码 → 测试与维护
而在 AI 辅助开发环境中,流程逐渐变成:
需求 → AI生成代码 → 人类检查与修正
大部分程序员的角色从"代码生产者"逐渐变成"AI协作者 ",最终成为"代码质检员 "。
如果自动化流水线逐渐成熟,对人工编码的需求很可能明显下降。
行业结构可能发生的变化
过去的软件行业结构大致是:
系统设计者 少量
架构工程师 少量
业务开发者 大量
在高度自动化的环境下,结构可能变为:
系统设计者 少量
平台工程师 少量
AI协作工程师 中等
代码质检员 少量
大量原本负责实现业务代码的岗位可能被压缩。
技术革命中的行业重组
历史上的技术革命往往会出现类似现象。
在工业革命时期,自动纺织机极大提高了生产效率,但也导致大量传统纺织工人失业。
新的岗位确实出现了,例如:
-
机械设计
-
设备制造
-
工厂维护
但这些技能与传统纺织技能并不直接相关。这些岗位往往被归类为:
机械工业
设备工业
而不是传统的纺织行业。
从统计意义上看:纺织业本身的就业规模确实缩小了。
类似的情况也可能发生在软件行业。
当软件开发高度自动化后,新的岗位可能更多集中在:
系统架构
AI系统工程
复杂平台开发
跨领域工程
(只是简单推测),这些岗位所需的能力,与大量程序员原本积累的业务开发经验之间,并不总是直接对应。
软件工程能力的分化
在这种变化中,程序员的能力结构可能逐渐分化为两类:
实现型技能
框架使用
业务逻辑实现
CRUD开发
系统型技能
抽象能力
系统建模
架构设计
复杂系统调试
AI 更容易替代前者,而后者仍然具有较高的稀缺性。
一个可能的未来
AI Agent 不一定意味着软件工作的消失,但很可能意味着软件行业结构的重组。
在新的结构中,大量负责实现业务代码的岗位可能减少,而系统设计、平台工程和复杂系统开发等岗位仍然存在,但数量相对有限。
与此同时,软件能力本身会继续扩散,并成为越来越多行业的基础能力。从机器人系统到工业自动化,再到 AI 基础设施,软件将继续深入各种技术领域。
但这些岗位未必再被归类为传统的软件开发行业。
总结
从更宏观的角度看,技术革命往往不会简单地替代某种工具,而是改变整个行业结构。
自动化首先改变生产方式,生产方式改变行业结构,而行业结构最终决定了技能结构。
因此,在 AI 时代,软件工程师真正需要思考的问题或许不是"AI 是否会取代程序员",而是:
当行业结构发生变化时,哪些能力仍然稀缺。