AI时代,程序员会消失吗?真正被重写的,是这个职业的价值

0 阅读8分钟

大量程序员岗位正在消失

AI不用完全取代程序员,就足以让大量程序员岗位消失。

这句话听起来有些矛盾。程序员明明还在,岗位怎么会消失?

假设过去做一个项目需要十个人:有人负责页面,有人写接口,有人补测试,还有人整理文档、排查日志和修复Bug。

现在,这些工作有相当一部分可以先交给Agent。最后可能只需要三四个人负责拆解需求、检查代码和处理复杂问题。

AI没有独立完成整个项目,也没有取代所有程序员。

但原来十个人的团队,可能不再需要十个人了。

当然,这里有一个前提:公司的业务量没有同时增长几倍。如果要做的项目数量差不多,一个人的产能却明显提高,企业自然会重新计算团队需要多少人。

所以真正值得讨论的,不是AI什么时候能够独立开发一个完整软件,而是当一个程序员可以带着多个Agent工作,公司还需要多少程序员。

“程序员这个职业还在”和“市场上还有原来那么多岗位”,是两件完全不同的事。

AI最先接管的,恰好是程序员的基础工作

按照设计稿完成一个页面,给接口增加两个字段,为旧代码补上测试,再根据日志修复一个问题。

这类工作有几个共同点:输入相对清楚,结果容易检查,失败后可以反复重试。

它们天然适合先交给Agent。

企业也不需要等到AI百分之百可靠,才开始减少一部分重复岗位的招聘。人写代码同样会出错。企业最终比较的是:一个工程师检查五个Agent的结果,会不会比五个工程师亲手完成更便宜?

AI不需要超过最优秀的程序员。它只需要让一个优秀程序员完成过去几个人的工作,就足以改变公司的用人方式。

但事情并不全是悲观的。

AI会让很多过去不值得开发的小产品变得可行。以前需要完整团队才能启动的项目,以后两三个人可能就能做出第一版。

软件会越来越多,小团队也会变得更强。

问题在于,软件需求的增长速度,能不能跑赢程序员人均产能的增长速度。

如果一个程序员的产能提高了三倍,而市场上的软件需求只增长了百分之五十,那么即使软件数量增加了,岗位也未必会同比增加。

软件越来越多,并不必然意味着程序员岗位越来越多。

新人真正的困境,是训练场正在消失

更麻烦的问题,其实不是今天会减少多少岗位,而是新人以后怎么进入这个行业,又怎么成长。

高级工程师并不是一毕业就会设计复杂系统。他们通常也是从改按钮、写接口、补测试、修Bug开始的。

这些看起来技术含量不高的工作,恰恰是过去程序员的训练场。

一个新人会在这些任务里第一次遇到真实的软件问题:

为什么一个字段不能随便修改?

为什么测试全部通过了,功能还是不能上线?

为什么一个很小的Bug,最后会影响整条业务流程?

过去,公司会让新人从这些工作开始。新人犯一些成本可控的错误,再从代码评审、返工和线上问题中慢慢建立判断力。

可这些基础工作,恰好也是最容易交给AI的。

于是一个悖论出现了:初级岗位减少了,企业对新人的要求反而提高了。

公司希望刚入行的人已经会拆需求、看架构、判断风险,最好还能管理Agent。

但很多工程判断,只有真的改坏过、返工过,甚至扛过一次线上事故以后,才会慢慢长出来。看几套教程,很难补上这个过程。

如果新人只是让AI代写作业、代写项目,最后很可能出现一种错觉:作品越来越像高手做的,人却没有真正成长起来。

新人需要主动把训练场搭回来

对新人来说,出路既不是拒绝AI,也不是把“会写提示词”当成新的编程能力。

更现实的办法,是主动给自己创造完整的工程经历。

与其做十个只能运行的Demo,不如完整做完一个产品。从需求分析、开发和测试,一直做到部署、监控和故障修复。

AI生成的代码要认真阅读,边界情况要自己测试,关键设计要能够解释。有机会就参加开源项目,或者进入真实的团队协作。

真正需要证明的,不是你能让AI生成多少代码,而是它写错了你能发现,系统坏了你能定位,需求说不清时你知道继续问什么。

这也是AI时代新人最大的门槛:过去公司提供训练场,未来很多人可能要先自己证明,自己有能力完成训练。

可这又产生了一个行业问题。

如果公司不愿意承担培养新人的成本,却只想招聘能够设计系统、判断风险、管理Agent的高级工程师,那么未来的高级工程师从哪里来?

每家公司都想要高级工程师,却没有公司愿意培养高级工程师。

资深程序员也无法独善其身

新人面对的是入口变窄,资深程序员面对的,则是过去的一部分优势正在被重新定价。

这并不意味着所有经验都在贬值。

记住更多接口、熟悉某个框架、知道文档放在哪里,这类信息优势过去能够形成明显的溢价。

现在AI可以查询文档、阅读代码库、解释陌生模块,甚至给出迁移方案。企业自然不太愿意继续为单纯的信息差支付原来的价格。

资历越高,薪资成本通常也越高。如果一个资深程序员提供的仍然只是更熟练的局部实现,他面对的成本压力可能比新人更大。

但另一类经验依然重要。

一套旧系统为什么会留下这些奇怪设计?某个看似多余的流程曾经防住过什么事故?哪些业务指标绝对不能碰?一次系统故障发生时,应该先保住什么,又可以暂时放弃什么?

这些东西,AI把代码读一遍未必就能知道。

真正保值的不是工作年限本身,而是工作年限有没有转化成处理复杂现实的能力。

需求说不清时,能不能找到关键矛盾?

AI修改了核心模块,敢不敢批准合并?

系统真的出事时,能不能判断影响范围、快速止损,并把它救回来?

AI正在降低信息和代码的价格,但没有消除判断、取舍和责任的价值。

程序员的工作,会更像一条人机生产线

未来的软件开发,可能会形成一种新的协作方式。

Agent先生成代码,测试、类型检查和安全扫描拦截明显问题,最后由人决定它能不能上线,以及出了问题应该怎么办。

程序员未必还要亲手完成每一行代码,但必须知道正在做什么,哪些结果可以相信,哪些地方绝对不能放过去。

比如用户提出一个需求:“给我增加一个AI搜索。”

只负责实现的人,可能会立即开始写代码。

更有经验的人会先问:用户究竟找不到什么?是搜索能力不够,还是原来的信息分类就有问题?

如果方向从一开始就是错的,AI只会帮助团队更快地把错误的东西做出来。

而且功能能够运行,不等于它能够上线。数据能不能发送出去?错误会造成什么损失?发生事故以后怎么回滚?

这些问题总要有人回答。

以后还要不要学编程?

答案仍然是要,只是学习编程的目的正在变化。

以前学习编程,主要是为了亲手写出代码。

以后学习编程,还要为了看懂系统、检查结果,并发现AI究竟错在了哪里。

AI降低的是生产代码的门槛,不是理解软件的门槛。

所以,AI时代,程序员会消失吗?

我不认为这个职业会突然消失。

但如果一个人只能接收明确任务、完成局部实现,他能够获得的机会一定会越来越少。

未来程序员的价值,更多会体现在两件事上:把模糊的问题变成能够落地的方案;在AI给出答案以后,知道哪些地方不能相信。

只是这个变化还留下了一个没有答案的问题:

如果最基础的工作都交给AI,未来的年轻人要在哪里犯错、在哪里积累经验,又要怎样成长为能够判断AI对错的人?