随着互联网迅速发展,云计算、大数据由“热点”到落地,使得软件开发者不再为数据存储、数据分析而焦头烂额;互联网进入移动时代,Android、iOS平台给予了软件开发者更大的舞台空间;硬件设备的发展,这十年间出现了诸如iPad、Kindle等手持阅读设备,使得学习渠道更加便捷;开源环境日趋成熟,国内外开源共享平台发展迅速,开源软件及库造就了诸多传奇产品;在线教育迅速发展,在国内外各类公开课平台上,免费的计算机课程比比皆是……
开发者篇
十年光阴,岁月更替,说是变化巨大,但仍有些亘古不变的东西。比如,男性年轻人永远都是主力军。调查数据显示,男性软件开发从业者占总数的93.37%,其中21~30岁占总人数的82.73%,而21~25岁的更占了总人数的51.2%。同时,数据显示,女性软件开发者占比并非一直很低,在1~3年从业时长的开发者中,女性占比为6.8%,而随着从业时长增加,占比逐渐降低,达到15年以上时,几乎没有女性存在。
随着中国教育普及度增长及高校的不断扩招,软件开发者的学历水平在逐渐提升。本次调查参与者中,64.09%拥有本科学历,硕士及以上学历占比也超过15%。
参调者来自地区与国内IT发展环境态势相符合,北京、上海、深圳、广州与成都的参调者占比总和为47.74%,其中北京占比更是超过20%。一直以来,北上广科技发展迅速,所以十年来它们一直是开发者最愿接受的工作城市。得益于智能硬件行业发展迅速,软硬件结合趋势明显,深圳在近几年也成为不少软件开发者乐于选择的栖息地之一。
开发者男女比例分布
30岁,对于不少软件开发者来说,是一道坎儿。网上时常会出现“程序员30岁以后做什么”这样的讨论。与十年前相比,30岁以后开发者继续写代码的意愿在降低。在CSDN此前的调查中,有62.11%的开发者表示在30岁以后不会再从事开发工作。而十年前的调查中,当时年龄在35岁左右的软件人,基本都在软件公司“担当着成熟、理性、有主见的软件开发带头人角色”。
本次调查中,我们发现软件开发者在30岁以后,计划创业或已经创业的比例超过了40%。而在30岁以下,这一数字不超过33.3%。同时,数据显示,从业时间越长,计划创业或已经创业的比例越高,其中有10~15年工作经验的开发者创业意愿最强烈,占比超过50%。相对应,此阶段的开发者年龄都在35~36岁左右,已经积累了足够的经验,拥有技术优势、懂产品、懂趋势,进行创业的话,拥有了其他人不具备的优势,但“一将功成万骨枯”,成功者的背后倒下过多少人我们也需要在心中掂量掂量。
不同年龄段开发者创业态度
产品篇
即使科技发展迅速,软件在企业中的应用越来越广泛,但调查数据显示,大多数软件开发者仍然来自IT企业,其中互联网、IT软硬件提供商(如IBM/Intel/微软等)、系统/网络集成三个细分行业占比位于前三,分别为17.14%、9.36%及8.46%。所在公司研发人员规模也不尽相同,其中有24.9%参调者表示公司研发人员规模不到9人,研发人员规模在10~99人之间的公司占35.33%,在100~499人之间的公司占19.03%,而研发人员规模在500人以上的公司超过20%。
开发者公司所在行业分布
产品上,互联网后端(服务器端)产品是软件开发者主要开发的软件类型,占比为24.09%。绝大多数行业的软件产品都离不开服务器端的支撑,尤其在互联网、电子商务及金融(银行/证券/保险)行业中,互联网后端(服务器端)软件开发占比较大,参调人员中,这三个行业中分别有46.4%、40.3%和33.7%的软件开发者在从事互联网后端(服务器端)软件产品的开发。
除了互联网后端(服务器端)产品外,企业级应用(ERP/CRM/SCM/BPM等)和移动应用客户端也是开发者主要开发的产品类型,占比分别达到17.27%和14.01%。
近几年,移动互联网发展已经逐渐成熟,凭借移动应用开发一夜成名的软件开发者不时出现。调查数据显示,移动应用产品在各行业表现渐有超越互联网前端及桌面客户端应用产品之势。尤其在游戏行业中,移动应用客户端产品开发人员占总人数的42.7%,这与国内移动游戏市场发展的火热息息相关。另外,得益于移动互联网对基于地理位置信息服务(LBS)发展的促进,旅游/零售/住宿餐饮行业中,移动类产品相比其他行业同样略高,达到17.3%。相信在未来几年,移动应用类产品开发仍然会是热点,软件开发者需求仍然持续增长。
操作系统篇
根据StatCounter提供的数据显示,2014年5月,Windows 7在中国市场的份额为49.92%。即便Windows XP在2014年4月8日正式退役,其市场份额仍然居高不下,为41.35%,保守估计,Windows XP在中国市场的用户不低于2亿。
与此相应,调查中有42.74%软件开发者表示自己所开发的项目是面向Windows桌面操作系统,有15.63%软件开发者所开发项目主要面向Windows Server系统。除此之外,面向Linux系统开发项目的开发者有22.39%。同时,移动互联网市场发展迅速,面向Android及iOS操作系统进行项目开发的开发者分别占11.14%与3.08%。参调开发者中,也有部分Mac OS X系统项目的开发者,占比为0.85%。
开发项目面向操作系统分布
5月16日,中央政府采购网发布了《中央国家机关政府采购中心重要通知》,其中第5点注意事项称,“所有计算机类产品不允许安装Windows 8操作系统”。相信这样一款禁令将会影响国内不少开发者的职业发展之路。“禁令”虽然只是针对国家政府机关,但同时也会影响其他政府机构或企业单位对操作系统的选择,如国防/军队、交通及医疗卫生、金融(银行/证券/保险)、教育、制造(通信设备、计算机等电子设备)、电信(含广电传输和卫星传输)、公共事业(电力、燃气、水利水务)、制造(非电子设备)及媒体(新闻出版、广播电视等)。而调查数据显示,有38.42%的软件开发者所在公司软件产品是面向政府或以上可能受影响行业的。据此我们可以推测,在未来一两年,面向Windows系列操作系统开发产品的软件开发者群体比例将会降低,Linux系操作系统软件产品或有机会出现一定增长。而随着移动智能设备的进一步普及,Android、iOS系统产品开发市场将持续增长。由于Android及iOS的强势,其他移动操作系统在相当长的一段时间内将很难实现突破。
编程语言与平台篇
老而弥坚的Java
Java语言诞生已近20年,作为主流开发语言一直备受关注。本次调查中,42.82%的软件开发者表示Java是自己的第一编程语言,C#与C++紧随其后以17.33%、14.35%的占比位列第一编程语言的第二、三位。
开发者第一编程语言分布情况
Oracle公司在3月18日发布了Java 8正式版,同期发布的还有JDK 1.8,新版JDK带来了不少新特性。但新技术在市场的普及仍需时日,调查结果显示,Java开发者中,目前使用最多的JDK版本是JDK1.6和JDK1.7,两个版本使用率为88.26%。
开发者目前采用JDK版本分布
Java开发主要使用的应用服务器是Tomcat,在开发者中受众比为75.71%,Oracle Weblogic有10.12%,而Jboss AS和IBM WebSphere分别只有4.35%和5.48%。在Web应用开发所采用的服务器端技术中,Java支持率最高。
Java开发人员使用的Java Web开发框架前两位是Spring MVC和Struts,占比分别为36.66%和25.79%,这两者的使用占总份额的62.45%。另外值得注意的是,Java开发人员中不使用框架的比例达到了11.54%,自行开发框架的比例也达到了10.91%。
Java 8的新特性在发布之后迅速成为了开发者非常关注的技术热点,除此之外,Struts+Spring+Hibernate、Hadoop及Spring MVC也是开发比较关注的技术热点。
没有太多的意外,绝大多数Java开发人员使用的开发工具是Eclipse,不过随着开发从业时长的增长,Eclipse份额有所减少,而Intelli JIDEA和NetBeans比例有所上升。
.NET平台生态圈前景可期
4月,微软宣布成立.NET基金会,微软称基金会将为企业客户、开发者提供一个社区平台,进一步强化.NET生态圈。同时微软还将旗下24款.NET软件基于Apache 2.0许可协议开源。
本次调查中,有23%的开发者表示从事.NET开发工作。其中82.56%开发者对.NET平台感到满意,语言和框架设施的齐全最令开发者满意,开发工具领先、资源丰富以及社区规模大、微软官方的支持等同样是.NET令开发者满意的因素。当然,.NET也有令开发者不满意的地方,如限定在Windows平台、性能资源耗用多等,其中限定在Windows平台的不满意率最高,达36.89%。
.NET技术最令开发者满意的地方
使用最多的.NET开发工具是Visual Studio 2013和Visual Studio 2008,这两者的比例占到了开发工具的81.83%。
.NET开发人员最关注的技术分别是ASP.NET MVC、ASP.NET Web Pages、Windows Azure相关的云计算技术,其中ASP.NET MVC关注度为33.24%,ASP.NET Web Pages为14.61%,Windows Azure相关的云计算技术则为13.24%。而WPF技术、用Mono或Xamariam开发移动应用类也占据一些比例,分别是8.68%和7.49%。