我听过的最不可能的预测是「ChatGPT 会取代程序员的工作」。
恰恰相反,因为 ChatGPT 等工具的出现,我断言未来的十年里,中国新增 5 亿以上的程序员。
程序员的效率提升一直在飞速进行
有人说因为 ChatGPT 可以写程序了,所以程序员要失业了。但是,在程序员的世界里面,生产效率一夜提升 100 倍的事情几乎天天都就会发生。
比如,最早用 C 语言写程序的时候,大家就是调用系统库里面的各种排序算法(比如 sort )来排序,而不是自己写冒泡排序啥的。函数库里面的每一个函数,都是以前的程序员的努力的结晶,自己调用就是效率提升。就连最简单的一个随机数发生器,一个哈希算法,或者一个简单的平方根函数,要是自己写,对大多数人来说,没个一周半个月搞不定吧。
以前需要写一个月的前端代码,用 React, Vue 这样的前端框架可能一个小时都不要。整个程序员的世界都是封装一个个的程序库和框架,用 PIP 或者 NPM 像 App Store 一样的机制,全球大协同,效率一直在 100 倍、 100 倍的提升中。ChatGPT 只是最近的一次提升而已。
效率越高的行业从业者越多
那么,每一次效率的百倍提升,让程序员原来 1 个月的工作 1 个小时就完成了,会带来程序员的大规模失业吗?
我们只要看过去 20 年程序员群体的总人数,到底是上升了还是下降了就知道了。
20 年前,中国的程序员往多里说就十万。如果按「替代」逻辑,每一次效率提以后,就可用更少的人就可以干掉他们原来的活儿的话,程序员人数会从 10 万一路降到 5 个人就够了。实际上是这样吗?现实中,中国现在的程序员群体已经上升到接近一千万。
这就奇怪了。为什么一个行业的效率越高,从业人数越多呢?这个现象是不是很反直觉?
其实很好理解。人和一件事情如果有两种做法 A 和 B。如果,A 做法的效率原地踏步很多年,B 做法的效率每年都翻番,也就是用做法 B,一年以后一个人可以产出以前两个人的成果,4 年后是以前 16 个人的成果,那么做法 B 的从业者的工资一定是做法 A 的人的工资的很多倍。那么,做法 A 的人是不是应该辞掉 A 的工作而加入 B ?
以农业为例。做法 A 是农民自己去犁地;做法 B 是开着农用机械去犁地。当 B 比 A 效率高太多的时候,农民都去当农机司机了。这就导致了表面上的农民失业,农机司机从业者暴增。
我们很多事情都可以用两种方法来做:人手工做或者用信息系统来做。后者在互联网,移动设备的加持下的效率提升有目共睹。那么,用系统的方式完成工作,需求会越来越大,加入的人越来越多,也就是现在程序员越来越多的原因。其实,在程序员的群体人数增加了 100 倍的同时,他们的总体产出可能已经增加了 1 百万倍。
效率越高的行业进入门槛越低
另一方面,每一次生产效率的跃迁,都会带来从业者进入门槛的极大降低。程序员们千万不要悲伤,觉得自己要被取代。回头看看,我们现在用 Python 这样的高级语言写程序,就是机器语言 到 汇编语言 再到 高级语言升级的受益者。我们不能自己刚进了一扇门,享受了便利,就想法子堵死别人进来的入口。
生产效率的每一次提升,都带来收益明显翻番,进入门槛明显减低的双重吸引力,巨量的人的涌入是必然的。
人人都是程序员
大家也不要觉得程序员的工作多么神秘。
大家看看如下两句话,第一句是 Python 程序,第二句是自然语言。这中间的差异到底有多大?
if(hour == 8) print("该起床了") #如果八点了,就告诉我该起床了
唯一的差别是,以前,计算机对自然语言的处理能力有限,不理解后者这种不严谨的说法,只理解前面这种规整的表达(包括引号,括号,等号等约定)。所以,程序员只是一群用更规范的自然语言写指令的人。
如果我们把使用 ChatGPT 等这样的人接接口,用自然语言阐述自己的需求,指挥机器更高效的完成任务的人都叫做程序员的话,我就敢大胆的预测,在未来十年里面,中国会新增 5 亿程序员。这个程序员定义当然没有问题,能让机器按照自己的想法做事情的人,难道不叫程序员吗?如果一定要用汇编语言编程才算程序员的话,现在的程序员一个都能叫程序员了。
只不过,这些新入行的程序员,不见得是以程序员的名义获取报酬。法律程序员我们还是会习惯的称他们为律师;医生程序员还是医生;而秘书程序员还叫秘书。
把程序员作为全职职业的,或许在着 5 亿人中的比例有所下降,就如同智能手机催生出了 10 亿的摄影师一样。只是我们在发朋友圈的时候,已经忘记了这我们做的事情曾经是一份专门的职业。
——转载自互联网er的早读课微信公众号2023年2月15日发布文章