自2011年初,CSDN在网上发起“2011年软件行业技术人员薪资大调查”以来,引起了广大开发者们的热烈反响,短短两月时间内,近万名开发者提交了薪资调查数据。尽管这只是中国百万开发者大军的一小部分,但他们所在的行业几乎涵盖了整个中国软件的产业链,他们的职位几乎代表了一个软件团队体系的每 一个层面,而且“一叶知秋”,所以透过这些调查数据和变化,我们或许可以一瞰中国软件开发者的普遍生存状态,甚至可帮助开发者,更准确地定位自己在产业内的坐标。
2011:程序员的日子不算差
相信每个开发者在回忆当初高校毕业,加入滚滚求职大军的情形时,都能记得那番对美好生活的憧憬和闯荡世界的豪情。而在经济社会,判断成功的可量化方式无疑是薪资了,尽管有点世俗,但暂时也找不到更好的标准。那么现在,中国的程序员们,总体收入水平如何呢?首先我们看程序员们对薪资水平的满意 度。
我们发现绝大多数程序员(近73%)对自己的薪资并不满意,这种普遍不满意的情绪有多少是主观预期过高,多少是客观生存环境造成的呢?我们需要做进一步的考察。
我们按月薪大小把收入水平划分为四类:低收入(小于2000元)、中等收入(2000~5000元)、中高收入(5000~10000元)、高收入 (大于10000元)。从调查数据看,来自中国17座重要IT城市的开发者们,占据绝大多数的是月薪2000~5000元,它在13个城市占据最高的比 例,其中排前3名的是沈阳(67.5%)、济南(65.8%)、珠海(62.5%)。而北京、上海、深圳的开发者收入水平相对高些,这三座城市占据绝大多数的是月薪5000~10000元的群体。
如果仅依据国家统计局公布的数据显示,2010全年城镇居民家庭人均总收入21033元(月平均1753元),其中北京城镇居民人均可支配收入 2.9万元(月平均2417元)。这两年国家经济相对比较稳定,估计2011年的情况也差不多。所以总的来说,2011年的中国程序员群体,在所处的城市 里,和其他居民比,算相对收入不错的了。
当然也有生存环境堪忧的, 我们发现月薪少于2 0 0 0 元的群体, 主要分布在济南(15.8%) 、西安(13.8%) 、青岛(12.7%)、武汉(12.6%)。
而如果以月薪10000元(及以上)算高薪,排名前列的则是上海(26.9%)、北京(20.6%)、深圳(14.7%)、杭州(11.3%),杭州程序员群体的崛起令人关注,说明杭州近年来的信息化建设成就卓著。再回过头来看程序员的薪 资满意度,我们通过交叉分析发现,程序员的满意度确实和薪资大小相关,收入越高,不满意的比例越小。但值得注意的是,不管哪个收入群体,都超过50%以上 都表达了对当前薪资的不满,说明尽管日子过得不算差,但中国程序员们的幸福感普遍不高。
最佳跳槽次数,最好不超过3次
跳槽,一直是程序员们在职场生涯里所面临的热点话题。它是一把双刃剑,一方面会带给你更多的视野和经历;另一方面,会降低你的企业忠诚度和所在企业平台的积累。所以很多开发者往往会面临是否跳槽的煎熬和苦恼。那么本次调查的数据显示,资薪和跳槽此数存在潜在的规律吗?
从上面的“薪资/跳槽次数交叉分析表”,我们发现在四个收入群体中,“少于2000元”和“2000~5000元”群体中的绝大多数人都未换过工作,而从收入高于5000元的群体开始,有跳槽经历的人数显著加大。从工资高于10000元的高收入群体看,我们发现有3次跳槽经历的人占据最多的比重, 达到24.6%,但从第4次开始又急剧下跌到10.3%。所以从这样的数据结果可以看出,凡是有一定收入水准的开发者,基本上是有跳槽经历的,但跳槽的次数越多,并不绝对保证薪资高。数据显示跳槽次数存在一个“天花板”——3次。看来适度的跳槽有利于经验和技能的提升,但如果跳槽过于频繁,则不利专业的积累,自然在薪资上提升的空间也不大了。
技术菜鸟到牛人的距离,5年是分水岭
再来看工龄和薪资的具体量化关系,我们发现工作1~2年的开发者,工资在2000~5000元之间占据绝大多数,而工龄超过2年的,大多数人的收入 达到5000元以上。 同时我们发现薪资在5000~10000元群体在10年以内都基本处于一个稳定状态,没有明显增幅。而10000元以上的高收入群体,一个非常显著的变化是,前5年的人数增幅明显加快,但之后几年一直均处于稳定状态。
所以,“3年(月薪5000元)”、“5年(月薪10000元)”是两个关键的分水岭。凡是月薪5000元以内的,随着工作年数的增加,人数递减;但随着年数达到3年后,月薪5000元以上的群体,人数开始显著递增。这不难理解,因为工龄的增加,开发者的工作熟练程度也越高,所以自然薪水也就高了。而工龄超过“5年”达到月薪10000元以上后的高收入群体,随后也基本开始保持稳定了。这说明,岁月对于技术开发者的薪资,同样存在一个瓶颈,并不是无限制正比例上升的。由此我们似乎可以推断,在中国软件行业,一个程序员菜鸟发展到业界认可的“熟练工”大概是“3年”,而“技术牛人”所需要的成长时间, 大概是“5年”。
什么工作最赚钱?——不上班
“男怕入错行,女怕嫁错郎”。随着信息化在全社会范围内的渗透,所从事的细分行业的信息化发展水平和市场前景,已经成为决定开发者收入水平重要因素。那么作为开发者,选择什么样的工作,选择哪个行业的软件公司最有发展前景呢?调查结果令人诧异——自由职业者(SOHO)收入水准最高,超过30%的 SOHO月收入超过10000元,月收入5000元以上的比例更是超过84%。但细想也在情理之中,有勇气做自由职业的开发者,往往具备超高的技术水准和丰富的行业积累。
再看具体的细分行业,高收入开发者比例最高的领域是欧美外包(21.4%),看来中国软件本质上离“中国创造”的目标,还有很长一段距离。其次是原 厂商(17.1%),这里的原厂商指的是诸如微软、甲骨文、IBM等软件巨头,其员工收入高并不意外。排名第三的是移动和手机应用(16.9%),这现象 令人欣慰,毕竟未来就是移动互联网的时代。
从调查数据看,最不合适介入的是教育行业,小于2000元的低收入者比例接近15%,月收入小于5000元的接近65%。教育产业在国家属于公共资源,被严格管理,介入门槛比较高,再加上以“高考”为指挥棒的单一教学导向,不容易衍生丰富多彩的信息化应用。此外,餐厅零售行业也是开发者需要谨慎选择的,低收入者10.87%,小于5000元的接近71%。不过餐厅零售业不像教育那样受到政府的严格管理,所以从乐观的角度,说明这个行业的信息需求没有 充分挖掘。
开发语言,选谁都一样
工欲善其事,必先利其器。开发语言、平台对于开发者来说,如同披荆斩棘的利剑。尽管对于顶尖高手来说,达到了编程思想、方法论层面的炉火纯青,可鸟 瞰一切平台和工具,但对大多数初涉软件行业的程序员来说,熟悉哪种语言、开发工具往往直接决定了当下的收入水平和生活水准。从调查数据看,绝大多数开发者都使用JAVA,达到45.3%之高,其次是C#、C++、C、.NET、JavaScript,它们相对比较均衡,基本在25%左右(注:很多开发者往 往实际会使用一种以上语言)。我们发现,C#、.NET开发者中,小于5000元的比例最高,基本在55%。但不能因此说C#、.NET没有前途,因为另一数据发现,所有的语言,在5000~10000元的群体里,比例竟然惊人趋近,基本都在30%~40%之间,这说明不管选择哪个平台,只要达到“熟练 工”水准,收入不会差太远。至于一些语言的低收入群体比例偏高,这和它容易学习,适合编程菜鸟上手有关,因为我们同时通过交叉分析,注意到工龄2年内的 C#、.NET程序员小于月薪5000元收入水平的比例竟然高达80%左右,而工龄超过3年后,这个比例开始明显下降了。
再看高收入群体,我们发现在使用Erlang、Perl、Scala技术的人中,高收入人群的比例较高,分别为 41.2%、36.7%、 36.4%。但我不建议大家一窝蜂地去学习这些语言,因为同时发现它们的样本量极低,分别是17、98、11,远小于近万份的总样本量,看来主要是物以稀为贵,会的人少,自然收入就上去了。
结束语
在本次调查中,我们还结合英语技能、学历高低对开发者的薪资水平进行了分析,发现结果和常识是一致的,即英语、学历越高,获得高薪资的比重越大。总 的来说,开发者要想过更好的物质生活,重要的是在专业性上下工夫,因为尽管随着城市(考虑消费水平在内)、技术平台、行业等外在条件的不同,低收入、中等收入群体的比例千差万别,但高收入群体的比例是基本接近的。