虽然程序员的祖师娘是诗人拜伦的女儿 Ada,但第一个真正的程序员,是 Alan Turing。Alan Turing 不仅提出了图灵机,他还在最早的计算机上写过代码。如果说 1946 年 ENIAC 的诞生可算做通用计算机的元年,那么,当时程序员的数量可能只有不超过 10 个。
程序员这时还算不上一个职业 —— ENIAC 走出实验室后催生出来了一批计算机,这些计算机需要有人去使用,于是有了第一代「程序员」,他们大多是半路出家的数学家和科学家。
我们耳熟能详的骨灰级程序语言:
所以我们现在学的计算机专业叫 Computer Science,一点儿也没有夸大其词,老爷子们同时对得起 Scientist 和 Engineer 的称号。
如果算上顺带研究计算机的教授,以及他们的学生,第一代程序员数量撑死了成百上千。这个时代的计算机还和普通人没关系,除非你在一流大学学习,或者在 IBM 公司任职,否则别说见过计算机了,你连用于写程序的「答题卡」都没见过。。。
1964 年 IBM 推出了划时代的 System/360 大型机,起价 130k USD。由于相对物美价廉,商业公司纷纷购买和租用,在接下来的数年里,S/360 席卷美国,卖了数万台,是历史上最成功的大型机。S/360 催生了大量的第二代程序员。如果说一台计算机配五个程序员的话,这个年代,程序员的需求猛涨到十万这个量级。
需求强劲,供给侧不给力,怎么办?如何填补这出人意料的大窟窿?
马爸爸说,员工离职,只有两个真实原因:钱没给到位;心受委屈了。反过来,想请君入瓮,先把钱给到位了。
这是我 google 的 S/360 程序员的薪水。你看,在 1973 年,市场能给一个两三年经验的程序员 10k - 18k 不等的薪水。要知道,同期美国人平均工资是 6.5k。在巨大的利益驱动之下,有能耐的人开始转型:先是高素质的数学才子,继而其他领域的优秀工程师工程师,甚至会计师,都纷纷跳进软件开发这片生气勃勃的蓝海。
1970 年 DEC 发布的 售价仅在 10k 美金左右的 PDP-11 进一步释放了计算机的魔力,价廉物美的小型机迅速占领了更广阔的市场 —— DEC 那年卖了 17 万台 PDP-11 —— 连贵族中学(比如盖茨老师就学的湖滨中学)都开始将这东西用于教学,计算机渐渐不是西装革履,三四十岁的「中老年」的玩物。
随后,产生了一些划时代的东西:
尤其是 Unix 和 C,它们的影响辐射了几乎每一个程序员,而且一直辐射至今。发明 Pascal 的 Wirth 还是象牙塔里的教授,而 Ken 和 Dennis,则是正儿八经的程序员,或者说软件工程师。
PDP-11 和 Unix / C 催生出第三代程序员。那时候没有前后端程序员之分,也没有系统层和应用层程序员之分,一个程序员既能和硬件中断打交道,又能提供优质的 UI(命令行界面)。市场对程序员的需求继续疯狂扩展。
也就是几年的光景,PC 开始挑战小型机的地位。76 年 Apple I 发布,81 年 IBM PC 发布,PC 一下子把计算机的价格拉到了一千多美元,是小型机的1/7 到 1/10,这下中产都能买得起了 —— 计算机的发展从此以无法想象的速度大爆炸。我们敬爱的盖老师看到了这一历史性的时刻,萌发了让千家万户的卧室里都有一台电脑的宏大志向。
八十年代单是 Apple II 就销售了上百万台,更别说千万量级的 IBM PC 及其兼容机。
这么大的增量市场,需要海量的程序员来填补软件上的空白。到 1990年,还没有发布 Windows 95,行业地位并未垄断的微软已经有 5600 名雇员(其中主要是程序员),收入 11 亿(见:https://www.thocp.net/companies/microsoft/microsoft_company.htm)。80年代的第四代程序员的数量,估计已经膨胀到了百万的量级。
八十年代产生的重量级语言是 C 的两个继承人:
90 年代多媒体电脑来临,奔腾的心配上 win95,个人电脑真正进入千家万户。大街小巷传唱的 "You don't even have to try, it comes easy for you ... good times, bad times gimme some of that" 简直就是程序员的内心独白。
win95 第一年的销售是四千万个拷贝。而个人电脑在 98 年,跨过了上亿的年销量。
99 年到千禧年的世纪之交,一年时间,Microsoft 的雇员从 31k 涨到了 39k。而上文中提到的十年前的数字是,5.6k。猜猜 90 年代的第五代程序员的需求?起码在八十年代的基础上翻两番。
之后的历史大家应该都比较熟悉了,我就不详述了。互联网崛起,社交网络崛起,移动互联网崛起。从 07 年到 17 年,单是 mobile developer(iOS/android) ,从零增长到 1200 万(见:http://www.businessofapps.com/12-million-mobile-developers-worldwide-nearly-half-develop-android-first/)。
这是一个多么可怕的数字!早期入局 mobile 的程序员将享受到无与伦比的红利。
而现在,全世界的程序员已经在数千万这个量级(github 用户数已突破 2100 万)。AI,Big Data,Crypto Currency,IoT 不出意料将会是新的需求大户。2017 年,美国劳工部公布的(https://www.bls.gov/news.release/jolts.t01.htm#jolts_table1.f.3)在 IT 行业这个 sector 下,每月平均有 100k job opening,我们按半数是新增来计,全年 600k new opening,如果其中 1/2 是程序员,全美一年 IT 行业的程序员新增需求是 300k。考虑到其他行业虽然不属于 IT,如 Finance,Education & Health service 等,但也有大量程序员的需求,各行各业全部加起来也按 300k 算,那么一年 600k 新增需求,而 2016 年的 CS new grad 不到 50k。缺口依旧巨大。
历史告诉我们,对程序员的需求不仅仅总体强劲,围绕着热点的,局部的差异更加可观。PDP-11 热销的时候,C / unix 程序员相对于 Fortran 的新增需求,可能有十倍的差距;windows 时代,windows 平台上的程序员的新增需求,相对 unix,可能又是数十倍甚至百倍的差距。
另外一个有意思的特点是,由于供需的不平衡,在不同的地域间(比如中美),程序员这一职业产生了巨大的套利空间。聪明的公司会利用这个空间来降低自己的支出,从而引发低价格的区域的程序员溢价(鲶鱼效应),从而推高程序员的总体平均价格。2006 年我在 Juniper 时,一个美国程序员的薪水,相当于中国程序员的 3-4 倍,如今,仅仅在 2 倍上下(当然这也得益于中国互联网一日千里的发展)。印度的大量软件外包(劳务)公司,如 InfoSys,则是把程序员套利交易做成了一个利润空前的生意。
回顾这段历史,还有一个很值得玩味的地方:市场一直对程序员的需求强劲,可靠的供给却严重不足。70 年来,几乎平均每五年,对程序员的需求就增长一倍。这意味着市场上大量充斥着 < 5 年工作经验的,新入行的程序员。这意味着什么?在这样一个疯狂的市场下,程序员这个职业本身已经获得比其他职业高得多的溢价,而靠谱的,有经验的程序员,则很容易在这个溢价的基础上,再翻上一两番。没办法,这是供需决定的。
供需的极度不平衡,局部领域(地域)变态级的不平衡,是程序员高薪的第一个秘密,也是最主要的一个秘密。
第二个秘密往往被人忽略,那就是,软件公司,尤其是互联网公司,有着无法企及的 unfair advantage:它的融资成本太低了,太流氓了,流氓到美联储都自叹弗如。
就像美女爱英雄,贪婪的资本偏爱天生就具备颠覆能力的软件行业。开个服装店,你不大可能从银行拿到贷款,更别说找风投了;然而你注册个 deeperlearning.ai,放个漂亮的 landing page,VC 的肾上腺素就开始飙升 —— 如果你不是在忽悠,真有个五道杠的能力,且确实在做事情,那么你很大机会拿到一大笔让别人艳羡的资金。这是 startup 的现状。拿了钱干嘛,投资比特币当然是从市场上抢更多的程序员啦,然后拉新留存促增长,再融资,再招更多的程序员,一路循环下去,然后要么成为独角兽,要么卖身,要么玩完。
那位说了,这是 startup,不算数,要比就比上市公司。那我们看看宇宙最奇葩公司 amazon,就是那个上市十几年不盈利,靠讲故事和描绘未来蓝图让投资人屁颠屁颠为其市梦率添砖加瓦十几年的 amazon。从资产负债表来看,二者其实同样算是零售行业 —— 可过去十年,walmart 收入增加了 1370 亿,市值仅增加了 360 亿,而 amazon 在几乎不盈利的情况下收入仅增加了 1210 亿,市值却增加了 4620 亿,相当于增加了两个 walmart(来源:https://www.youtube.com/watch?v=GWBjUsmO-Lw,12分钟附近)。所谓男怕入错行女怕嫁错郎,walmart 这样的凤凰男使出浑身解数赚出一个个 penny 来讨好那个叫华尔街的小姐姐,人家转身施着粉黛,轻解罗裳上了 amazon 这纨绔子弟的靠融资借来的兰舟。
其他巨头虽然没有 amazon 这么离谱,但也是市盈率高得像个创业公司。本身的高利润,再加上低融资成本,使得他们在人力资源的竞争上,几乎是在降维攻击:拿着超高的市盈率,左手甩着大把钞票,右手挥舞着价值还预期会不断上涨的股票,他们想要什么人,就要什么人。
第三个秘密是,大公司出于对未来的恐惧,为维持其统治地位,从战略层面进行无休止的人才争夺。甚至,有时候延揽人才的目的是「走自己的路,让别人无路可走」—— 有谁还记得两千年前后,华为包下几乎所有一本院校的 CS 学生?让中兴(和其他企业)欲哭无泪?
我们知道,软件行业的高额利润(或者高额预期利润)几乎都来自于其垄断或者寡头地位。居上位者要保其位,居下位者时刻都觊觎着上位。和绝大多数行业不同的是,软件行业的农民起义来的太容易了些(这也是为何 VC 偏爱这个行业):几颗有想法能行动的脑袋就可以向巨头发起挑战。这让巨头永远保持着一种「离破产只有 18 个月」的恐惧。
这些获得了食物链顶端地位的掠食者,新巨头,比如 google,曾经也是起义军。和老巨头(e.g. microsoft)血战之后上位,身上的伤口还没结痂,不一会身后就有新的掠食者(e.g. facebook)喘着粗气伺机抢夺地盘。新巨头为了维持自己的地位,将行业的人才尽数延揽,给潜在的陈胜吴广们或许以王侯将相,或缚以良田美酒,既可以为自己攻城略地,又有效减少他们直接造反,或者加入新掠食者(e.g. facebook)的机会;而后者,在某个利基市场上活得滋润后,必不甘心久居人下,用更好的诱惑挖角巨头。就像战国时期养士成风,你千金买马,我就千金买马骨。受益的自然是我们这些「士人」。
在硅谷,一个公开的秘密是 counter offer。程序员拿了 F 家的 offer,再去 G 家整一个,即便对 G 家无感,如果 G 家的 offer 更大一些,回过头来再跟 F 家 recruiter 说,99% 的概率能拿到 counter offer。
某个程序员真的这么不可或缺么?似乎不是。像 google 这样的巨无霸,如果每个 team 各裁去 1/3 的程序员,业务估计不会受损,说不定还有提振哩!但是,谁都不敢说那个被我放弃的程序员会不会就是第一张多米诺骨牌呢?更何况,老子这么拽,口中餐却被后进小生截胡,这气怎能咽得下去!
总结一下,强劲的需求,人神共愤的超低融资成本,巨头对未来的恐惧,三个因素,大大催高了软件人才的价格。
上文说了,如今,我们又迎来了新一波浪潮,最抢眼的几个潮头是:AI,Big Data,Cryptocurrency 和 IoT。看上去,软件行业对程序员的强劲需求,还在继续延续。什么时候这一波又一波的浪潮才会停滞下来?我不知道。如果让我大胆地估计一下,也许就跟第一二次工业革命吞噬农业人口一样:当几乎所有的劳动力都在为信息产业打工(这不意味着他们都是程序员),当几乎所有的行业被软件重新定义完成后,才是程序员这个职业饱和的时刻。
而当下的软件行业,虽然程序员的体量已经足够庞大,但整体还在 early majority 的范围,而局部,甚至仅仅处于 innovators / early adopters 的位置:
所以程序员的好日子还远没到头呢。而且,如果你是女性朋友,对软件开发感兴趣的话,更要好好考虑一下这个职业:这个职业女性的比例小于 8%,严重失衡。女性在这个方向上大有作为,更容易脱颖而出。
来源: https://juejin.im/entry/5a016fd46fb9a04511708a3f