两成开发者月薪超 1.7 万、算法工程师最紧缺! | 中国开发者年度报告

整理 | 郭芮前端

责编 | 唐小引程序员

出品 | CSDN(ID:CSDNnews)算法

“求知若饥,虚心若愚”——这个本来出自《全球概览》的俳句,由于乔布斯在斯坦福大学毕业演讲中的引用而备受推崇,流传成为 IT 界的至理名言之一。在编程界,亦有“代码胜于雄辩”、“Done is better than perfect”等警句,寥寥数语将编程工做者的形象特质描摹到了极致。程序员,就是技术至上、惟代码是瞻且必须不断武装本身的群体。数据库

21 世纪,高薪、高端、高技术范儿已成为程序员的固有标签,在这个新的元年,CSDN 将基于一年一度的开发者大调查数据,以全新的视角深刻发掘中国开发者群体的总体现状、应用开发技术以及开发工具/平台的发展趋势,呈现更真实、更全面且更有学习价值的开发者画像。编程

CSDN 最先从 2004 年开始针对中国开发者进行大规模调查,是迄今为止覆盖国内各种开发者人群数量最多,辐射地域、行业分布最广的调查活动。2019-2020 年中国开发者大调查针对软件开发技术、应用开发领域等方面对问卷进行了从新设计,在本次调研中有以下主要发现:小程序

30 岁如下开发者人数占比超八成,全国有 19.6% 开发者月薪超过 1.7 万元;后端

六成开发者在使用 Java 语言,近五成开发者近期最想学 Python 语言;网络

Spark、Redis 和 Kafka 正在成为企业大数据平台通用技术组件;架构

区块链技术近两年是热点,比特币和以太坊是两种主流的区块链开发平台;框架

人工智能技术日益受到企业和市场的关注,但 64% 企业还没有实现智能化,机器学习/深度学习算法工程师最为急缺;

近七成开发者认为将来 5G 网络的传输速率能达到 4G 网络的 10 倍以上;

Apache 项目和 Linux 是开发者较为喜欢的开源项目;

半数开发者不多参与开源项目的开发、维护、运营和社区发展等。

软件开发准入门槛持续下降,近 2 成开发者月薪超过 1.7 万

30 岁如下开发者人数占比超八成,软件开发从业门槛持续下降

从 2015 年到 2019 年的调研数据来看:30 岁及如下的开发者人群占比在 8 成以上,一直是软件开发领域的主力军;全国近半数的开发者工做在一线城市(北京、上海、广州、深圳、天津);物联网、软件、IT 制造三个技术领域涵盖了国内 84% 以上的开发者;本科及以上学历占 8 成;92% 的开发者是男性。

和国外开发者年龄分布趋势大概一致,国内的软件开发群体一直呈现出愈来愈年轻化的特色。这是由于,一方面软件开发行业蓬勃发展,各行各业都须要软件开发相关人才,也有愈来愈多的毕业生选择从事该行业;另外一方面,是由于编程语言、框架、云服务等基础设施的持续完善,从事软件开发的门槛在持续下降,更容易接纳新鲜血液,报告统计发现,本科学历是开发者的主力军,66% 的开发者拥有本科学历,而硕士研究生、博士研究生仅占 11%、1%。

八成以上开发者月薪在 5 千~3 万元之间,19.6% 开发者月薪超过 1.7 万元

经过结合受教育程度和薪资水平的数据特色来看,学历越高的人群中,月薪 1.7 万元以上的高收入比例越高。在一线城市(北京、上海、广州、深圳、天津)中,月薪超过 1.7 万元的开发者占比为 30%,该比例远高于国内其它城市。

开发者属于相对高薪的职业,尤为是在一线城市中,但不一样开发者之间收入差距较大。软件开发是一个智力密集型的工做,不一样开发者可以提供的价值差异很大,这就使得一个优秀开发者的收入远高于普通开发者:硕士和博士毕业的高收入者比率要远高于本科及如下的;金融和互联网行业的高收入比率最高。

自学是开发者持续学习的主要路径

软件开发行业突飞猛进,只有保持持续学习才能跟上技术变化的脚步,终身学习是现代人保持竞争力甚至是维持生存的必要手段。

从调研中能够看到,53% 的开发者会经过在未参加正式课程的状况下,自学一门新语言、框架或工具。但同时,也有半数的人参加过在职培训或者线下课程,相对于自学的灵活性而言,这类培训会更为系统和完整,对于长期的我的提高有所裨益,开发者能够适当选择。但与之相悖的是,只有不到 40% 的开发者,愿意为学习付费,这可能会致使参与的课程质量不够高。

Java 雄踞语言榜,Visual Studio 受开发者欢迎

Java 长盛:使用最多,开发者最想学

从编程语言来看,Java 是最多人使用的语言,而 JavaScript 和 SQL 分别是第二第三位。这三门语言,使用场景都很普遍,Java 一方面后端开发最常使用,生态成熟度无人可比;另外一方面,Java 依然是 Android 上最重要的开发语言,与之相比 ,新兴的 Kotlin 只有 2% 的开发者在使用。而 JavaScript 不只是前端开发的必备语言,还用在 Web 开发、小程序开发等场景下。

Java 和 Python 依然是开发者最但愿学习的语言之一,只是相比之下,Python 的热度有所下降,这可能和机器学习没有去年那么火热有所关联。变化比较大的是 Go 语言,与去年相比,今年的调研中想学 Go 语言的开发者下降到了 4%,与之类似,Kotlin、R 的学习意愿也大幅下降。

从这个趋势也能够看到,现在的开发者更意愿去学习一些相对成熟度、用途更为普遍的语言,对一些表明新模式的语言乐衷程度有所下降。

七成以上在使用 Windows 操做系统,83% 在使用 MySQL 数据库

72% 开发者在使用 Windows 操做系统,18% 在使用 Linux 系列操做系统。在存储服务的使用上,MySQL 继续扩大其使用率到达了 83%,几乎是开发者必备的技能。和去年相比,Elasticsearch 出如今数据库使用的调研中,在大数据时代,Elasticsearch 做为提供搜索服务的第一选型,也必然会被愈来愈多的开发者学习和使用。

Node.js 是相对使用广泛的技术框架

在 Web 开发上,前端使用 Vue.js 后端使用 Spring 是最多见的选型方案,与之相对应,Node.js 是最多被用到的框架,这和当今多端开发的趋势密不可分。后端用微服务架构,中间用 Node.js 粘合出适合 Web、Android、iOS 等不一样端和场景使用的 APIs,是当下主流的部署方案之一,既能够先后端分离提升开发效率,又能够在保障服务稳定性的同时提高灵活性。而TensorFlow 成为开发者最指望学习的框架,这说明开发者依然对机器学习保持关注和热情。

Visual Studio 是最为广泛使用的开发环境

在开发环境的选择上,Visual Studio 是最为广泛使用的开发环境,这和微软对开发者的投入密不可分。微软投入了大量的研发力量,使得 Visual Studio 能够在各类操做系统进行各类编程语言的开发,其强大且完善的插件系统能够知足开发者的各类需求,使其能够超过 IntelliJ。

大数据平台以私有云部署为主,Spark 使用率高达 44%

私有云部署解决方案是企业构建大数据平台的主要方式

随着分布式计算和云平台的逐步成熟,目前大部分公司都有能力搭建本身的大数据平台。调研数据显示,81% 企业在进行大数据相关的开发和应用,50% 的企业选择私有云解决方案来部署大数据应用,28% 的企业选择自主研发。

仅 19% 企业使用商业发行版 Hadoop 版本搭建数据平台

调查报告发现,有 30% 以上的企业并无使用相对成熟的 Hadoop 技术搭建数据平台,这些企业的算法性能会很大程度上受限于低效的平台,更不可能开发出更高效的数据分析算法。但幸运的是大部分企业都基于商业版或者社区版 Hadoop 搭建了数据平台,这些公司的侧重点主要在应用发现和算法的设计层面,更有可能在不久的未来实现大数据的价值。

Spark 是企业大数据平台最广泛的组件

Apache Spark 是一个处理大规模数据的快速通用引擎,它能够独立运行,也能够在 Hadoop、Mesos、云端运行,它能够访问各类数据源包括 HDFS、Cassandra、HBase 和 S3,能够提高 Hadoop 集群中的应用在内存和磁盘上的运行速度。Spark 生态系统中除了核心 API 以外,还包括其余附加库,能够为大数据分析和机器学习领域提供更多的能力。本次调研中,Spark 是使用最广泛的大数据平台组件,使用率达到44%,而MapReduce使用率仅为21%。

分布式文件系统 HDFS 做为核心组件之一,使用率也达到了 39%。企业对大数据平台应用最多的场景是统计分析、报表生成及数据可视化,38% 企业使用ELK(ElasticSearch + Logstash + Kibana)实时日志分析平台。

综上所述,目前大数据的发展热潮使人欢欣鼓舞。一个优秀的大数据团队,须要有对产品开发具备高敏感性同时对技术有必定理解的人才,同时须要理论基础极其扎实,能对实际问题进行抽象建模和算法设计的人才。只有左右开弓,在产品和技术方面进行深层次探索,才能真正实现大数据产业的繁荣。

区块链质变,比特币逆袭以太坊成 TOP 1 开发平台

22% 的开发者正在用或者准备用区块链技术解决技术问题

区块链技术的发展,是一个量变到质变的过程。相比于 2018 年,对区块链和加密货币了解的人从 22% 增加到 32%,准备尝试用区块链技术解决一些问题的人数从 14% 增加到 16%,仅有 4% 的人对区块链彻底不了解。

43% 的受访者在从事公有链(比特币、以太坊等)的开发

本次调研中,43% 的受访者在从事公有链(比特币、以太坊等)的开发。目前行业侧重发展的方向为解决方案、公链及联盟链,公有链因为其自带激励机制,对于普通开发者有直接的回馈,因此上面开发者占比高也比较合情理。行业解决方案从去年的 27% 增长到今年的 36%,说明传统行业开发者对区块链的承认度在增长。

区块链本质上是技术,落地场景及实际应用才是链接社会效益的关键。

比特币和以太坊是当前两种主流的区块链开发平台

在行业开发者的印象中,以太坊一直是开发平台领域的头号玩家。但今年数据显示,以太坊从 2018 年的 44% 占比第一,降到 24%;比特币从 2018 年的 28%,上升到 35%,占比第一。比特币在行业内外仍然拥有最强共识,在闪电网络的加持下,你们也彷佛感觉到比特币离商用也再也不遥远了。

金融是广泛认为的行业应用方向

金融行业是广泛认为的行业应用方向,占 36%。区块链自己具有的防篡改、可追溯的特色,能大大下降金融行业监管成本,不过金融的进入门槛相对也较高,须要各方面技术的配合。其次,智能硬件和物联网也被认为是主流应用方向,占 14%。不过相比其余众多已经很成熟的技术,依托区块链的解决方案在实际使用中,每每面临必要性缺失的问题,所以区块链应用发展仍任重道远。

在区块链结合行业以前,更加要重视与其余新技术的结合和协同:物联网设备可以提供大量数据,5G 可以提供高速传输,存储能够解决区块存放的问题等。

算法工程师最急缺,TensorFlow 占据 AI 深度学习框架榜首

64% 的企业还没有实现智能化

在经历了 2019 年的行业低谷期以后,不管是行业巨头仍是新兴独角兽,都开始审视 AI 可以切实落地的场景。调研数据显示,14% 的企业尚无信息化基础,27% 的企业实现了事务处理数字化,22% 的企业具有商业智能基础设施,实现描述性分析。使用机器学习实现预测性分析和决策优化的企业占 16%,而在业务中全面使用 AI 系统、机器人和其余自动化工具的仅占 12%。

机器学习/深度学习算法工程师最急缺

在岗位分布上,因为深度学习是以大数据为基础的,而感知智能中的计算机视觉又是目前深度学习较为成熟的应用,因此,机器学习和深度学习工程师,以及数据工程师、计算机视觉工程师排行在前三位。当前最急缺的岗位也是机器学习/深度学习算法工程师、数据科学家/数据分析师/数据挖掘工程师岗位。

53% 的开发者表示其团队急缺机器学习/深度学习算法工程师,37% 表示急缺数据科学家/数据分析师/数据挖掘工程师。

TensorFlow是人工智能领域主流深度学习框架

这次调研中,TensorFlow 使用普及率达到 48%。从技术自己的角度来看,较为成熟的 TensorFlow 成为 AI 工程师的首选深度学习框架,Torch/PyTorch因为其开发效率较高,也获得了较多支持。

35% 开发者选用国产 AI 芯片应用于本身的 AI 开发

在 AI 芯片领域,国内厂商也开始弯道超车,愈来愈多的开发者也开始关注国内 AI 芯片的进展。调查数据显示,选用国产 AI 芯片应用于本身的 AI 开发时最看重的因素方面,对主流 AI 框架的支持能力是最广泛的因素,占 35%。

物联网云平台三足鼎立:阿里物联、华为云、百度 IoT

69% 的开发者认为将来 5G 网络的传输速率能达到 4G 的 10 倍以上

每一代新型的通讯系统老是能带来更大的带宽。据报告显示,近七成开发者认为将来 5G 网络的传输速率可以达到 4G 网络的 10 倍以上。

影响 5G 普及的三大因素:5G 套餐价格未定、运营商的开发程度、须要更换手机

因为目前 5G 网络使用者较少,费用较低廉的套餐尚未推出,第一代 5G 终端不太成熟等缘由,目前 87% 的开发者认为 5G 套餐费用太高,而且大部分开发者认为 5G 网络目前覆盖范围有限,所以将近 40% 的开发者正处于观望阶段。

值得一提的是,本次调查中 62% 的开发者认为,5G 时代应该增强对我的隐私的保护,这反映出目前社会对数据隐私愈来愈重视的总体趋势。

阿里物联和华为云是应用相对广泛的 IoT 云平台

根据调查,2019 年物联网云平台呈现三足鼎立的趋势:阿里物联、华为云、百度 IoT 成为用户最多的三种物联网平台,而且和第四名中移物联远远拉开了差距,这和咱们的实际使用体验一致。

将来的基础物联网平台可能会继续呈现以偏硬件实现为主的华为云和以偏软件体验为主的阿里、百度物联平台的三足鼎立局面。

物联网技术开发:Linux 和 Windows 是使用较多的操做系统

Linux 和 Windows 是较广泛的操做系统,使用率分别为 51%、44%。目前在物联网设备开发过程当中,Linux、Windows 和 Android 较为广泛,依然延续了 PC 平台的开发者操做系统份额。虽然华为、阿里等公司在 2019 年均发布了本身的物联网专用操做系统,但还并未获得开发者的大规模承认,大公司的物联网操做系统发展之路依然任重而道远。

Wi-Fi 是应用最广泛的物联网通讯技术

在本次调研中,近距离通讯(好比 Wi-Fi 和蓝牙)是现存物联网开发者最主要的通讯方式。然而这种比重可能会随着将来 3~4 年内车联网的大规模商业化产生变化,汽车、工业物联、智能电网这类高移动性、高可靠和低延迟物联网场景会更适合须要总体规划的运营商网络。

物联网行业和传统互联网行业不一样,相比而言更加须要注重 “软硬结合”。物联网产品的硬件维护成本远远大于传统互联网行业,所以设计、实现出真正可靠、用户喜欢且实用的产品不只仅涉及软件服务,也须要考虑硬件可靠性和实用性。这对于直接面向用户的物联网企业,特别是从传统互联网厂商或者硬件厂商转型的企业来讲存在很是严峻的挑战,须要静下心来深刻了解垂直市场的需求。

六成开源开发者无收入,Apache 项目最受喜欢

77% 开发者每周在开源上投入时间不超过 5 小时

不管是大数据、区块链、人工智能仍是物联网领域,其中最为重要的、最受欢迎的技术都是开源的。可是报告统计发现,有超过一半的开发者不多参与开源项目,每周在开源上投入不超过 5 小时的占 77%,其中,1 小时之内的占 31%。此外,65% 的开发者未曾在开源上得到收入,得到不错收入的仅占一成。

开发者最喜欢的开源项目是 Apache

25% 开发者最喜欢 Apache,24% 开发者最喜欢 Linux。做为全球最大的软件基金会,开发者用过的诸多项目,例如 Dubbo、Log4j、Maven、RocketMQ 和 Tomcat 等,均孵化自 Apache。

国内开源的现状虽然近年来已经有了很大的发展,可是一个残酷的事实是,老兵正在离开这个行业,离开一线开发的队伍:报告数据显示,30 岁如下的开发者人数超过 82%,接触开源的时间在 5 年之内的开发者超过 83%。随着那些经验丰富的老兵转行或是进入管理层,再也不写代码、也再也不参与开源的事实也就凸显出来.....将来开源的建设,依然任重而道远。

在数据中寻找共性,《2019 - 2020 中国开发者调查报告》全面且真实地展示中国开发者及技术现状,但愿对您的学习或工做有所帮助。

欢迎你们经过如下连接,在 PC 端免费下载完整版报告: https://download.csdn.net/download/xhwuli/12195346