黄仁勋说"编程只是打字"?一个12年老程序员的冷静思考

46 阅读9分钟

昨天刷到黄仁勋的一段采访视频,他说:

"编程已经不再重要了,因为AI可以编程。现在最重要的是学会与AI对话,告诉它你想要什么。"

评论区瞬间炸了。

有人说:"程序员要失业了。" 有人说:"黄仁勋不懂编程。" 还有人说:"终于可以不写代码了!"

作为一个写了12年代码的程序员,我想聊聊自己的看法。

一、黄仁勋说的是事实吗?

是,也不是。

编程确实在变简单

我亲身体验过AI辅助编程带来的效率提升:

场景1:写CRUD接口

以前:

  • 打开IDE,新建Controller
  • 写参数校验、写Service调用、写异常处理
  • 写单元测试
  • 总耗时:30分钟

现在:

  • 告诉Cursor:"写一个用户注册接口,包含参数校验和异常处理"
  • AI生成80%的代码
  • 我review并微调
  • 总耗时:5分钟

效率提升6倍。

场景2:重构遗留代码

以前:

  • 读懂老代码逻辑(可能要半天)
  • 小心翼翼地修改
  • 担心改出bug
  • 总耗时:1天

现在:

  • 让AI分析代码逻辑
  • AI给出重构建议
  • AI生成重构代码 + 测试用例
  • 我验证和调整
  • 总耗时:2小时

效率提升4倍。

从这个角度看,黄仁勋说得没错——纯粹的"打字"确实不值钱了。

AI已经可以:

  • 写标准的CRUD代码
  • 实现常见的算法
  • 生成单元测试
  • 重构老代码
  • 写文档和注释

但这只是故事的一半。

二、AI到底替代了什么?

我仔细分析了自己一周的工作,发现:

AI替代的部分(约占工作的40%):

✅ 重复性的代码编写(CRUD、Model、DTO) ✅ 标准化的单元测试 ✅ 简单的bug修复 ✅ 代码格式化和优化 ✅ 文档生成

AI无法替代的部分(约占工作的60%):

需求理解与澄清

  • 业务方说"我要一个用户系统"
  • 但他们真正需要的是什么?
  • 需要支持哪些场景?
  • 边界条件是什么?

架构设计

  • 这个系统应该用微服务还是单体?
  • 数据库该如何设计?
  • 缓存策略怎么定?
  • 如何保证高可用?

技术选型

  • 市面上10种方案,选哪个?
  • 每种方案的trade-off是什么?
  • 团队能力能不能hold住?
  • 长期维护成本如何?

问题诊断

  • 生产环境突然变慢,原因是什么?
  • 日志里一堆错误,先看哪个?
  • 这个问题是数据库瓶颈还是代码问题?

代码Review

  • AI生成的代码有没有安全隐患?
  • 性能是否满足要求?
  • 是否符合团队规范?
  • 长期可维护性如何?

跨团队协作

  • 和产品、运维、测试的沟通
  • 技术方案的推动落地
  • 突发问题的应急处理

结论:AI替代的是"编码"这个动作,但编码只是程序员工作的一部分。

三、一个真实的案例

上个月,我们接了一个需求:"做一个智能推荐系统"。

如果只是"打字",这事儿很简单:

 我:帮我写一个基于协同过滤的推荐算法
 AI:[生成一大段代码]

但实际情况是:

第1天:需求澄清

  • 业务方:我们要给用户推荐商品
  • 我:推荐的目标是什么?点击率还是转化率?
  • 业务方:都要
  • 我:那冲突怎么办?优先级?
  • 业务方:...我们再想想

第3天:技术调研

  • 协同过滤?深度学习?还是混合方案?
  • 实时推荐还是离线计算?
  • 冷启动问题怎么解决?
  • 调研了5种方案,做了对比分析

第5天:架构设计

  • 设计了召回 → 粗排 → 精排的三层架构
  • 选定了Spark + Redis + TensorFlow的技术栈
  • 定义了数据流和接口规范

第10天:编码实现

  • AI帮我生成了70%的代码
  • 但剩下30%的核心逻辑(特征工程、模型调优)需要反复调试
  • Code review发现了3个性能问题和1个安全隐患

第15天:上线调优

  • 灰度发布,监控指标
  • 发现推荐准确率不达标
  • 分析数据,调整策略
  • 迭代了3个版本

如果只是"打字",第1天就结束了。但实际上,真正有价值的工作在后面的14天。

四、程序员的价值在哪里?

过去,程序员的价值 = 编码能力 × 工作时间

现在,程序员的价值 = (理解业务 + 架构设计 + 技术判断 + 问题解决) × AI效率加成

具体来说:

1. 理解业务的能力

好的程序员不只是"接需求",而是:

  • 能听懂业务方的"方言"
  • 能发现需求里的坑和矛盾
  • 能提出更好的解决方案
  • 能预见可能的问题

AI不懂业务。它只能按你的指令写代码,但不会问你"这个需求合理吗"。

2. 架构设计的能力

系统设计是一个trade-off的艺术:

  • 性能 vs 成本
  • 复杂度 vs 可维护性
  • 快速上线 vs 长期演进

这需要:

  • 对技术栈的深度理解
  • 对业务场景的准确判断
  • 丰富的项目经验

AI可以给你10种架构方案,但选哪个、为什么选,只有你能决定。

3. 技术判断的能力

  • 这个开源框架靠谱吗?
  • 这个新技术适合我们吗?
  • 这个优化值得做吗?
  • 这个风险可以接受吗?

AI没有判断力。它会告诉你Redis很快,但不会告诉你在你的场景下MySQL可能就够了。

4. 问题解决的能力

生产环境出问题了:

  • 日志里一堆错误
  • 监控指标异常
  • 用户在投诉

你需要:

  • 快速定位问题
  • 找到根本原因
  • 制定解决方案
  • 防止再次发生

AI可以帮你分析日志,但诊断问题、做决策、承担责任的,是你。

五、那些被淘汰的,和那些不会被淘汰的

会被淘汰的程序员:

只会"打字"的码农

  • 拿到需求,直接开写
  • 不思考为什么,不关心业务
  • 代码能跑就行,不管质量
  • 遇到问题就搜Stack Overflow

拒绝使用AI的保守派

  • "AI写的代码不靠谱"
  • "我用不惯AI工具"
  • "还是手写代码踏实"
  • 结果效率被同行甩开10倍

只会用框架的API调用者

  • 不理解底层原理
  • 遇到问题完全不会调试
  • 框架不支持的功能就没辙了

不会被淘汰的程序员:

懂业务的技术人

  • 能和业务方对话
  • 能发现需求背后的真实问题
  • 能提出技术视角的解决方案

会设计的架构师

  • 理解各种技术的trade-off
  • 能设计可扩展的系统
  • 能平衡短期和长期

善于用工具的效率专家

  • 熟练使用AI辅助编程
  • 把AI当"超级助手"
  • 把时间花在更有价值的事情上

持续学习的终身学习者

  • 不断学习新技术
  • 不断优化工作方式
  • 保持技术敏感度

六、我的应对策略

面对AI的冲击,我做了这些调整:

1. 拥抱AI,但不依赖AI

我的原则:

  • AI生成的代码,必须完全理解后才提交
  • 关键逻辑,自己设计,AI辅助实现
  • 安全相关的代码,必须人工review

具体做法:

  • 每天用GitHub Copilot / Cursor写代码
  • 但会关掉AI,手写核心算法
  • 定期code review AI生成的代码

2. 从"写代码"转向"设计系统"

减少时间:

  • 重复性的CRUD → 5%(交给AI)
  • 简单的业务逻辑 → 10%(AI辅助)

增加时间:

  • 需求分析和设计 → 30%
  • 架构设计和技术选型 → 25%
  • Code Review和质量把控 → 15%
  • 性能优化和问题诊断 → 15%

3. 深入业务,提升不可替代性

  • 参加产品需求评审会
  • 主动和业务方沟通
  • 学习业务领域知识
  • 提出技术驱动的创新

结果:从"需求执行者"变成"方案设计者"

4. 建立自己的知识体系

AI能替代的是"know-how"(知道怎么做) AI替代不了的是"know-why"(知道为什么)

我在做的事:

  • 深入学习底层原理(操作系统、网络、数据库)
  • 总结架构设计模式
  • 积累问题诊断经验
  • 建立自己的技术判断力

5. 提升软技能

技术只是工具,解决问题才是目的。

我在提升:

  • 沟通能力(和产品、业务、运维的协作)
  • 项目管理(需求拆解、风险控制)
  • 团队协作(Code Review、技术分享)
  • 决策能力(技术选型、优先级判断)

七、给程序员的5个建议

1. 立即开始用AI辅助编程

不要等,不要怀疑,现在就开始。

推荐工具:

  • GitHub Copilot(基础)
  • Cursor(强大)
  • ChatGPT / Claude(万能助手)

用AI不是"作弊",而是提升效率的工具。

2. 把节省的时间投入到更有价值的事情上

AI帮你节省了40%的编码时间,你要用这些时间:

  • 深入理解业务
  • 学习架构设计
  • 提升系统性思维
  • 而不是摸鱼

3. 培养"工程师思维",而不只是"程序员思维"

程序员思维:给我需求,我写代码 工程师思维:

  • 这个需求合理吗?
  • 有更好的解决方案吗?
  • 长期怎么演进?
  • 如何保证质量?

4. 建立自己的"护城河"

找到AI短期内无法替代的能力:

  • 行业领域知识(金融、医疗、电商)
  • 复杂系统的架构能力
  • 问题诊断和调优经验
  • 团队协作和管理能力

5. 保持学习,但不要焦虑

技术迭代很快,AI也在进化。

但不要焦虑,要做的是:

  • 关注核心原理(不变的部分)
  • 快速学习新工具(变化的部分)
  • 建立学习能力(最重要的能力)

八、写在最后

黄仁勋说"编程只是打字",他说的是编码这个动作的价值在下降。

但程序员的价值从来不只是"打字"。

真正有价值的是:

  • 理解问题的能力
  • 设计方案的能力
  • 做出判断的能力
  • 解决问题的能力
  • 持续学习的能力

AI是工具,不是替代品。

就像计算器没有让数学家失业,搜索引擎没有让律师失业一样,AI不会让程序员失业——它只会让不思考的程序员失业。

未来的程序员,不是"码农",而是:

  • 懂业务的技术专家
  • 会设计的系统架构师
  • 善用工具的效率大师
  • 持续进化的终身学习者

AI时代,编程确实变简单了。

但成为一个优秀的程序员,从来没有变简单过。

扫码_搜索联合传播样式-标准色版.png