最近浏览到一则消息:歌手胡彦斌借助 Vibe Coding 平台开发了一款粉丝互动 App,命名为《彦火》。坦白说,此前对他并不熟悉,查阅百度百科后才得知他毕业于伯克利音乐学院——这所院校与计算机技术渊源颇深,TCP/IP 协议栈的 Socket 正是诞生于加州大学伯克利分校。因此,一提到“伯克利”,作为同行难免心生敬意。

如今 AI 技术普及,歌手开发一款 App 已不算稀奇。但这件事却引人深思:程序员的职业处境是否正变得有些尴尬?
当然,这些看法难免带有个人的主观色彩,仅作为抛砖引玉的探讨。
在 AI 时代,程序员究竟应该掌握哪些核心能力?网上已有大量讨论,归纳起来无非三个方面:程序设计思维、工程化思维、业务思维。
实际上,无论 AI 技术是否存在,这三点都是程序员必须修炼的基本功。过去可能第一点最为关键,而如今,第二点和第三点的重要性显著提升。
前两点能力有一个简单的检验方法:在写代码之前,你是否会先做规划,再按照规划逐步执行?还是习惯直接上手边写边想?
一个习惯预先规划的程序员,与一个想到哪写到哪的程序员,在与 AI 沟通需求时谁效率更高?答案不言自明。
但话说回来,这些技能本身并不“悲催”。真正让程序员感到无奈和焦虑的,其实是业务层面的问题。
所谓解决业务问题,本质上就是发现痛点并制定管理方案。而这一点,绝大多数程序员并不擅长——当然,也有极少数佼佼者能做到。为什么业务会成为程序员的软肋?
无论在公司上班还是承接外包,程序员总要面对各类业务方。老板、运营、客户会不断抛出各种想法与需求,其中不乏天马行空甚至奇葩的要求。但无论合理与否,需求由他们提出,问题也由他们发现。程序员能做的,就是实现功能,并顺带提出改进建议。
反过来看,程序员自己主动提出类似的需求或创意,却少之又少。
这才是真正的痛点所在。如今,业务方、老板、客户有了想法,完全可以借助 AI 工具自行实现。许多简单问题已不再依赖程序员。于是,需求变成了核心:有没有创意?有没有痛点?能解决什么问题?甚至——够不够新奇?有没有趣味?
而程序员自己又能想到什么?据观察,大部分程序员自己动手做东西,无非是那“老三样”:任务清单、记账软件……第三个一时还真想不起来,哈哈。要么就琢磨着搞一个 SaaS 系统。关于 SaaS 系统这件事,看看网上的评论,也挺耐人寻味的。
如何才能破局?翻阅了不少讨论,总结下来也是三个方向。
第一个方向:成长为架构师,从更高维度审视软件系统。软件包含功能性需求与非功能性需求。非功能性需求——比如程序员常说的“三高”(高并发、高可用、高性能)——就不是 AI 能够轻松搞定的。普通用户用 AI 画个界面、写个增删改查(CRUD)没问题,但想解决三高问题?恐怕力不从心。还有安全性,比如自动驾驶系统,谁敢直接使用 AI 编写的代码上路?金融、医疗等场景,一旦 AI 产生幻觉导致事故,后果不堪设想。
当然,让所有人都成为架构师并不现实。别说架构师,就算做一个合格的程序员也并非易事。抛开数据结构与算法不谈,软件本身就是工程问题,但愿意在《软件工程》这门课上深耕的人确实不多,培训班更是基本不涉猎。
于是有了第二个方向:成为独立开发者。借助 AI 工具,让自己变身全栈工程师。全栈可不只是同时掌握前端和后端这么简单——产品、市场、设计、开发、运营……都得自己搞定。这个方向的关键,还是要拥有自己的创意,做出真正能解决实际问题的产品。
第三个方向:转型为 AI 工程师。也就是从事 AI 的运维工作:搭建、部署、蒸馏、微调、RAG(检索增强生成)等。
突然觉得,追求技术吧,技术很难精通;追求业务吧,又可能只是纸上谈兵。该如何是好呢?
