王基 2018-07-10
想了解基础的中国软件开发者用户画像吗?想了解一线城市开发者的薪酬吗?想了解大多数开发者偏爱的编程语言吗?想了解高薪开发者从事的都是什么岗位吗?想了解最新的业界技术趋势吗?......本文带你一探究竟。
中国软件开发者白皮书是基于一年一度的CSDN软件开发者大调查数据分析结果形成的。CSDN最早从2004年开始,对开发人员、开发技术以及开发工具、平台的状况和发展趋势等进行深入调研,它是各相关行业了解中国软件开发者群体以及软件开发服务领域市场的重要参考资料。
2017年中国软件开发者大调查针对软件开发技术、应用开发领域等方面对调查问卷进行了重新设计,同时还新增加了区块链、物联网等新兴软件开发领域的相关调查,更能体现中国IT业、尤其是软件开发领域的发展现状。
30岁以下开发者占比超7成,近半数开发者奋斗在一线城市
通过对47个行业、200多个地区的上万名软件开发者进行调查,可以发现开发者群体年轻化比例在持续增高。
和国外开发者年龄分布趋势大概一致,国内的软件开发者群体一直呈现出年轻化的特点。从我们2015年到2017年的调研数据来看, 30岁以下的开发者人群占比都在7成以上,一直是软件开发领域的主力军。
其中,30岁以上的开发者以高级工程师、项目经理、架构师、技术专家等职位居多,而40岁以上的开发者则是从事架构设计岗位的比例最高——互联网、软件、IT服务三个技术领域已经涵盖了国内65%以上的开发者。
在开发者薪资方面,开发者仍是当之无愧的高薪人群。月薪在1万元以上的开发者占总体数量的59%,较去年又上升了14个百分点。在北、上、广、深以及天津等一线城市中,月薪过万的软件开发者占比71%,该比例远高于国内其它城市,但其他城市月入过万的开发者也出现了较大幅度的增长。
此外通过数据交叉对比分析可以发现,8成架构设计师月薪过万,超3成的架构师平均月薪超过2万元——架构师一职成了高薪开发者追求的香饽饽。
6成开发者每周学习6小时以上,9成关注信息技术类网站
开发者对新技术的追求是十分敏锐的,信息技术类网站就是他们了解行业动态和学习知识的主要渠道。通过调研发现,超9成开发者计划通过学习新技术来提升自己的事业,且6成开发者每周学习6小时以上。
在本次调研中,90%的开发者会通过技术媒体、技术社区、技术论坛等网站了解行业最新动态、获取新知识。阅读技术类书籍也是开发者进行系统性学习的主要方式,比例占到54%。
在其他学习方式上,74%的人群愿意通过购买图书杂志方式进行学习,超5成人员愿意为线上课程付费。目前,时长越短的线上培训越受欢迎,500元以下且周期1个月以内的线上培训接受率超过5成。
不过愿为线下培训付费的仅占39%,周期长、耗时多是重要的因素。
而且据调查,35%的开发者未来半年都有培训计划。但是其中,超过8成的开发者参加培训的预算是来自个人,来自单位的仅占17%。
在开发者感兴趣的培训方向上,63%的开发者偏爱人工智能,56%对大数据/云计算感兴趣,想要参加区块链培训的人数仅占15%。
7成开发者使用Java,6成开发者最想学Python
编程语言之争是开发者永不厌倦的话题。
在本次调查中,Java、R和JavaScript成为开发者最多使用的编程语言。Python则是开发者近期最想学的开发语言,其次是Java和R。
Java虽然是老牌语言,但它一直在持续更新优化,且具备完善的生态和广泛的使用场景,使其依然非常有生命力。而且随着人工智能发展的火热,也成为促进Python语言应用的催化剂。
此外,6成以上开发者在使用Windows操作系统,13%在使用Linux操作系统。63%的开发者在使用MySQL数据库,34%的在使用Oracle数据库。
传统的X86机器相对Mac机器,最大的优势就是价格低,因此在公司开发普及层面会占据一定的优势。Linux在GUI、软件生态等方面相对Windows有不少的短板,因此Window会成为开发者的首选操作系统。
开发者的云/容器使用率不高,使用最普遍的Docker(Swarm)普及率也仅11%。在文本编辑器方面,Notepad++较为流行,57%的开发者使用了Notepad++,其次是Sublime Text,29%的开发者在使用 。
Frameworks方面,jQuery、Spring Framework较受欢迎,3成以上开发者在使用这两者。在开发微服务架构中使用Java作为开发语言,那么开发框架使用Spring Framework往往是首选。在前端的世界里,jQuery由于简单、易用,在项目过程中往往能够较好满足需求,使得其一直很坚挺。
大数据技术应用开始普及,但应用场景相对单一
本次调研数据显示,78%的企业在进行大数据相关的开发和应用。这个比例与2015年、2016 相比,有了非常大的提升。此外,随着云计算技术的成熟及广泛应用和出于对数据安全性的考虑,在大数据平台构建方式上,2017年有4成企业选择私有云解决方案来部署大数据应用。
大数据时代,大数据所蕴含的价值已经毋庸置疑,然而许多企业却不知道如何获取大数据的价值、如何让大数据应用落地。目前大约57%的企业对大数据的应用更多仍体现在统计分析、报表及数据可视化上。
不过,Spark、Redis和Kafka已经基本成为了企业大数据平台通用技术组件。其中,Spark是企业大数据平台中使用最普遍的组件,Redis和Kafka则是最普遍使用的消息队列和数据采集技术组件。
超7成企业利用云平台已经开发应用或正在开发应用
云计算已经相当普及。调研数据显示,有83%的企业正在使用云服务,相较2016年有非常大的提升。仅有不到1成左右的企业对云计算平台基本不了解或者无意使用,75%的企业利用云平台已经开发应用或正在开发应用。
在当前的国内公有云平台市场中,阿里云服务以64%的使用率遥遥领先于其他云服务厂商,排在首位。其次是腾讯云服务,使用率为14%。
在具体应用上,企业在虚拟机、网络存储、负载均衡方面应用云计算较为普遍,使用率分别是48%、39%、33%。此外,基于Docker或OpenStack是当前云平台部署的两种主流框架。
不过,安全问题仍是企业选择公有云服务时最大的顾虑,也是进行云技术相关开发时的最大难题。由于成熟的传统安全方案并不能直接套用到云环境中,企业在部署私有云平台时如何设计和实施安全方案,企业在使用公有云时如何确信服务商对数据做了足够的安全保护......随着云技术得到越来越广泛的应用,这些都是云厂商和服务商未来必须直面的问题。
区块链技术刚刚兴起,仅1成开发者有应用或准备应用
区块链作为近年来兴起的技术,当前应用相对较少。
调查显示,正在用或者准备用区块链技术解决技术问题的人群仅占受访者的10%,有20%的人对区块链完全不了解。
现阶段,区块链从技术上讲还是属于后端架构类,因此迄今为止从事过与区块链技术相关的开发工作的人员,也都是这个领域的从业者。其他方向,如:测试、UI/UE、数据分析等,则由于系统形态和行业渗透度的原因,最多只做到听说/了解过这项技术的程度,在日常工作中都很难直接参与。
比特币和以太坊是当前两种主流的区块链开发平台。据调查,开发者正在使用的区块链平台中,比特币和以太坊分别占23%、17%。Python和Java则是区块链的主流开发语言,分别占19%、18%。在核心应用的开发中,Java使用更为普遍,占39%,Python其次,占28%。
从核心开发者的角度看,应用开发仍然是Java为主。因为即使开发区块链相关应用,仍然会有很大一部分在传统技术栈上。
对于目前的区块链技术来说,缺少开发经验、技术资料以及落地的应用和场景是当前区块链开发的主要挑战,此次调研中分别占56%、54%、50%。
不过,区块链与大数据、云计算、物联网行业的结合普遍被看好,分别占63%、57%、53%。超7成开发者表示会考虑1年内会进入区块链行业。
人工智能技术受到热烈关注,应用前景广阔但任重道远
当前AI/机器学习/深度学习的普及率还偏低,但发展潜力很大。本次调研数据显示,已经使用AI技术的开发者仅占15%。不过,40%表示正在尝试用AI/机器学习/深度学习来处理数据,只有25%的开发者表示完全没有人用过。
在技术应用方面,TensorFlow是人工智能领域主流深度学习框架,使用普及率达到48%。此外,传统机器学习方法在开发者中的使用量接近2/3。而CNN类、RNN类深度学习模型也同样火热。
而随着人工智能的火爆,对机器学习/深度学习算法、数据分析的岗位需求也越来越大。调查显示,目前机器学习/深度学习算法工程师、数据科学家/数据分析师/数据挖掘工程师岗位从业人员更多,分别占18%、17%。
然而最急缺的岗位也是机器学习/深度学习算法工程师、数据科学家/数据分析师/数据挖掘工程师岗位。58%的开发者表示其团队急缺机器学习/深度学习算法工程师,45%表示急缺数据科学家/数据分析师/数据挖掘工程师岗位。
这种势头下,各种人工智能相关培训也是风生水起。但是调查显示,开发者更愿意通过自学的方式学习AI/机器学习/深度学习技术,占比68%。还有接近四成的开发者是通过在工作中实践、线上培训课程等途径来学习AI技术的。
本文内容来源于《2017年中国软件开发者白皮书》,版权属于CSDN。
完整报告获取链接:https://download.csdn.net/download/xhwuli/10532263
“征稿啦”
CSDN 公众号秉持着「与千万技术人共成长」理念,不仅以「极客头条」、「畅言」栏目在第一时间以技术人的独特视角描述技术人关心的行业焦点事件,更有「技术头条」专栏,深度解读行业内的热门技术与场景应用,让所有的开发者紧跟技术潮流,保持警醒的技术嗅觉,对行业趋势、技术有更为全面的认知。
如果你有优质的文章,或是行业热点事件、技术趋势的真知灼见,或是深度的应用实践、场景方案等的新见解,欢迎联系 CSDN 投稿,联系方式:微信(guorui_1118,请备注投稿+姓名+公司职位),邮箱([email protected])。