程序员的价值和末日

最近和一些人聊到现在的程序员这个职业(是啊,程序员和程序员在一起还能聊些什么呢),更加加深我几年来对工程类程序员(泛指一切技术岗位的员工)这个职业的一点儿感受。主要包括这么几个观点:

  1. 程序员越来越不值钱。这是大势。
  2. 程序员的价值,归根结底在于省钱。
  3. 企业用人要求越来越高,学校教育脱节与之越来越严重。
  4. 技术演进速度迅猛。思维理念、知识体系,五年间就能变得陈旧。

这几点看上去没啥直接关系,其实彼此互有关联。我来解释一下。

程序员的Good Old Time

我记得高中的时候,有一次心血来潮,把爷爷年青时评选高级经济师的论文打成Word文档。我记得也就不到一万字,我花了一个小时才打完,都不好意思让人看见。然而我爷爷一直在旁边转悠,看我打完了居然还夸我打得快,说他当年,他也要打出来,但是不会电脑,专门找了打字员,打了半天才打完,打完还请人吃饭。我听得一脸蒙逼。心想怪不得人们都怀念Good Old Time。妈得原来那个年代,会打个字都能混得风声水起的。

然后呢?当我满怀希望地学了计算机,从校门出来的时候,当时公司老大们训话的话风就变成了:“你们不要天天NB哄哄的,把现在你们全开了,我就算只招六指的程序员都能招满。”这位老大这么有底气,是因为那个年代,程序员就已经满大街都是了。而打字员这个职业已经没有了。

当时,离“会打字就能吃香的喝辣的”的那个年代,也就20多年吧。

当然那位老大毕竟还是说笑的,当年学计算机的,的确也还是很吃香的,我刚毕业那会儿,大公司招在校生都是飞来飞去,公司靠谱点儿的,给实习生都是租个别墅住(当然不是一人一栋)。实习工资都够别的专业的正式工资。

现在又10多年过去了,就算BAT有这么干的吗?没有的。为啥?因为程序员越来越不值钱。虽然相比其它行业还是高不少,但是相比过去,已经差太远了。而那位老大的笑谈,恐怕也快成事实了。

那么程序员为什么越来越不值钱了呢?我先来讨论一下程序员为什么值钱。

程序员的价值

商品的价值,决定于创造这个商品的社会平均劳动生产率。

商品的价格,还会受市场供需关系的影响。

这些话可能有人还记得,我没记错的话,应该是初中思想政治课上就讲到的。我当年觉得政治、经济是最没用的学科,现在反而感觉,这两是九年义务教育里,在成年后的生活中,最能用上的两个学科。

程序员不是商品(好吧,也许是),那程序员的价值在哪儿呢?程序(软件)吗?不,不是软件,你买个Office,装在电脑里,从来不去用它,它产生价值了吗?并没有。你下载个理财App,从来不买理财产品,这个App产生价值了吗?也没有。

为什么用Office就有价值呢?为什么从理财App上买理财产品就有价值了呢?我不用Office可以写在本子上啊,我不用理财App,可以去银行办理啊。

你想想,哪个效率高?哪个成本高?

所以程序员的价值在于:程序员创造出来的东西,能用极低的成本,提高所有(买了这个软件的)人的效率和产出。简言之,程序员是史上最强大魔法系奶妈的角色。

当然这里的程序员是指群体,毕竟不是所有程序员都做具体软件的,但是从宏观角度看,软件行业做的事儿,就是以极低的成本,颠覆其它各个行业的劳动生产率。

所以程序员的平均工资高,因为软件行业创造的价值的确很大。尤其是在节省原有的人力、物力上。所以说,程序员的价值,其实是省钱。

程序员的贬值

然后回到原来问题上,“为什么说,程序员越来越不价值了呢?”。因为软件业,和其它行业最大的不同在于,软件的发展是累积的,不需要每次从头开始做,而且成长速度没有物理量约束。而且,代码是无国界的。

从小的说,基本所有编程语言的库都自带的排序算法,现在的程序员,除了在学校和在某些面试官面前,根本不会去写什么排序算法。

往大里说,现在有Spring Cloud,有Dubbo,有Istio。你说你也会写服务治理框架,这很好,但是不用写了,你只要会用就好。写了也没有真正的价值。因为这个问题已经被大体解决了。在软件行业,除非有技术壁垒或专利保护,一个问题只需要被解决一次。第二次做的价值基本为0。当然,价格不会为0,因为总会有公司愿意为这第二次到第N次的实现掏钱的。

所以你会自己从头写一个服务治理框架,很好,也能拿到高工资,但是没有价值。这只是有价格而已。除非你做得比前人的都好,会贡献出Delta部分的价值。

那么现在程序的价值在哪?是你能把一个东西(无论是自己写的,还是现成的)在一个公司用起来,为公司解决他们业务上的独特的问题。才是有价值的。这时你会发现,用现成的东西的成本会更低,于是利润空间会更大。

随着软件行业的日益成熟,能创造的新的价值空间会越来越小。而程序员的价格(即工资)从长期来看,总是要回归其价值的。所以很不幸的,最终价格,按我的逻辑,会是0。只是可能要个几百年吧。

程序员的脱节

做程序做久了,会发现程序员做的事情一直在发生天翻地覆的变化,变化快到很多程序员根本跟不上这个节奏。于是公司招人也面临一个尴尬的囧境:会写排序算法的,会Copy Paste的,会写CRUD页面的教科书式程序员汗牛充栋。但是想招一个能创造性地用代码高效地解决实际问题的人就凤毛麟角。而且更糟糕的是,CRUD程序员多得已经营造出了种程序员就是CRUD的不良氛围。这和现在国内互联网行业如火如荼,大都处于跑马圈地的阶段不无关系。

但是当潮水退去了呢?

程序员的末日,就要来了。

 

发表回复