2016年中国软件开发者大调查针对软件开发技术、应用开发领域等方面对调查问卷进行了重新设计,同时还新增加了VR、直播、人工智能等新兴软件开发领域的相关调查,更能体现中国IT业、尤其是软件开发领域的发展现状。日前,CSDN发布了《2016年度中国软件开发者白皮书》,解读中国软件开发者的现实状态。
报告指出:全国有近5成开发者月均收入过万,其中近7成来自一线城市。软件开发者在获得较高收入的同时,承受的工作压力也在加大,70%左右的开发者处于长期需要加班状态,40%以上的开发者会经常处于工作压力之下。30%的开发者考虑换岗,不再从事技术开发工作。
VR应用开发仍处在发展初期,面临各项挑战,仅3%的开发者具备实际VR产品开发经验。优质VR内容匮乏,缺乏现象级的产品出现。移动应用开发面临严重的产品竞争和变现压力,过半的应用以社交、游戏及工具类为主。近8成的移动应用面临产品功能定位或变现赢利的挑战。
直播技术呈现快速发展的同时,直播平台业务形态同质化现象严重,亟需差异化和创新型业务,200多家直播平台企业参与竞争,近6成直播平台以社交、秀场类型形态业务为主。
国内企业软件开发流程日益规范化,并重视研发工具的使用,80%的开发团队制定了正式的软件开发流程,60%以上的开发团队使用各类型研发工具以提高开发效率和产品质量。
软件开发者现状分析
软件开发者基本特征
我们将开发者根据年龄范围划分成三类,对不同年龄段开发者群体进行特征分析后呈现出如下特点:
30岁以下软件开发者人数占近8成,全国半数的开发者工作在一线城市。(北京、上海、广州、深 圳、天津),本科及以上学历占8成以上,其中90%以上的开发者是男性。IT信息技术、互联网、移动应用开发三个技术领域涵盖了国内一半以上的开发者。30岁以上的开发者以高级工程师、架构师、技术专家等职位居多 40岁以上的开发者从事架构设计岗位的比例最高。
和国外开发者年龄分布趋势大概一致,国内的软件开发群体一直呈现出越来越年轻化的特点。从我 们2014年到2016年的调研数据来看, 30岁以下的开发者人群占比在8成左右,一直是软件开发领域的 主力军。
女性开发者相对更多地集中在测试、数据分析及前端开发相关职位。
CSDN平台技能图谱上的数据显示出,2016年软件开发者关注在Java、Android等相关内容更多些。
软件开发者薪资状况分析
全国有近5成开发者月均收入过万,其中近7成来自一线城市
作为相对高薪群体的软件开发者平均工资相比去年均有所增加,月薪在1万元以上的开发者占总体数 量的45%,较去年上升了12%,其中月薪在2万以上的开发者数量占比同比增长67%。
在一线城市(北京、上海、广州、深圳、天津)中,月薪过万的软件开发者的占比为69%,该比例远高 于国内其它城市。
数据显示,男女软件开发者薪资水平有一定的差异但并不显著。
通过结合受教育程度和薪资水平的数据特点来看,平均薪资会受开发者所受教育程度的影响。但通 过相关性分析并未呈现出强的相关性,这也体现了当下用人单位相对更务实、更以员工实际工作能 力为考核标准的变化趋势。
互联网行业中月薪过万的软件开发者最多
互联网行业的软件开发者高收入人群占比最高,59%的月薪超过1万元。从事游戏开发领域的开发者 月薪过万比例达到55%。
在互联网行业,不同城市的开发者月薪水平也不尽相同,一线城市(北京、上海、广州、深圳、天津) 工作的开发者月薪过万的占比达到7成以上,二线城市互联网公司的薪资水平受当地经济发达程度的影响,开发者月薪过万的占比接近5成。
从事软件架构设计岗位的开发者8成以上月薪过万
通过数据交叉对比分析发现,8成以上架构设计师月薪过万,近4成的架构师平均月薪超过2万元。
软件开发者的工作压力状况分析
几乎所有的开发者都会感受到来自工作方面的压力,4成以上的开发者会经常感受到压力
97%的开发者或多或少都会感受到来自工作上的压力。其中4成以上的开发者会频繁的感受到来自职 场的压力,更有10%的开发者认为自己时刻处于工作压力当中。
需要不间断的学习和掌握新技术是产生工作压力的主因
软件开发行业的知识更新速度快,新技术层出不穷,身处这个领域的开发者必须不停地学习新技 术、掌握新技能从而适应企业快速发展的要求。在本次参与调查的开发者中,近7成开发者的压力主 要来自于需要时刻对新技术、新技能进行学习和掌握,在这些开发者中有91%的开发者对此倍感压 力,感觉自己从精力和体力上都有些跟不上岗位技能要求高、技术变化快的节奏。
40岁以上的开发者感受到的工作压力和职业危机程度最大
职业危机感随着开发者的年龄增长逐步 凸显,40岁以上的一线开发者会更容易 感受到来自职场的压力,这个年龄段的 一部分开发者是因为身处开发团队较为 核心的位置,需要承担比普通开发人员 更多的责任与压力,而另一部分是来源 于对自身职业发展及上升通道的忧虑。
岗位责任越大感受到的工作压力程度越大
通过对比不同职位开发者感受到的工作压力程度的数据来看,开发者的岗位责任越大承受的工作压 力程度就越大。本次调研发现,负责网络和系统安全的工程师、负责产品质量的测试工程师及属于技术权威角色的架构设计工程师中,有2成左右总是处于工作强压之下。
6成以上开发者会继续从事软件开工作
即使开发者们或多或少、无时无刻感受到来自工作的压力,加班似乎也无从避免,本次调研结果显示,将近六成的开发者表示未来仍会继续从事软件开发。 30%的开发者希望转型到管理岗位。
软件开发者跳槽情况及主因分析
7成的开发者年内没有跳槽计划
员工选择跳槽的原因很多,有待遇、工作环境相关的也有自身职业发展的因素,但绝非是轻易就可下 的决定,能在熟悉的工作环境中与已形成默契的同事一起工作是大部分开发者的选择,本次参与调 研的开发者中7成都没有年内跳槽的计划。根据此数据推测市场平均人员流动率在30%左右。
工作压力越大的开发者跳槽动机越强
通过数据分析我们注意到,开发者感受到的工作 压力越大、职场危机感就越强,他们选择跳槽的动 机就越高。
30岁以下、工作经验在5年以内的开发者跳槽动机相对较高
工作年限在1到5年之间的开发者计划跳槽的占比均在三成以上,跳槽机率相对要高于工作年限在1年 以下、5年以上的开发者;并且年龄越小跳槽动机相对越强,30岁以下的开发者年纪轻、经验尚浅,并 未形成明确的职业发展方向,他们希望通过多种尝试与磨合找到适合自己的职业发展方向。
一线互联网公司对开发者的吸引力最大
以BAT为代表的一线互联网公司不仅是同行业中的佼佼者,同时也是引领技术发展的核心力量,成为开发者跳槽最希望去的公司, 创业型公司次之。
软件开发者使用编程语言情况调研
JAVA依然是开发者最多使用的编程语言
Java、Java继续成为开发者最多使用的编程语言,同时越来越多的开发者已经很少、甚至不再使 用C、C++。这个现象其实也能够反映出当前市场和企业软件项目的发展和变化趋势。
Python是开发者未来最想学习的编程语言
Python入门简单且拥有不断被增强的数据分析工具包,能与各种语言进行协作,支持多种操作系统和 多类型的数据库,在多媒体、科学计算、网络编程方面得到广泛的运用,有着良好的发展前景。在本 次关于未来计划想要学习的编程语言的调研结果中,排在第一位。
VR应用开发现状分析
从上世纪60年代第一款真正意义上的虚拟现实头盔诞生,到Facebook以巨额资金投入VR行业,越来越 多的厂商与开发者开始了VR项目的研发,大量风险资本注入VR/AR产业,中国虚拟现实市场规模迎来 了爆发式的增长。不过目前国内的虚拟现实产业还处于启动期。在VR领域,大多数人是从硬件开始 接触并了解这个行业,硬件设备吸引了大部分的关注力,但由于其本身的价格与性能问题,加上优质 VR内容的缺乏并没能获得很好的发展。而随着硬件厂商在VR应用开发及内容制作上的大力投入与资 本支持,这一问题开始得到改善。
VR 应用开发者的基本情况分析
仅3%的开发者有VR应用开发经验,这里面近7成是新手
VR开发需要面临VR研发经验缺乏、开发所需的设备不普及、设备或昂贵或粗糙等诸多问题。从本次 调研结果来看,仅有3%的开发人员有VR开发的相关经验,其中近7成的VR开发者水平仅停留在对VR 技术领域进行尝试或了解的入门级及以下水平。
VR开发经验和技术资料的缺乏是开发者面临的最大挑战
VR产业链正在逐渐完善,在市场需求的推动下,各类新技术也在不断地涌现。不过当前VR技术研发 依然处在发展初期,未能形成通用的标准,因此开发经验和技术资料的缺乏将是一个长期存在的现 象。本次调研中5成以上的VR开发者认为这是目前面临的最大问题。
近5成的VR开发者认为沉浸感差和画面延迟是最难解决的问题
VR产品相较于同类型的传统产品,比如游戏,区别主要体现在沉浸感,而沉浸感体验越好对使用者 就越具吸引力。开发出沉浸感好的产品除了要依靠硬件设备的支撑外,还取决于内容制作的质量。 除此之外,VR设备画面延迟过长会让人有晕眩感,直接大幅降低了用户体验。而从输入设备到成 像,每一个步骤都会产生延迟,目前被大多数人接受的VR延迟是20ms。在本次调研中,5成左右的VR 开发者都遇到了沉浸感差和画面延迟的问题。
VR开发者使用VR设备与开发引擎的情况
针对移动端和PC端头显设备的VR应用开发较多
通常业界将VR设备划分为三种:移动端头显、PC端头显和一体机头显。移动端头显只要放入手机即 可观看,相对低廉的价格、智能手机性能的发展及开发的便捷性,让近5成的VR开发者挑选它来进行 VR的开发,列居使用VR设备的首位;PC端头显价格相对昂贵,并且需要将设备连接到高配置电脑上 才能进行观看,但其强悍的性能和优越的用户体验仍吸引了很多VR开发者的关注及使用,以41%的占 比排在使用设备的第二位;一体机头显虽然具有独立CPU、输入和输出显示功能,但夹在PC端和移动 端之间,其价格、技术等各方面并未见明显优势,仅5%的VR开发选择基于它进行开发。
Google Cardboard是最为普及的移动端头显设备,价格依然是阻碍VR普及的因素
Google Cardboard是一个简单、易于DIY的VR设备,售价便宜,且有公开的制作图纸。使用的是楞瓦楞纸 板、透镜、磁铁、魔鬼毡以及橡皮等一些常见的材料,由此吸引了57%的开发者对VR的好奇与体验, 当仁不让地成为移动端头显设备的首选。从Cardboard到DaydreamVR,Google不仅实现了简易VR,更将 移动端VR的标准趋于规范,同时在最新的Android N系统中实现了对于VR的支持,从硬件端解决性能所 造成的不足。暴风魔镜是国内较早推出的一款VR入门级设备,售价亲民,并在持续地优化与更新,让 48%的开发者选择使用它来进行VR开发。而Samsung Gear VR虽然有Oculus的加持,性能相较其他头显 更为卓越,但因其比较昂贵的价格,仅有20%的开发者将其作为目标平台。由此可见,价格依然是阻 碍VR普及的重大因素。
HTC Vive和Oculus Rift是最主流的PC端头显设备
HTC Vive和Oculus Rift是目前主流的PC端头戴显示设备,有着各自不同的优势,HTC Vive有着良好的性能 和沉浸感,而Oculus Rift佩戴舒适且有着内容丰富的应用平台,在PC头显设备使用方面,本次调查结果 毫无悬念、两者使用率差距很小,分别以61%和53%的占比排在前两位。
近8成VR开发者选择Unity3D开发引擎进行开发
Unity3D和UE4是目前主流的两款免费的游戏引擎。 Unity3D很重视开发的效率与平台应用上的推广, 它提供了完善的文档和众多模型脚本,方便初学 者快速的上手,时至今日,已经被众多游戏和网站 开发使用。本次调研中,79%的VR开发者选择使用 Unity3D引擎进行VR开发。而UE4更注重画面质感, 能实现3A的游戏水准,有着强大的开发能力和开 源策略,但UE4上手较难且开发成本高,缺少完善 的文档和示例,因此在VR开发者中普及度不高。 本次调研中以23%的占比排在第二位。
VR 研发团队产品开发情况分析
仅有4成VR开发团队成功发布过产品,其中近一半的团队只发布过1款
我们还没有看到一款真正现象级的VR产品出现,从事VR产品开发的团队数量也有限,拥有资金、技 术实力的大公司关注点大部分都集中在硬件设备及一体化产品的研发上,真正做VR内容开发的公 司,往往会在资金或技术水平上受限,难以专注于高质量的VR内容开发。在本次调研过程中,仅4成 的VR开发团队发布过VR产品,其中近5成的团队只发布了一款VR产品。
4成以上VR团队的开发方向是VR内容制作和应用开发
VR出现的最初仅被定义为一种沉浸式感觉的技术,然而VR并非只是一种工具,随着VR技术的完善、 VR设备的普及和开发成本的降低,越来越多的人开始意识到内容的重要性。泛VR内容的逐渐形成, 将VR打造成一个独立的生态系统。VR产品目前的开发方向较为集中在应用和内容制作上,均在4成 以上。
6成以上VR内容制作针对游戏及影视领域
VR技术为游戏玩家带来独特的沉浸式体验和体感输入方式,VR游戏也因此越来越受到玩家的喜爱和 行业的重视。本次调查中,在VR内容开发方面的VR团队选择开发做VR游戏相关的内容占62%,列居第 一位。而加入VR技术能打造出具有交互、沉浸感十足的影片,同样被越来越多的人所接受,从事VR 影视相关内容开发的VR团队占43%,排名第二。
VR技术应用领域广泛,在很多领域开始得到应用
VR应用最大特点之一就是可以模拟真实场景、虚拟未知世界,这一特性使得VR技术的应用前景极为 广泛,目前国内已经将其应用扩展到众多领域。本次调研结果显示,VR应用开发并没有集中在某一具 体垂直领域,房产和教育的VR应用开发排在前两位,也仅有3成左右。
移动应用开发现状分析
移动应用开发趋势及方向
从事移动开发者数量呈逐年增长趋势
智能手机更为广泛的普及与运用,促使移动应用开发类别呈现出更为细化的趋势,针对消费者生活 工作细节的各类应用纷纷涌现。在调查中发现,2014年至2016年,从事移动应用开发人群逐年增长, 从2014年的19%到2016年的33%,增长了近一倍。
开发休闲娱乐和效率类移动应用、跨平台工具类型居多
休闲娱乐和工作是人们日常生活中的重要组成部分,在移动应用的开发类型调研中,休闲娱乐和工 具效率类的应用占比最高,均在三成以上。跨平台开发能够减少开发人员对工程投放的工作量以及 降低工程开发周期,在针对开发的工具与服务类型调研中,跨平台开发工具占比最高,占38%。随着 快捷支付在人们生活中的广泛应用,以及确保应用的准确性和有效性,支付服务和测试服务两种类 型的开发同样是移动开发中比较热门的开发方向,占比均在30%以上。
移动应用开发平台及工具
近8成移动应用基于Android平台进行开发
基于Android平台开发占比高于基于iOS平台开发占比,分别占76%和41%。Android用户基数大、入门简 单、开发周期短、完全开源带给开发者更大的发挥空间,同时Android系统已经不局限在手机上,已经 渗透至机顶盒、POS机等其他设备上,开发需求量越来越大。相比较下,iOS封闭式的开发环境,开发 门槛较高,上手相对复杂,但开发的适配和调试环境要优越于Android并且其安全性较高,同样对开发 者有着较强的吸引力。
Android Studio成为目前移动应用开发的主要开发工具之一
Android Studio是一款由Google推出的、基于IntelliJ IDEA的Android开发环境,包含Eclipse上具有的所有特 性,同时具备更智能化、开发速度快、UI功能强大及插件种类繁多等功能,非常方便开发人员进行工 程的编写与调试。2016年,Google对Android Studio进行了版本升级,同一年也正式结束了对Eclipse Android 开发工具的支持。在本次调研中,Android Studio超越老牌Eclipse成为移动开发人员使用最多的一款开发 工具,分别占64%和52%。
移动应用使用第三方服务情况
支付和推送服务是移动应用最多使用的第三方软件服务
96%的企业会借助第三方成熟的技术或服务来支持移动应用的开发,其中支付和推送服务是使用最 多的第三方服务。第三方支付的快速发展,离不开政策支持、电商助力以及互联网大佬积极培育市场 消费习惯等因素共同推动。其便捷、高效、可信赖等特点,使得越来越多的应用开发商把目光投向了 第三方支付服务,占53%。除了第三方支付服务外,推送服务同样受欢迎,近一半的应用开发商使用 第三方推送服务。一方面,推送服务能够及时将最新消息快速地传递给用户,另一方面,推送服务能 够帮助提升应用的打开率与增加用户使用粘性。
第三方Android应用市场和App Store是移 动应用产品的发行主渠道
在移动应用的发行渠道对比中,对各类软件持 开放态度的第三方Android应用市场以55%的占比 位居首位。而App Store作为苹果产品唯一的官方 渠道,同样拥有着较高的占比,占51%。
移动应用开发过程中遇到的问题与技术挑战
移动应用终端适配是移动开发过程中遇到的主要问题 因设备各异、品牌繁多,版本杂乱,导致移动应用产品的适配工作量异常沉重,是开发过程中开发人 员最常遇到的问题,在本次调研中,占66%。
把用户需求产品化并能够盈利是移动应用面临的最大挑战
我们从数据中看到,移动应用开发呈现的同质化、只解决浅层需求的现象非常严重。如何把用户种类 繁多、多层次、多元化的需求在移动应用中体现出来,以及如何在数量庞大的、同类型的移动应用中 做到脱颖而出,并能够生存是广大移动应用开发团队必须直面的问题,在本次调研中,近四成移动开 发者认为把用户需求产品化并实现应用盈利最具挑战性。