乐于分享
好东西不私藏

别慌,AI取代不了程序员:软件工程里最难的从来不是写代码

别慌,AI取代不了程序员:软件工程里最难的从来不是写代码

导读:最近半年,关于“AI自动写代码、程序员即将大面积失业”的焦虑论调几乎充斥了整个技术圈。很多人脑补出了这样一幅末日图景:产品经理画完原型,老板点下回车,AI“唰”地一下就生成了一个淘宝或微信,底层的码农们集体卷铺盖走人。但作为一个在一线泥坑里摸爬滚打了15年的老兵,我想泼一盆冷水:这纯属对软件工程的极度无知与危言耸听。

一、 编码只是“翻译”,而非“创造”

在非技术人员眼里,程序员的工作就像是魔法:对着黑底白字的屏幕敲击键盘,就能变出一个五彩斑斓的App。因此,当他们看到ChatGPT也能快速吐出一段代码时,理所当然地认为魔法被破解了。

但真相是什么?一旦你跨过了入门门槛,熟练掌握了语法、设计模式和技术框架,单纯的“编码”其实是软件构建过程中最简单、最机械的一个环节。

写代码,本质上是一种“翻译工作”——将已经明确逻辑的解决方案,翻译成计算机能看懂的机器语言。它是有标准答案的,而凡是拥有标准答案的工作,恰恰是最容易被AI取代的。

作为15年经验的老兵,我必须坦诚:我职业生涯中,真正花在“双手敲击键盘写业务代码”上的时间,占比可能还不到20%。

二、 软件工程的深渊:什么是“需求”?

既然写代码不难,那难的是什么?是定义“到底要写什么代码”。

很多外行(甚至部分初级程序员)认为,需求就是产品经理写在PRD(产品需求文档)里的那几行字:“做一个登录页面,包含账号密码,点击登录跳转首页”。

大错特错。那叫“功能描述”,不叫“需求”。

真正的需求,隐藏在冰山之下:

  • 隐性诉求
    :用户说要一匹更快的马,真正的需求是更快的交通工具(汽车)。
  • 边界条件
    :断网了怎么办?并发量突然翻十倍怎么办?用户恶意输入特殊字符怎么防注入?
  • 历史兼容
    :新加的这个功能,会不会导致三年前老版本的数据结构崩溃?
  • 异常流转
    :如果第三方接口超时了,是重试、兜底,还是直接熔断?

创建软件最难的部分,从来不是把确定的流程代码化,而是从一片混沌、矛盾、甚至荒诞的业务现实中,梳理出严密的逻辑闭环。 而这套“从无到有”的定义能力,目前且在可预见的未来,只有人类大脑具备。

三、 程序员真正的“至暗时刻”:与人斗其乐无穷

如果说理清逻辑很难,那么软件开发中最最最复杂的,就是和需求提出者打交道

AI听不懂弦外之音,但程序员必须懂。你的需求提出者通常由以下几类“大仙”组成,与他们博弈,才是消耗程序员脑细胞的终极元凶:

1. 满嘴跑火车的 Boss

老板通常不懂技术,但他懂“画大饼”。他会在周会上说:“我们要做一个具有颠覆性创新的SaaS平台,集成了微信的社交、淘宝的交易、抖音的算法,下个月底上线去拿融资。”程序员的痛苦:你需要把他天马行空的幻想,拉回地球,拆解成可落地的MVP(最小可行性产品),还要在不动声色中砍掉90%的废话,且不能让他觉得你在对抗他。

2. 逻辑薛定谔的产品经理(PM)

PM是程序员在职场上的“宿敌”。他们经常会给你提一个需求:“老李,这个按钮点击一下,既要能提交表单,又要能弹窗确认,但用户又不能感知到弹窗的存在,而且还要兼容IE8。”程序员的痛苦:面对自相矛盾的PRD,你需要像侦探一样去反问、去逼问,直到把PM逼到承认“我其实没想好,我先去跟业务方对一下”。

3. 只要结果的运营/业务方

“这个活动页面明天早上8点必须上线,你就改个颜色加个弹窗,很快的吧?”程序员的痛苦:他们看不到底层的表结构关联,看不到接口的权限校验。在他们眼里,改一个字和重构一个模块的难度是一样的。你需要做风险评估、排期拉扯、甚至背锅。

四、 为什么AI无法替代这个“沟通者”角色?

你可以让AI写一个“快速排序算法”,但你没法对AI说:“去跟楼下的张总监聊聊,看看他到底想把这个报表做成什么样,顺便安抚一下他因为昨天系统宕机产生的暴躁情绪。”

沟通、妥协、期望值管理、拆解伪需求、背锅……这些充斥在职场中的“软技能”,构成了软件开发中最坚硬的外壳。

AI没有情绪,不懂人情世故,无法察言观色,更无法在业务方、老板、技术团队的多方博弈中找到那个微妙的平衡点。它是一个极其聪明的“执行者”,但绝对不是一个合格的“产品定义者”和“项目推进者”。

写在最后

随着AI的普及,程序员群体一定会发生洗牌。那些只会“Ctrl+C / Ctrl+V”、像机器一样翻译PRD的“代码工人”,确实面临被淘汰的风险。

但对于那些具备业务理解力、能看透需求本质、善于跨部门沟通协作、懂得利用AI提升效能的“工程化人才”来说,AI不但不是终结者,反而是解放他们双手的最好武器。

放下对“写代码”的执念吧。代码只是工具,解决现实世界的复杂问题,才是程序员永恒的价值所在。