特别认同 Kent Beck 在这篇文章中表述的观点:未来,专业的程序员岗位一定会减少,但未来人人都将是程序员。 这个看似矛盾的预测,正好精准地描绘了AI时代的图景。当编程的成本趋近于零,它就不再是一个少数人的专属职业,而是像读写能力一样,成为一项人人都能掌握的基础技能。
当代码变得日益“白菜价”
潘多拉的魔盒已经打开。我们先接受一个前提:在AI的加持下,软件开发的成本、技术门槛和所需时间正在稳步下降。(这本身是个很有趣的辩题,但我们改天再聊。)
那么问题来了:这会导致程序员变少,还是变多?
经济学同时给了我们两个相互矛盾的答案。
- 替代效应 (Substitution effect) :替代效应认为我们需要的程序员会变少 ⸺ 因为机器正在取代人类的劳动。
- 杰文斯悖论 (Jevons’ paradox) :杰文斯悖论则预测,当某个东西变得更便宜时,它的需求反而会增加,因为价格降低后,它在更多场景下的应用都变得经济划算了。
这两个理论不可能都对。……或者,它们可以?
我们换个角度来看这个矛盾:如果今天写程序的成本比昨天低,那我们今天就更有理由去写。但是,如果明天写程序的成本会比今天更低,那我们为什么不干脆等到成本降到零呢?这就是所谓的“通缩螺旋 (deflationary spiral)” ⸺ 人们倾向于推迟投资,导致经济活动减少,从而导致价格进一步下跌,这又反过来加剧了推迟投资的倾向。
那么,软件公司高管该怎么办?程序员又该怎么办?我们想要的,是一种能满足以下条件的策略:
- 让我们今天就能采取行动。
- 不依赖那些根本无法获知的信息。
- 无论未来走向何方,都能带来合理的结果。
等等,这次感觉不一样
传统的通货紧缩之所以具有破坏性,是因为它反映了经济的疲软——需求下降、信心崩溃、货币供应萎缩。而“编程通缩”则不同,它是由实实在在的生产力提升驱动的。AI不仅仅是在重新分配同一块蛋糕,它正在从根本上让“做蛋糕”这件事本身变得更便宜。
这就产生了一些有趣的悖论:
-
等待 vs. 实验:没错,你可能会想等待更好的工具出现。但是,当实验成本趋近于零时,“现在就试试”的冲动往往会占上风。我们当中有多少人,只是因为心血来潮,就随手搭建起了一个快速原型?
-
质量两极分化:廉价代码将充斥市场,其中大部分会是垃圾。但与此同时,这种“大路货”代码和精心打造的软件之间的差距会越拉越大。中间地带将不复存在。
-
价值迁移:写代码本身将变得像打字一样 ⸺ 成为一项基础技能,而非一个职业。价值将转移到其他地方:理解该构建什么、如何将不同系统组合在一起,以及如何驾驭由无数廉价软件模块组成的复杂世界。
加速效应
正是在这一点上,“编程通缩”彻底打破了传统模型。在经济通缩中,那个螺旋是自我强化且具有破坏性的。但在编程通缩中,更便宜的工具实际上可能会加速创新 ⸺ 当“编程”本身开始加速“编程”时。更好的工具,更好的模型,一个正向的增强回路就此启动。
每家小企业都会变成一家软件公司,每个人都会成为一名开发者。“如果我们试试 ……” 这个想法的成本将趋近于零。
回想1995年,出版业成本高昂,是少数人的特权。后来,它变得免费了。我们得到的出版物变少了吗?恰恰相反。我们迎来了一场内容大爆炸,其中大部分是糟粕,但也有一些是革命性的。
身处螺旋之中,我们该怎么办? 那么,身处这场通缩之中,我们该做些什么?这里有几点想法:
-
拥抱商品化:大胆使用那些便宜的工具。用AI去构建那些显而易见的东西。把你的精力留给真正困难的问题。
-
专注于集成:瓶颈不再是编写代码。瓶颈在于如何让所有这些廉价的软件模块协调一致地工作。
-
培养品味:当任何人都能构建任何东西时,“知道什么值得构建”本身就成了一种核心技能。
-
进行系统性思考:单个程序已经被商品化了,但复杂、自适应的系统还没有。
新的稀缺品
在一个廉价代码唾手可得的世界里,什么会变得稀缺?是理解力、判断力、以及洞察各个部分如何组合在一起的能力。是那种知道“什么不该做”的智慧。
我们正在经历的不仅仅是技术变革,我们正在实时见证软件开发底层经济学的转型。问题不在于“编程通缩”是否会发生——它已经在发生了。真正的问题是,我们如何适应这个“富足”的时代。
为未来双向押注
专注于理解力、集成能力和判断力的美妙之处在于:无论未来程序员是变多还是变少,这些技能都至关重要。如果自动化取代了常规的编码工作,这些人类技能将成为你的差异化优势。如果廉价的工具催生了新一波程序员大军,那么这些技能将比一年前更能帮助你从噪音中识别出信号。
培养判断力,也能让你在面对那些只会用工具更快地堆砌相同功能的竞争者时,处于更有利的位置。
所以,别费心去预测未来会怎样了。去培养那些在任何一种未来场景下都能让你茁壮成长的能力吧。