当 Coding 不再是程序员的主要工作时,程序员真正创造价值的地方在哪里?

AI 正在改变软件开发的方式,但它并没有改变软件工程的本质。真正决定软件质量的,从来不是代码本身,而是在复杂约束下持续做出正确工程决策的能力。

引言

这是我思考了很久的一个问题。

很多人在讨论 AI 对程序员的影响时,往往站在工具的视角:Codex、更强的大模型、更好的 Agent、更长的 Context、更完善的 Harness Engineering……

这些当然重要,但它们更多回答的是 “代码将如何生成”

我尝试不用 AI 的视角,而是站在软件工程发展史的角度去回答。

因为只有放在历史长河里,才能看清楚哪些东西是短期变化,哪些东西是长期不变。

先说我的结论

未来程序员创造价值的地方,不是 Coding,而是决策(Decision)。

这里的"决策",并不是管理学意义上的决策,而是在复杂约束下,对软件系统进行持续权衡与取舍的能力。

整个软件开发,本质上是在不断做决策。

软件开发的发展,本质上一直在降低 Coding 的比重

如果回顾软件的发展史,你会发现一个很有意思的规律。

每一次技术革命,都在降低程序员亲自编写代码的比例。
在这里插入图片描述

第一阶段:机器语言时代

在机器语言时代,程序员直接操作二进制指令。

几乎所有价值,都来自于"会写代码"。

因为只有人能够完成这项工作。

第二阶段:高级语言时代

随后出现了 C、C++、Java、Python 等高级语言。

程序员开始不用关心寄存器、指令集和内存地址。价值开始变成:算法与数据结构。

Coding 的成本下降了一大截。

第三阶段:框架时代

Spring、Hibernate、MyBatis、React、Vue …

程序员已经不用自己写:HTTP、ORM、IOC、生命周期。

开始变成:业务实现。Coding 再次被抽象。

第四阶段:云时代

Kubernetes、Docker、Serverless 程序员甚至不用部署,基础设施继续自动化。

第五阶段:AI时代

AI开始生成:Controller、Service、SQL、Test、API。Coding第一次开始自动化。

注意:这是第一次。

以前只是:降低 Coding 的复杂度。 今天是:降低 Coding 本身。

这是质变。

那程序员到底还剩什么?

很多人会回答:

  • 架构。
  • 业务。
  • 沟通。

这些都对。

但是我觉得,它们还有一个共同的本质。

叫:Decision(决策)。

软件开发,本质其实是一连串决策

在这里插入图片描述

举个例子。

开发一个订单系统。真正的工作不是:

public void createOrder(){}

真正困难的是:

  • 订单应该拆几个模块?
  • 库存什么时候扣?
  • 支付失败怎么办?
  • 事务怎么做?
  • 同步还是异步?
  • 消息队列要不要加?
  • 数据库怎么分?
  • 一致性做到什么程度?
  • 性能优先还是一致性优先?

有没有发现?

整个过程中。几乎没有一个问题是:Java 语法。

全部都是:工程决策。

为什么AI现在不能完全替代程序员?

在这里插入图片描述

很多人说:

  • AI容易幻觉。
  • AI上下文不够。
  • Context不完整。
  • Harness还不成熟。

但我觉得:即使十年以后。这些问题都会越来越小。真正的问题仍然存在。

因为:软件开发没有标准答案。

在这里插入图片描述

AI可以生成方案,但不能替你承担决策

未来AI可能会说:

  • 方案A:一致性最好。
  • 方案B:性能最高。
  • 方案C:成本最低。
  • 方案D:开发最快。

那么最终选择哪一个?AI可以推荐。但是,真正负责的人,仍然是程序员。

因为:决策意味着承担后果。而责任,无法自动化。

所以未来程序员最大的能力,不再是Coding,而是Decision

Decision来自哪里?

我认为来自五种能力。

  1. 理解问题(Understand)

很多需求,真正的问题。并不是PRD写出来的那个问题。

优秀程序员首先会问:

  • 为什么要做?
  • 真正要解决什么问题?
  • 用户真正的痛点在哪里?

问题理解错了,后续所有工作都可能失去意义。

  1. 抽象问题(Abstraction)

现实世界永远是混乱的。

程序员最大的能力,不是记API。而是把复杂世界抽象成:模型。

例如:订单、库存、支付、物流…

这些都是对现实世界的抽象。

抽象决定系统。不是代码决定系统。

  1. 工程决策(Decision)

这是未来最值钱的能力。

例如:

  • 什么时候同步?
  • 什么时候异步?
  • 什么时候引入缓存?
  • 什么时候采用最终一致?
  • 什么时候保持强一致?

这些都是:工程判断。

没有教材。没有标准答案。只有经验。

  1. 验证结果(Verification)

AI 生成代码越来越快。

未来程序员更多时间可能花在:

  • Review。
  • 测试。
  • 监控。
  • 压测。
  • 风险分析。

未来,验证能力的重要性,只会越来越高。

  1. 持续演进(Evolution)

优秀的软件。不是:写完。结束。

而是,未来五年:

  • 还能不能继续改。
  • 架构是否容易扩展。
  • 模块是否容易替换。
  • 业务是否容易新增。

这些决定了:软件生命周期。

所以未来程序员真正创造价值的位置在哪里?

我最近把软件开发重新画成了一张图。
在这里插入图片描述

Coding 已经变成:其中一个自动化步骤。

真正越来越重要的是:

Coding前面的:理解、抽象、决策。

以及Coding后面的:验证、演进。

再进一步,我认为程序员未来的角色也会发生变化

在这里插入图片描述

他负责:定义问题、拆解问题、建立抽象、制定约束、权衡方案、验证结果、持续演进。

AI负责:实现。

写在最后

我认为,AI 并没有改变软件工程的本质,它改变的只是软件工程中"实现(Implementation)"这一环节的生产方式。

过去,程序员通过编写代码实现设计;未来,程序员更可能通过指导 AI 实现设计。但无论实现方式如何变化,真正决定软件质量的始终不是代码本身,而是实现代码之前的理解、抽象与决策,以及实现代码之后的验证与演进。

所以,当 Coding 不再是程序员的主要工作时,程序员真正创造价值的地方,不是掌握更多语法、框架或工具,而是在复杂约束下持续做出正确的工程决策。

因为代码可以生成,方案可以推荐,实现可以自动化,但"为什么这样设计、为什么这样取舍、为什么承担这样的成本与风险",最终仍然需要人来负责。

这也是我认为,未来十年程序员最值得投资的能力。它不是 Java,不是 AI,不是某一个框架,而是一种能够跨越技术周期、始终不过时的核心能力:在复杂系统中做出高质量工程决策的能力

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值