随想


概述

此文只狭义的讨论程序员这种职业,程序员:具备代码编写、调试能力的IT从业者。

我认为未来相当长的时间内(超过10年),广义的IT行业,特别是互联网行业,将持续繁荣景气。程序员供给将维持典型的金字塔形,初级远远多于高级。需求则相反,是倒金字塔形,对高级程序员的需求将越来大,具备高超编码技艺的程序员会有越来越大的议价能力。

行业

在所有职业当中,程序员的数量恐怕是增长率最高的,年复一年大量新人进入这个行业,但需求增长的更快!许多岗位总是缺人,缺的是中高级人员,但由于行业发展太快,大部分供给仍然是初级程序员。所以具有丰富工作经验的程序员是很抢手的。

为什么需要这么多程序员

很多传统行业逐渐被互联网侵蚀,相应的工作岗位其实也是被取代了。程序员让许多工作自动化了,这个趋势还会继续下去。最简单的例子是收银员,现在国外用自动收银机器取代人工,只需要十分之一的人员。金融领域也是,自动化交易取代了大部分手工交易。滴滴出行已经打垮了出租车行业,早晚会让出租车这个行业逐渐消亡。大部分行业,都会或早或晚的发生类似的淘汰。IT行业也会面临这样的淘汰,更高效的企业淘汰低效的企业。但会比其他行业慢得多,因为自动化、软件化其他行业是需要程序员进行开发和后期维护的。

许多人认为IT行业,就是很多行业当中的其中一个而已。几百年前的人也会认为“工业”只不过是一个小行业,因为人不多。随着科技的发展,工人成了主流,这“工业”开始分成各种各样划分开来的新行业。后来服务业(白领)又突然发展起来了,分裂成现在大家所熟悉的各种行业。

下一次工作变革就是编程。它会慢慢形成很多独立行业。现在已经能看得出来啊,软件行业里面已经有很多不同方向的,我干不了A,A干不了B,B干不了C,C又干不了我所做的。但是我们都是“程序员”。在以后,我们就不会再说“他是程序员”,而说“他是A”,“他是B”。

所以你看,我们处在一个行业新老交替的大浪潮中,程序员又是核心生产力,需要只会越来越大。

IT行业形成社会阶层了吗

是的。在发达国家属于新中产阶级,国内IT从业者从收入上来说也是中产阶级水平了。行业内部也是阶级分明。

行业:互联网 > 传统软件

公司:独角兽 > BAT > 二线互联网 > 创业公司

员工:名校海龟 > 985 > 211

许多圈子里的东西外人根本看不懂,进不去,这不是社会阶层是什么?

程序员会持续紧缺吗

程序员并不多,据说中国也只有200万会写程序的人(占人口0.14%)。印度270万程序员(最多的),也只占人口0.2%的样子。美国的Tech行业(包括IT在内)工作人员达到700万,占人口的2%以上。英国类似,160万员工,也占到2.4%。其它西欧国家应该都是差不多的比例。不过拿整个行业来对比不恰当。因为高科技行业其中只有一小部分人是搞程序的。美国专业从事软件程序的人口呢,好像只有102万(根据2010年的人口普查),0.3%,还少于:律师职业,104万;金融资产管理,110万;大学老师,130万。

程序员的总量本来就不多,资深的更少,某个领域资深的更是难得。比如北京地区资深golang开发工程师?候选人可能不超过100人吧。如果企业急需这样的人才,当然会愿意溢价。另一方面,这几年大量培训班出来的IOS开发进入市场,已经拉低了IOS的薪资水平,大大提高了求职难度。

所以紧缺的一直是中高级程序员,且会长期紧缺下去。在行业更替的过程中,需要很多人来做事,而能把事情做好的人又少。程序员只要有几年经验在几家公司,累积掌握到了独特(仅限于自己)的一套技能,总能找到高薪的有价值的工作。因为他们是稀有动物啊。只要有一家公司正好非常需要那一套独特的技能,稀有程度已经很明显了。因此稀有的高级程序猿可以挑来挑去。公司竞争抢程序员而不是程序员竞争入公司。

程序员的职业路线图

既然已经找到了长长的雪坡,就要把雪球滚好。我认为这些是有利于程序员的长期职业发展的

专业:深入研究某项技术,达到专业、专家的级别

平台:进入大型公司或核心团队,积累现实世界中的技术挑战经验

学习:关注业界技术进展,适时学习新技术

乐趣:享受技术本身的乐趣