深度揭秘中国开发者现状
前言:
这个世界不断被代码改造,生活中的一切也不断科技化,开发者也正成为一个独特、新兴的群体。那今天,这个“族群”社会特征是什么?拥有何种独特脸谱?技术现状和趋势又是如何?
阿里云栖社区除了阿里集团自身专家外,也覆盖了包括云计算、大数据、人工智能、安全、前端、移动等众多技术领域,拥有2000+以上的专业领域专家。历经两个月,云栖社区在近15000人的开发者填写问卷后,整理清洗出7000多份有效数据,呈现出这份可以透视中国开发者现状的报告。enjoy~
一、技术特征
上图有两个有意思的点。一个是在代码托管平台的选择上,中国开发者在采用GitHub和公司内部工具两种方案上不相伯仲。显然,国内并没有一个能让中国开发者放心的自有托管平台,尽管GitHub访问较慢,但其国际影响力、品牌能力令中国开发者信服,而出于对企业资产的管理的目的,很多中国开发者也只能把代码放在公司内部工具上。
其次是开发语言,中国开发者对JavaScript的应用程度排名第一, 与全球最受热捧的开发语言相比,中国开发者对Java 的态度似乎比对SQL更热爱。中国开发者应用最多的前五个开发语言中,多数开发者收入稳定在1万人民币到2万人民币之间,但Java、Python的高收入群体比例明显提升,这也不难理解为何Java受到中国开发者的青睐。
二、开发者现状
从上图可以看出,北京、杭州、上海、深圳、广州成开发者最喜欢工作的城市。其中,值得注意的是杭州成为仅次于北京的开发者偏爱城市,首次突破了北、上、广、深的围栏;在中国西部区域,成都、西安分别成为开发者最喜欢的两大城市,以这两个城市为边界的更西部,则成为了开发者的“沙漠”区域。
在中国66.2%的开发者选择中国普及率最高的微信作为沟通工具,41.4%的开发者选择钉钉作为主要的沟通工具。但这里有一个有意思的点就是,钉钉在高收入开发者群体中使用率越来越高。通过收入水平来看沟通工具应用的变化,明显看出随着工资收入水平的提升,钉钉的使用率越来越高,而QQ则呈现 直线下降的趋势,显然不同的沟通工具带给开发者的应用价值并不相同。
在中国,过去几年开发者一直被认为是一个高薪职业,而就本次的调研情况来看,公众的感知还是比较准确的。87.4%的中国开发者的月收入水平高5000人民币,67.6%的开发者月收入达到8000人民币以上,这个收入水准已经追平中国最发达城市北京(¥9240)、上海(¥8962)、广州(¥7409)、深圳(¥8315)的月度平均工资水平。
三、Web技术
53.3%的开发者表示已经将Web应用部署在云服务器上,相比之下传统的自建机房、租用服务器方式正在逐年减弱,这也显示着在中国这种云服务部署服务器的方式将会成为一个新常态。
39%的开发者使用过阿里的前端开发框架,实际上前端开发者很习惯于使用第三方库,而且整个生态也很完善,而前端开发当中有近四成用户使用过阿里的前端框架,可见阿里前端框架在中国前端开发者群体中已经形成了一定的品牌效应。
四、云计算
对开发者而言,对云平台形成较大压力的场景主要集中在两个领域中,第一的是跨地域、跨Site的应用(占比45.6%),其次则是大量的Web服务,这两类场景对云平台的压力非常大;而一般性的企业管理软件、IM应用等对云平台的压力并没有想象的那么大。可见,不那么直观的、频繁交互的网络交换服务、网站响应等对云资源的消耗非常巨大。
五、大数据
现阶段来看,大数据主要应用的行业集中在偏向资金密集、数据基础量大的行业中。受益于互联网的传承,物联网拥有大量的企业、个人数据,甚至较难获取的社会性数据,天然的成为大数据聚集的平台,为大数据的应用提供了良好的土壤;电商,则是一个天生的大数据生产与收集平台,大量的行为数据加上活跃的商业氛围,成为大数据的另一个重要服务行业。
在调研中,近50%的中国开发者已经开始使用Hadoop HDFS、HBase等大数据存储方案。出于对数据查询、检索更高效、成本的诉求以及对数据安全性的考量,分布式计算系统优势明显。云栖社区的技术专家认为,企业数据日产量大于1TB时,从分析效率来看,更适合选择分布式存储方案。
作为开源分布式大数据计算平台的鼻祖, Hadoop生态现已提供了一套完整的存储和计算体系,也是时下装机量最高的计算框架,其成熟与丰富基本上可以满足企业的大部分应用场景; Spark能迎头追赶Hadoop主要是其解决了一揽子的问题,比如 SQL、机器学习、流处理、图等,而更简单的API无疑加速了其追赶速度,此外在一个内存越来越便宜的时代,基于内存带来的性能提升让Spark不火都难!Hadoop与Spark,老将与新贵,交相辉映。
尽管企业、开发者对大数据有很多的顾虑,但在战略方向和长远发展来看,大数据已经成为大家的共识,必须要进行投入,可以预见,全民大数据一定会像全民皆云一样成为主旋律,投入是必须的操作。而在投入预算方面,由于对大数据认知度的局限、大数据产品服务的不足、市场教育的缺乏,有相当一部分的开发者并不清楚应该投入多少才是合理的预算范围。
六、人工智能
2016、2017年人工智能成为中国开发者重点关注的技术领域,在中国计算机视觉、自然语言处理、语音相关技术 成为开发者渗透最广的三个AI技术领域。AI的两个重要技术方向一个是感知智能、一个是认知智能,认知智能的难度要高于感知智能。在这样的背景下,多数开发者选择相对容易入手的计算机视觉和语音相关的感知智能领域,作为上手AI的敲门砖。
视觉技术依然是一个非常前沿的技术学科,对中国开发者而言依然有很多障碍需要克服,首当其冲的就是算法成熟度问题,其次则是场景的复杂度过高,数据较难收集;而成本问题相比前两个问题,似乎对中国开发者而言就显得并不是关键性问题。
算法是视觉技术的基础,而算法的核心是数学,因此也就给很多开发者树立了天然的门槛,许多顶尖的开发者如果缺少了顶尖数学的能力,很难将难以理解的数学逻辑用代码的形式表达出来,这个问题已经成为包括中国开发者在内的全球视觉技术开发者的共同阻碍。其次则是复杂场景的数据收集问题,尽管中国在传感器部署方面数量众多,但由于数据安全性问题,开发者很难获取海量公共信息,因此面对复杂场景时,只能进行有限的数据收集,这也成为开发者应用视觉技术时的另一个重要问题。
七、移动开发
中国移动化看似美好的繁荣市场下,实则是一将功成万骨枯的壮烈。在被调研的所有移动开发者中,仅有15.8%的 开发者表示对所开发的移动应用盈利情况表示满意,也就是说超过八成的移动应用并不能很好的实现“奔小康”。对于如何实现移动应用的盈利,开发者们也是各显神通,目前最有效率的盈利方式是应用内购买,其次则是电子商务,而传统的互联网广告、付费下载等方式在移动端似乎不太灵验。
八、区块链
中国区块链的商业应用还处于非常原始的阶段,甚至包括全球流行的比特币服务也已经被叫停。因此在应用区块链服务方面,多数的开发者还处于探索尝试阶段。目前主要使用的场景是利用区块链技术实现信息存证,第二位的是使用资产模型,实现资产的流动与信息检索,第三位的是关键业务的约束上链。显然排名靠前的区块链服务核心都是实现局部或部分关键信息的存证与检索,为保证信息的真实有效性而上链。
区块链其服从多数原则的机制与隐私的结合也非常独特,50%的开发者倾向于使用密码原语+智能合约结合的方式来实现隐私与区块链的结合,另有42.9%的开发者认为离线交易+平台存证更好。而现阶段,这两种方式似乎各有优劣,还有待进一步的验证。
区块链毕竟还是非常年轻的新技术,开发者面临的问题五花八门,并没有形成明显的聚类特征。50%的开发者认为标准是最大的障碍,46.4%开发者认为技术不成熟才是首要问题,另外有32.1%开发者表示没有成功案例参考才是最令人头疼的问题。可见,现阶段要想实现区块链的快速发展,标准、技术、成功实践都是硬伤,而这个硬伤恐怕短期内还 难以解决。
九、安全
信息化的安全问题犹如人类的“流感”一样,安全威胁变化快、种类多,随着时间推移会越来越具有隐秘性和高威胁性。持续的对安全进行投入才是一剂良好的疫苗措施,而从本次调研来看,仅有50%的企业选择增加预算投入,也就意味着有50%的企业是保持和缩减预算,在安全领域,保持投入就意味着倒退,可见企业在安全投入的力度上依然不够坚定。
随着云计算对传统信息化的不断替代,安全的管控也逐渐击穿传统信息化的边界,通过统一平台的方式来管理本地化与云端,即节约了成本,又实现了效率的提升,云上云下的统一安全管理是不可逆的趋势。
十、其他
最后给一个小彩蛋,让大家看看业务开发者、普通开发者和高管开发者三者的区别。