Vibe Coding 完全取代程序员?
随着 Vibe Coding 的到来,很多人觉得程序员要被 AI 取代
我在之前的博客(Claude Code 是编程的未来)里写过,Claude Code 让我感到非常惊艳,真正深入使用后,我也觉得程序员迟早被 AI 取代
但最近经历的一个项目让我觉得:至少当前阶段,Vibe Coding 还无法取代程序员,AI 只会增强人的能力,而不能让原本啥都不会的人变得很强
项目背景
我最近做了一个项目,由一个既不懂项目管理也不懂开发的项目经理带着一堆完全没有 CS 背景且工作不足一年的同事做的,我和其中一两个人是少数经过大学 CS 专业训练且正儿八经在工作上干过开发的人。项目里的代码几乎完全用 Vibe Coding 写
btw:
- 项目经理之所以既不懂项目管理也不懂开发,我觉得是因为公司的官僚主义严重,导致选用了很多喜欢“欺上媚下”的无能之辈
- 让很多没有 CS 背景且工作不足一年的同事做开发工作,可能由于我所在的大公司“社会责任”的原因,去年招了很多应届生,这些应届生被随机派往不同的岗位
乱象
实际开发的过程就发现各种乱象:
需求不明确
项目管理不懂得约束需求,领导、业务人员怎么要求都答应,并且盲目相信 Vibe Coding 的“敏捷性”,认为“只要有需求,一句话 AI 就写出来了”
最后导致:需求今天是这样、明天是那样,今天搞了一版,明天让再搞一版,质疑就说反正也是 AI 去写
开发苦不堪言,项目组的人每天不得不加班到很晚
工期拍脑袋、拍胸脯定
项目管理对做一个功能要多久没有任何概念,盲目觉得 Vibe Coding 可以迅速完成所有事情,很多东西一说就是下午给、第二天给
又或者领导、业务人员需要,就拍胸脯说很快就给,转手就让开发马上给出来
最后的结果也是相应的:很多需求要么是让 AI 瞎改一通,要么是 mock 数据做假系统
缺乏最基本的开发常识
版本管理不知道使用 Git(甚至很多人不知道 Git 怎么用),通过代码压缩包进行合并,并且还是拿着压缩包让 AI 去合并,导致最后合并一堆问题。我们这些干过开发的人提出用 Git 的时候,有个同学甚至说 Git 合并是“传统的方式”,言下之意是“代码扔给AI让AI去合入是现代的方式”,让人哭笑不得
完全不懂数据库的概念,大量的读写竟然是直接读写本地文件,主打一个能跑就行
这些是我们这些真正干过开发的人非常吃惊的
觉得 AI 可以做任何事情
这些毫无经验的开发同学,遇到任何问题,都直接让 AI 去解决,也不知道为什么这样解决,反正看着解决了就行
问到他们的时候,就说“已经让 AI 修复了、已经让 AI 改好了,我也不知道 AI 怎么改的”
不懂开发的项目管理也一样,有问题反馈就“让 AI 改呗”
AI 只会增强人的能力,而不会让能力无中生有
我感受到这一切的荒诞,所以写下了这篇半吐槽的博客
这个项目让我意识到:AI 只会增强人的能力,而不会让人的能力无中生有。我们大学 4-7 年专业的 CS 训练、工作几年花苦工写的代码做的项目,这些经历并没有白费。在这样的环境里,才会发现我们真的是“干过的”、是“专业的”。更年轻的同学在 LLM 的加持下将会拥有更高效的学习、信息获取方式,会加快学习效率,但我们走过的路,他们都得走一遍,才能真正成为一个合格的从业者
这些非 CS 背景的同学,可能各自专业的就业方向确实不太行,能够有这样一个转行机会,显然是运气很好的事情。他们需要时间夯实基础,这样才能真正做出稳定、可靠的软件
程序员的护城河被削弱了
另一方面,这件事也让我意识到:程序员的护城河被削弱了
程序员原本被视为是“有技术”、“专业”的岗位,有门槛、有护城河。然而,这些毫无 CS 背景的应届生,也能做出一个像模像样的 toy project,至少能唬住不懂开发的项目经理和领导,那可能也能唬住没有技术经验的客户,让客户愿意掏钱
我在想,FDE 这样的开发模式,可能就可以找一些这样便宜的人力去做,做的过程中不断学习,只要能够交付有价值的结果就行了,如果做的东西对软件质量的要求没那么高或者客户对软件质量的要求没那么高,其实他们指挥 AI 做的东西也会有市场。在这种情况下,程序员的市场就会被这样一些人打低价格