最近一个叫胡彦斌的歌手靠 Vibe Coding 搞了一个 APP,好像是用来和粉丝互动的 APP,叫《彦火》。之前没有听说过这个歌手,查了一下果然没注意过这个歌手。然后看了一下百度百科,看到他是 伯克利音乐学院 的,就让我佩服了很多。因为 Socket 就是诞生自 美国加州伯克利分校 的。所以作为程序员,看到 伯克利 就会产生一些敬佩。
自从有了 AI 以后,很多人搞出了各种各样的东西,这样一个歌手搞一个 APP 也并不足为奇了。但是从这个事情上,让我感觉到了程序员的悲催。
为什么会觉得程序员悲催呢?大体来说说吧,仅是个人的看法,有主观偏颇的方面,大家可以一起讨论一下。
AI 时代程序员应该掌握什么呢?我看了网上很多人的讨论,我自己感觉是三个方面吧。
第一个是程序设计的思维,第二个是工程性思维,第三个是业务思维。
其实这三点,我觉得无论是不是 AI 时代,都是程序员的应该掌握的。以前可能是第一点重要一些,而现在呢,第二点和第三点应该更为重要吧。
抛开业务不说,前两点的能力有一个简单的判断,就是写代码的时候,你是否做个规划,然后按照规划去写代码,还是上来直接写代码呢?
在写代码之前有良好的规划,再去写代码,和上来就直接写代码的人相比,在和 AI 沟通需求的时候哪个更优呢?应该很好想清楚了吧。
当然了,程序员的这些技能其实不是悲催的地方,我觉得悲催的地方就是业务了。
解决业务问题,其实很多时候就是解决痛点和管理问题。而这个我感觉大部分程序员不具备吧。当然了,具备的肯定是有的。为什么这个会让程序员变得悲催呢?
无论在公司上班、还是自己接外包,都会接触到业务方。每个业务方、或者老板、或者营运人员,都会说出各种想法和要求,甚至经常有各种奇葩的想法,虽然很多想法奇葩,但是提出需求的、问题都是他们。程序员能做的,可能就是实现这些功能,把不合理的点提出改进了。
但是让程序员去提出类似的想法、需求就很少有了。
所以我觉得这就是悲催的地方了。因为现在业务方、老板、客户有想法可以自己靠 AI 去解决了,很多简单的问题都不用依赖程序员了。所以需求就变成重点了,有没有想法,有没有痛点,能解决什么问题,甚至是新奇不新奇,好玩不好玩!
而对于这些问题,程序员能想到什么。通过我的了解,大部分程序员自己做东西有个三件套,任务列表、记账程序、……突然还有一个想不起来,哈哈!大部分程序员,都会想着搞这些。再有就是很多想着搞 SaaS 系统,关于 SaaS 就不评价了,这点其实看很多人的评论也是很有意思的。
怎么破局呢?我也看了不少,总结下来也是三个方法吧!
第一个方法是称为架构师,从更高维度来看待软件,因为一个软件有功能性需求和非功能性需求,非功能性需求就不是靠 AI 简单的解决了。非功能性需求,就比如程序员经常讨论的三高吧!相对于做功能而言,普通用 AI 想要解决三高就不容易了?至少够呛吧!还有就是安全性,比如说自动驾驶系统,用 AI 写的自动驾驶功能有敢用的么?在金融、医疗……等方面,出现 AI 幻觉的时候,都会产生很严重的问题,不是么?
人人当架构师不现实,别说架构师了,当一个合格的程序员都难!抛开数据结构和算法不谈,软件本身是工程性问题,但是愿意在 《软件工程》 这个学科上下功夫的人就不多吧,培训班更是不教吧?
所以,就有了第二个方法。第二个方法就是独立开发者,依靠 AI 让自己变成全栈,全栈可不是同时掌握前端和后端这么简单吧?从产品、市场、设计、开发、运营……都要自己搞定!当然了,这个方面重点还是要有自己的想法,做出来解决实际问题的产品。
第三个应该就是当 AI 的工程师了吧,就是 AI 的运维,搭建、部署、蒸馏、调优、RAG……等。
突然觉得,追求技术吧,技术很难精通,追求业务吧,可能是纸上谈兵!如何是好呢?