每个行业的工资是市场决定的。得分析需求与供给。
---
供给:
程序员并不多。据说中国也只有200万会写程序的人(占人口0.14%)。相当少。
另外,印度270万程序员(最多的),也只占人口0.2%的样子。
我们先从西方国家的角度出发吧。虽然和中国印度不一样,但也有很大的参考价值。
美国的Tech行业(包括IT在内)工作人员达到700万;占人口的2%以上。
英国类似,160万员工,也占到2.4%。其它西欧国家应该都是差不多的比例。
不过拿整个行业来对比不恰当。因为高科技行业其中只有一小部分人是搞程序的。美国专业从事软件程序的人口呢,好像只有102万(根据2010年的人口普查);0.3%。
另外,在美国的职业排行中,程序员在所有职业当中人口数量排行第三十,还少于:
律师职业,104万;金融资产管理,110万;大学老师,130万
如果觉得金融和律师工资高很合理,那程序员工资高也是合理的。
话说,软件行业还详细分类,分各种语言各种平台各种特殊要求。编程语言的话;熟悉Java到专业程度的程序员只有其中30%。Python估计20%。C不到10%。像Golang之类的小众语言,1%都没有。(或许可以参考一下github上的用户数据)。
我们假设伦敦只有0.3%的人是写程序到专业程度的,那就是四万人左右。如果伦敦一家公司必须招Golang经验的人,能选择的程序员可能只有三四百人的范围了。如果再要求人家Python和Golang都会,那可能少到只有50个人选是合适的。随便看看一家科技公司的招聘要求,都会有好几个乱七八糟的,比如这语言那语言、什么SQL啊、Linux啊、机器学习啊、云端计算啊。。。每家公司要求也都不一样。真能完全符合他们所有要求的人可能只有几个甚至根本不存在。能找到满足两三个要求的人已经算很不错了。
其它行业没这么麻烦,一个职位总是有很多人都能胜任的。选择多了,公司就有条件把工资压低之类的。但是在程序招聘方面,谈工资的权利在程序员手里,因为对方没有选择。程序员本来那么稀有,非常适合要求的程序员更是稀有之稀有,不能错过。
(在简历上写什么都会的人一抓一大把;但是人家公司也不傻,能看穿。这些东西到精通的地步都需要好几年的经验。如果某个程序员真能够精通了其中两三件,又正好符合公司所要的,那价值无上限啊。稀有度决定一切)
(也有不一样的,一些高科技大公司比如google、facebook,他们不一定要求人家具体会做些什么,因为反正什么类型都会招收一些,而且有耐心培养。但是人家找的基本是高能力的人,强调problem-solving能力、逻辑清晰、抽象思维、创新思维、有直觉的、等等。达到这种境界,会什么不会什么都不重要,反正都能很快学会新技能。但是一般公司没这耐心,没这远见,只想尽快找一位能马上解决特定问题的员工)
(当然也不能说一个程序员的价值取决于他熟悉多少种计算机语言什么的。请别这样理解。许多程序员“高阶技能”更是一种训练出来的思考维度,和编程语言无关。这些维度决定一个人能否有效解决某一类问题。具体用什么语言并不重要。不过吧,如果只接触一门编程语言,思维肯定会有些捆绑)
---
需求:
好吧,伦敦有那么几万个程序员。假设平均两年换一份工作。如果市场稳定了(满了),那每个月新空出来的职位应该只有几千个吧?但是伦敦的招聘广告明明每个月都十几万个啊。而且一年一年越发多。这只能说明:找不到人了!
很多公司都是招不到程序员的状态。有些公司一开始很天真,挂一个他们自认为很好招到人的低职位广告,准备四万英镑年资(30多万人民币)。结果时间过去了几个月,发现过来面试的偶尔几个选手也都不适合,只好把年资提升到六万、八万、十万。最后终于来了一位程序大牛,非常适合,但是人家被另一个给出15万镑年资的公司给抢了。结果挂了一年多还在等人;老板的美梦都这样被现实毁灭掉了。
(在伦敦四五万镑年资的程序员当然也有不少,因为这些人总能找到一个能接受他们的公司。要么公司等得太不耐烦了只能选他们,要么成功装逼就混进去了。也或许是真找到了最适合的一家了。。。可是意识不到自己的稀有程度,低估自己的价值,有点可惜。有些人大概工作了几年才会有这种意识吧,然后追求的工资开始飞速涨价。)
总体来说,伦敦(以及西方各地)的程序员工资很高是有道理的。因为需求高于供给高得太多太多了。其它行业都是公司来选员工。但是这行业还真是员工来选公司。这也可能导致各种不公平吧。许多员工在五十万年资(人民币)的范围混,也有许多员工在百万以上(因为他们找到了自己稀有之处,并且运用了)。反正平均可能在八十万左右(比伦敦的平均薪资高一倍),但是很少有人的收入在这个平均值,一般是在两个极端。
中国是否处于类似的情况,好像是的。道理应该也很相似。如果你在找一千万人,但是只有几百万人能做到,肯定也会这样。而且其中每一个职位大概只有10-100人能做得好;做得到底好不好又很容易判断出来,薪资差距自然很明显。
---
程序员收入比其它职业高是事实。而且一点都不虚。
世界需要很多人来干这些事,能干的人又太少了。
这些程序员只要有几年经验在几家公司,累积掌握到了独特(仅限于自己)的一套技能,总能找到高薪的有价值的工作。因为他们是稀有动物啊。只要有一家公司正好非常需要那一套独特的技能,稀有程度已经很明显了。问题是不止一家认为他们稀有,所以各种抢破头。因此稀有的高级程序猿可以挑来挑去。公司竞争抢程序员而不是程序员竞争入公司。
---
最后讲几句关于未来:
首先,在所有职业当中,程序员是增长得最快的。大家应该都能看得出来。很多传统工作类型已经渐渐被取代了。正是因为程序员把这些工作内容自动化了。这个趋势肯定会继续下去。
最简单的一例应该是收银员工作。以前需要好几十个员工来负责收银的超市,现在只需要一两个收银员。超市里各种越来越先进的自动收银机器。至少在英国大多超市是这样的吧。整个人工收银行业在未来可能就不存在了。哦,还有金融行业现在几乎所有交易都是自动程序操作的。
其实大多行业,迟早都会有类似的淘汰现象发生。目前,大家不会想到有一天医生会被软件取代。可是仔细想一想,一个软件能分享和同步全世界所有的医疗数据来做一次诊断,远胜一个人的脑力所能做到的。律师分析历年来的案例和档案去找出漏洞的能力也可能不如一个软件程序。其他行业我就不一一说了,以后值得另外好好写一写。
这些变化会远远超过几次工业革命的变化。软件行业是唯一能坚持得比较长久的。这些其它行业被自动化软件化也都需要这些程序员来实现和维持。但是未来几十年内,需求只会越来越大。与其它行业的工资差距也会越来越极端。
感觉很多非行业的人有一种错觉。。。
错认为编程(或Tech)就是很多行业当中的其中一个而已。
我只能呵呵。
几百年前的人也会认为“工业”只不过是一个小行业,因为人不多。随着科技的发展,工人成了主流,这“工业”开始分成各种各样划分开来的新行业。后来服务业(白领)又突然发展起来了,分裂成现在大家所熟悉的各种行业。
下一次工作变革就是编程。它会慢慢形成很多独立行业。现在已经能看得出来啊,软件行业里面已经有很多不同方向的。。。我干不了A,A干不了B,B干不了C,C又干不了我所做的。但是我们都是“程序员”。在以后,我们就不会再说“他是程序员”,而说“他是A”,“他是B”。因为到以后大多数人都是程序员。一百年以后,“程序员”这个词就毫无意义了。
(当然也不是永久的;AI之类的也总会取代程序员,最后让软件写软件。将来下下下一个paradigm是什么我们都猜不到吧,无法想像。那时可能都没有“工作”这般概念。但是程序员的崛起作为目前一个大的paradigm shift,这是能确定的哦,毕竟这才是一步一步走向AI必须经过的一段历史)
汉语中的软件与英语中的software。。。含义好像不太一致?我觉得任何程序员写的都可以叫做software,不一定仅限于公开给大众下载用、有界面的应用。比方说,那些自动化交易程序,或者一些公司给内部开发的特殊功能,或者谷歌背后的搜索引擎后端,或者一辆汽车一台照相机里面的系统。。。甚至一个drone,这些也都是软件吧??
作为一个收入(可能是)amazon程序员中top%10的程序员, 我来很简单的分析一下一般程序员的心态:
首先程序员对自己的财力是有比较清晰的认识的,是有点钱,但是跟公司这些经常遇到的中层高层一比。。。。基本是人家零头。跟更富裕的公司的程序员比也是心酸,看到论坛上有人又分享跳槽XXXX拿到了YYYYYYYYYY的package,自惭很穷,。正所谓人外有人,天外有天。程序员爱上网,自然对网上各种惊为天人的富二代的财力也有清晰的认识。
但是coding老子天下第一呀!↖(^ω^)↗ 你看这个设计,啧啧啧,除了我, 还有谁?!(#^.^#) 哪些VP,director还不是靠我把系统搭建的这么好,组里离了我那就要玩完!是的,程序员往往会在技术上“自视甚高”,越年轻的越这样,学了一个XXXX技术然后发现某资深程序员在这方面不熟悉,就会小欣喜的觉得自己比别人强。
今天去了新开的爱马仕店看了看,哎,没什么新东西,稍微能看上眼的我已经都有了。
哎,这个burberry新款风衣真漂亮,决定今年的生日礼物就是它了!
怎么说呢,我发现XXX家的化妆品更好更适合我呀!YYYY家的以后我都不用了,可惜之前买了很多,浪费了1个月零用钱。。。5555
觉得留学租房不是很方便,所以家里在美色岛(搜了的人会知道是富人区)买了套房子,有3层可以看到华盛顿湖哦(暗示湖景房), 欢迎大家来玩,国内的小伙伴来旅游包吃包住哦!
今天去参加了XXX技术峰会,哎,没什么新东西,基本都是老生常谈,这个AAA宣传的厉害,其实只不过是BBB理论的一种新应用吧了,还是没有解决CCC的缺陷。(内心OS:所以你看我懂AAA,BBB和CCC哦,我很有知识很厉害吧,快表扬我!) ( ^ω^ )
哎,这个新的分布式数据库看起来挺不错的,最近正在学习,有兴趣的同学一起研究呀!(内心OS:你看这个我已经学会了哦, 你会嘛?快表扬我!)(⁎⁍̴̛ᴗ⁍̴̛⁎)
怎么说呢,这个XXX机器学习模型相对于YYY模型更好一些,因为#¥%#&¥...省略各种讨论和论文引用。(内心OS:我是机器学习的专家哟,快表扬我!)(≧∇≦)
我们组发明了一种新的超牛逼的算法/数据库/分布式计算框架/语言/库/服务/引擎, github上火了呀,欢迎大家使用,欢迎评价哦! (内心OS:我是站在技术最前沿的人,我好厉害的,快表扬我!)⁄(⁄ ⁄ ⁄ω⁄ ⁄ ⁄)⁄
所以在这种心态下,程序员为什么要炫富呢? 这就好比我在剑法上有一定的造诣,但是(自以为)内功天下第一,为什么不去秀内功而要去秀剑法呢?
所以你绝对看不到程序员在朋友圈分享这些:
他们会分享的是:
结论:比起财力上的优越感,智商和知识上的(自以为是的)碾压和超越,技术实力的被认同,更能让程序员有快感。
他们就是这么一群在自己的小世界里偷偷的有着自己的小骄傲的人们,一群被PM夸奖一下“好厉害”,就会一边轻描淡写的回一句“没有啦~”,一边心里乐开花的帮PM加班一整天赶进度的人们,很可爱吧。
最后挂一个自己对“什么是编程”的体会的答案,努力写的比较浅显易懂(反正写的干货也不会有人去看 =( ・᷄ὢ・᷅ ) =),非程序员也可以看下哦,觉得对您有帮助的话,可否点个赞帮我实现拥有一个万赞答案的小心愿呢。先行谢过 。