编者按:本文来自微信公众号“CSDN”(ID:CSDNnews),作者:苏宓,36氪经授权发布。
你为什么想当程序员?
当提及这个话题时,有人称始于兴趣,有人无奈调侃还不是因为穷,也有人说,不是我选择了程序员,而是程序员选择了我,天将降大任于斯人也。
纵观过去一年,在人工智能、云计算、大数据、物联网、区块链等互联网潮流技术的加持下,各行各业的数字化进程加快了脚步。与此同时,在中美科技创新激烈竞争的背景下,国内对芯片、操作系统、数据库等基础硬件及软件的关注达到了前所未有的高度,“自研”成为国产破局的唯一之道。而开源也成为这个时代技术创新落地和行业发展过程中强有力的催化剂。
作为身处这个最好时代,也是最具挑战时代下的技术型人才,机会摆在眼前何不试一试,不过究竟该怎么试?在面对层出不穷的技术工具、框架、场景时,又该从何处入手?
在此,CSDN 重磅发布最新的开发者调查报告——《2020-2021中国开发者调查报告》,本调查报告紧扣技术热点、把握知识趋势,同时特邀相关技术领域的专家们,共同参与调查项的设计及分享专业的行业点评,旨在全面和深入地了解中国开发者群体整体现状、应用开发技术以及开发工具、平台的状况和发展趋势。
都说走在前沿、跟随潮流的互联网永远是一个年轻的赛道,据调查结果显示,的确如此。从数据上来看,30 岁以下的开发者占比高达 81%,相较往年,互联网呈年轻化的态势仍在持续。同时,作为准开发者的学生群体也是未来科技行业中一股不容忽视的力量。在这一群体中,后端开发岗位最为热门,占比 24%。
与之形成对比的是,40 岁以上的技术从业者相对较少,仅占 3%。不过对于自身职业发展方向,有 11% 的从业者选择从初级程序员一步一步走上技术经理岗位,带领技术团队坚持奋战在研发一线。其次,后端开发和全栈这些相较而言对技术能力要求更高一些的岗位也是他们选择的发展方向。
在技术领域上,国内 86.7% 的开发者选择了软件、互联网、IT 制造领域,且大多集中在一线城市。报告显示,广东、北京、上海是开发者聚集地,占全国总数的 38%,而这些城市也囊括了产学研界较好的资源,对于技术型人才而言,机会比较多,也相对比较公平。
其次,江苏、浙江、四川、山东处于第二梯队,占全国总数的 24%。
在薪资方面,程序员一直是业界公认的高薪人群。报告显示,月薪超过 1.7 万的开发者占比 21.2%。近九成的开发者工资在 5000 元以上,其中,8001-17000 元区间的开发者占比最高,为 44.5%。
在北京,月薪高于 1.7 万的开发者占比高达 30%,远超其它地区。其次,广东、上海地区月薪高于 1.7 万的开发者分别占比 19% 和 16%。
通过结合受教育程度和薪资水平的数据特点来看,学历越高,高收入群体的比例越高。其中,学历背景为博士研究生的开发者,薪资达 1.7 万元以上的占比 57%。所以科技技术是第一生产力,随着知识的覆盖面越广,所能实现的价值也会越高,薪资自然水涨船高。
「三月不出单,出单顶半年」,身在金融业的从业者或多或少都听过过来人的经验,那么在金融行业做程序员又是一种怎样的体验?报告显示,金融业高收入群体占比最高,86% 的人群月薪超过 8 千元,其中月薪超过 1.7 万元的开发者占比 42%。
在外界看来,优胜劣汰、竞争颇为激烈的 IT 行业,跳槽应该是一种很常见的现象。不过根据调查我们发现,36.5% 的开发者没有跳槽的经历。跳槽四次及以上的开发者仅占比 11%。
当提及开发者技能达到一定要求后,是否想晋升为一名管理者的问题上,有 54.09% 的开发者表示想成为一名管理者,仅有 9.4% 的开发者不想成为管理者。
在编程语言方面,使用 Java 的开发者数量逐渐降低,和去年 60% 用户量相比,今年 Java 开发者人数下降至 50%。其中原因与近几年间 Google 推行 Kotlin-First 扶持策略不无关系,同时在此影响下,有很多 Android 开发者开始由 Java 向 Kotlin 转换。
轻芒联合创始人、前豌豆荚技术负责人范怀宇表示:“Kotlin 虽然在统计中总的比例不高,但在 Android 开发上进一步在取代 Java。Kotlin 作为另一个基于 JVM 的编程语言,一方面可以保持 Java 使用 JVM 稳定和高性能的好处,享用 JVM 已有的生态;另一方面,通过其更为灵活的语法特性,越来越广泛地被 Android 开发者使用,已然成为 Android 的首选编程语言,对于新参与 Android 的开发者而言,Kotlin 是更好的学习对象。”
与此形成鲜明对比的是,Python 在人工智能的发展及其本身的便利性等优势下,使用量正在逐渐提升,Python 开发者数量占比近三成,在常用语言中跃居第三。
不过,范怀宇也建议道,其它的一些明星编程语言,比如 Go、Rust 等,使用的开发者数量虽然没有明显上升,或依然未出现在榜单,且对于新开发者而言并非首选,但在特定领域,比如更高性能的服务端开发上,还是非常值得关注和学习。
在主流的开发框架上,国内外的应用存在很大的差异。和国外应用更为广泛的 React 框架不同,国内开发者最常使用 Vue.js 进行 Web 开发,且 Vue.js + jQuery 的技术组合也成为前端工程师最为基础和必须掌握的技能。
本次调研中,有 31.4% 的开发者使用 Intellij 作为开发环境,轻量级跨平台工具 VS Code 排名第二。
针对这一结果,范怀宇表示,Intellij 和 VS Code 的特色非常相近。它们都可以支持多门编程语言的开发。如今,很多开发者都需要同时使用多门开发语言,使用 IntelliJ 这样的通用工具,会更适合在不同编程语言间切换,其工具特色和使用习惯可以最大化地保持一致。同时它们也具有很多的第三方插件,使得开发者很容易搭配出足够个性化的开发环境,更适合自己的使用。
2020 年,可谓是开源元年,也是国内开源快速发展的一年。在这一年中,中国首个开源基金会开放原子开源基金会正式到来,Mulan PSL 成为中国首个国际通用开源协议,不久前,开源首次被列入“十四五”规划。
在此趋势下,越来越多的人开始接触开源,近一年开始接触开源的人占比超过三成。
不过稍显遗憾的是,据调查报告显示,仅有三成左右的开发者参与过开源项目。
究其原因,对于个人开发者而言,开源收入与工作时间带来的现实冲突难以实现平衡。本次报告中,82% 的开发者在开源上每周投入时间不超过 5 小时,每周在开源项目上投入时长超过 30 小时的仅占比 2%。同时,77% 的开发者表示,不曾在开源上获得收入。
还记得去年伊始,阿里巴巴开源技术委员会负责人贾扬清发布了一封给千万开源人的感谢信,其回顾了阿里开源的初衷,并分享了阿里开源 10 年的心路历程。用了十年的时间,阿里交出了覆盖大数据、云原生、AI、数据库、中间件、硬件等多个领域且超过一千个开源项目的答卷,成为开发者心目中的开源企业 NO.1。
对于开源未来的发展,华东师范大学数据学院研究员、开源社理事王伟认为,开源正在蓬勃发展,给开发者带来了千载难逢的机会,如何参与到开源这股浪潮中,并从中获取自身的价值,是每一位开发者都应该思考的问题。相信随着开源与商业更加紧密的结合,开发者开始获取开源红利的时代即将来临,前提是理解开源的逻辑,具备开源的思维,并实施好各自的开源战略。
作为基础软件之一,国产操作系统自发展以来一直饱受争议。其中,据本次调查发现,仅是对于国产操作系统的定义,众人就已看法不一,有人认为,只需要掌握核心代码,安全可控的操作系统就是国产操作系统,但也有一部分人认为国产操作系统应该从零开始开发,需要从内核开始做起。
对于产生此分歧的根本原因,清华大学计算机系长聘副教授陈渝表示,“之前,大家对操作系统在整个 IT 领域中的重要性还是认识不够的。直到这两年发现操作系统和芯片的断供,可以阻碍世界顶级的 IT 巨头的迅速发展,甚至有可能影响到国家的经济发展和安全时,才逐渐看到了操作系统的重要位置。从 80 年代以来,以操作系统为代表的基础软件由于不够挣钱,缺少直接和快速变现的特征,且对盗版等普遍缺乏法制和道德约束,导致我们的基础软件缺失了近二十年的商业化机会,相关人才培养严重不足。直到互联网、移动互联网和 IoT 等的兴起,国家之间 IT 科技竞争的加剧,这方面的情况才得到了很大的改善。”
时下,随着阿里、华为、统信、麒麟等中国本土企业的发力,国内的操作系统呈现出百花齐放快速发展的局面,而近两年间,发展势头最盛的非 HarmonyOS(鸿蒙)莫属,79% 的开发者知道它,其次是 Deepin、中标麒麟操作系统。
在国产操作系统正在迅速崛起的今天,48% 的开发者认为,缺乏广泛的应用生态是制约国产操作系统发展的主要原因。同时,缺乏大量的技术型人才是第二大因素。
对于操作系统的发展,陈渝认为,「我们不仅仅要做原位替代,还要把眼光放得远一些,注重软件基础研究,注重软件理论研究,从学生阶段培养系统类人才,寻找比现有数量级增量的新的产业机会,解决未来的需求,形成以某些新操作系统为基础的应用生态。」
根据报告显示,在物联网产业链上,每个环节均衡发展,其中 15.9% 的企业聚焦大数据分析解决方案的落地,其次,智能设备和物联网云平台也是许多企业创业的方向,分别占 15.3% 和 14.5%。
在物联网中,66.4% 的操作系统使用 Linux。Android 的使用量也进一步提高,跃居第二,占比 41.5%。
作为大厂竞相布局的赛道,据开发者调查报告显示,48.6% 的受访者表示正在使用阿里云 IoT 平台。其次,华为云、百度 IoT 分别占比 43.7% 和 38%。
对于物联网发展现状,北京邮电大学信息与通信工程学院电子信息工程系主任孙松林表示,“在技术方面,操作系统、通信方式和终端安全是讨论的重点。与去年相比,Android 占比超过了 Windows,但都被 Linux 远远地超越了。物联网应用的多样化和对高效率的追求导致定制需求开发开始下沉到操作系统,而 Linux 强大的伸缩性恰好可以满足这种需求;其他嵌入式操作系统,如 FreeRTOS、RT-Thread 等虽然有了一定增长,但占比较小;另外,2020 年 HarmonyOS 2.0 发布,值得开发者们关注。另外,在终端安全方面,从物理安全、接入安全、通信安全到数据安全都是开发者们非常关注的,随着众多安全事件的不断发生和美日英等国政策的出台,安全技术必将成为物联网产业未来发展的重点。“
近年来,人工智能作为新一轮变革的核心驱动力,很多企业紧随时代的潮流。调研数据显示,截至目前,有 13% 的企业尚无信息化基础。33% 的企业在事务处理层面实现了数字化。
本次报告中,我们发现,AI 领域开发者中软件工程师占比最高,为 38.3%,可见软件工程师在 AI 领域也占重要地位。其次,机器学习/深度学习算法工程师、计算机视觉/图像识别/图像处理工程师都是较为热门的岗位,分别占 19.9% 和 15.5%。
不过,此次调研中,在机器学习/深度学习/神经网络成为开发者最感兴趣的方向同时,有 55% 的开发者表示团队急需机器学习/深度学习算法工程师。
对此,新加坡工程院院士颜水成表示,从技术栈角度来看,超过一半的团队表示急需机器学习和深度学习算法工程师,同时也有超过一半的开发者表示这是他们最感兴趣的方向。这说明机器学习,尤其是深度学习,在最近六七年间取得了一系列技术突破之后,在图像识别、推荐系统、搜索广告等领域都取得了不错的落地效果,也获得了行业的广泛认可。
TensorFlow 是人工智能领域主流深度学习框架,不过相较去年的 48% ,下降幅度较大。
在应用方向上,调研数据显示,39% 的开发者表示其研发的 AI 产品主要场景为图像识别;28% 的开发者表示其研发的 AI 产品主要场景为人脸识别。
对于 AI 未来的发展,北京爱数智慧科技有限公司创始人兼 CEO 张晴晴认为,对话式(Conversation)是人工智能的终极形态,突破对话式形态代表着强人工智能时代的到来。
同时,张晴晴表示:“推动对话式人工智能的落地,需要百倍千倍以上规模的训练数据量(至少上万小时的训练数据量成为基础有效数据量),特别是针对场景下的自然语言数据。自然语言数据作为人工智能的重要根基,相关的数据处理员以及数据训练师,成为市场非常急缺的人才。我也希望借此机会,呼吁更多的从业者加入对话式AI(Conversational AI)行业,与我们一起缔造智能世界。”
「芯片全面紧缺」,自 2020 年下半年以来,这成为整个芯片行业的现状。而据调研数据显示,近 5 成的开发者所在公司的芯片开发者人数不足 10 人。对此,中国科学院计算技术研究所研究员包云岗表示,这反映了当前中国芯片企业的一个普遍现象——虽然中国已经有 1700 多家芯片设计公司,但是能做出高附加值芯片的企业太少。
究其主要原因,23% 的开发者认为,设计迭代是芯片开发过程中最难的问题,其次是芯片的可制造性设计以及专利规避。
对于芯片公司而言,36% 的开发者认为,集成电路 IC 设计/应用工程师是最稀缺资源。其次,芯片架构工程师、FPGA 开发工程师也较为欠缺,分别占 31% 和 24%。
对于芯片当前的现状及未来的发展,包云岗表示,从最为欠缺的职位来看,基于招聘网站信息,这类的工程师 3-4 年工作经验的月薪约为 2-4 万,5-7 年工作经验则为 3-6万 ,这个薪资水平还是相当不错。薪资水平的提高,对吸引人才选择集成电路行业至关重要。同时,也可以预见,在未来 5-10 年集成电路(芯片)行业在我国将会是一个热门行业,人才需求很大。一方面是因为当前国际形势使得中国下定决心大力发展集成电路产业,另一方面也是未来智能物联网时代将会使芯片需求扩大一个数量级,甚至每年达到上千亿颗的需求。
作为另一大基础软件——数据库,在云趋势下,只有 23% 的公司还没有计划部署云数据库,有 52% 的公司已经部署了云数据库。
此次调研中,关系型数据库以绝对性的优势,成为开发者最常用的数据库类型,占比 78%。而这也主要得益于 SQL 的简单易用,以及关系数据库近 50 年的发展。
而在使用数据库的过程中,超过一半的开发者表示会遇上性能问题。
此外,据调查显示,超过一半的数据库开发人员对就业形式感到非常乐观。
阿里云高级技术专家,云原生数据湖分析 DLA 技术负责人曹龙表示,数据库相关就业群体包括数据库内核研发、数据库运维 DBA、数据库业务开发、数据分析师,其中:
数据库内核研发就业面较窄,这个领域比较专精,主要集中在大厂、数据库厂商及云公司;
数据库运维 DBA 估计不少同学认为形势严峻,主要是来自云数据库的冲击,数据库的一个发展趋势是自运维,笔者负责的数据湖分析 DLA 元信息使用的数据库就是 RDS,没有 DBA 都是开发运维的,这里建议 DBA 可以多了解业务,帮助业务规划数据库的库表设计,从业务视角获得成长;
数据库业务开发一般都同时具备较强的工程能力,以及所在领域的专业能力,是程序员群体最大的就业群体,知晓数据库的优化及如何选型数据库是必备的技能之一;
数据分析师主要是需要行业的经验,结合大数据的分析理论知识,就业面非常广,也是目前行业比较稀缺、热门的岗位。
在互联迭代的商业场景中,从最初的软件吞噬世界,到开源吞噬世界,到云吞噬世界,现在的我们俨然也已经进入下一阶段——云原生吞噬世界。本次调研数据显示,89% 的企业已经上云,只有 3% 的企业未部署云资源。
在云原生上,61% 的公司主要应用于为微服务,其次 41% 的企业选择容器编排管理。
而想要更好地发展云原生技术,47% 的开发者认为,当前行业缺乏熟练的云原生技术人才。也有 25% 的开发者表示,对于如何做云原生技术选型很难抉择。
“充分利用云原生技术可以把云的效率和成本优势充分发挥出来,但是当前全部云原生化的企业和开发者并不多,这其中主要的障碍在于缺乏熟练的云原生技术人才”,腾讯云架构平台部研发总监郭振宇分享道,因此他认为,“一个合格的云原生技术人才,需要对企业的业务有全局的认识,同时需要对云技术和云原生相关产品具有很深的理解,这样才能结合业务需求,开发出真正能从云计算中受益的应用和产品。”
数字化经济时代,越来越多的企业开始拥抱数字化转型,开始构建自己的大数据体系及核心竞争力。据调查显示,80% 的企业在进行大数据相关的开发和应用。在具体应用上,大部分企业对大数据的应用更多的体现在统计分析、报表生成以及可视化上, 占比 59%。
此次调研中,43% 的企业正在使用 Kafka/Jafka 来进行数据收集和消息处理,Redis 也被业界大量地采用,占比 39%。
「总的来说,大数据目前进入了一个成熟稳定期,各个企业的投入也越来越大,大数据将是人工智能的一个非常好的催化剂。」大数据资深专家、明略科技集团副总裁卢亿雷如是说。
2020 年伊始,国家发改委首次明确了“新基建”的范围,新型基础设施主要包括三个方面,一是信息基础设施,二是融合基础设施,三是创新基础设施,在信息基础设施方面,以人工智能、云计算、区块链等为代表的新技术基础设施,以数据中心、智能计算中心为代表的算力基础设施。
也正是在此趋势下,区块链技术进一步被用户所熟知。据调查报告显示,知晓区块链技术的用户群体高达 94%,其中和去年正在从事区块链相关工作的人数相比,今年人数有所上升,从去年的 6% 上升至今年的 10%,此外,14% 的开发者准备尝试用区块链技术解决一些问题。
对于在这领域的开发者而言,48% 的受访开发者从事公有链的开发,27% 的开发者聚焦区块链行业解决方案的研究。
不少开发者认为,金融/金融衍生品依然是区块链主要应用领域,占比是 60%。其次区块链也被用于数据共享,占比 23%。
针对这一点,Solv Markets 协议创始人、优证链通创始人孟岩表示,在海外,几乎所有区块链应用全部集中在开放金融领域。2020 年是数字资产和去中心化金融(De-Fi)狂飙突进的牛市之年,全球数字资产总市值从 2020 年 3 月到 2021 年 3 月增长了近 12 倍,而同期 De-Fi 市场的增长则超过 100 倍,投融资活动的活跃度达到 2017 年以来的最高峰,吸引了大量人才加入到 De-Fi 创新的浪潮中。
在未来趋势上,孟岩认为,区块链不是一个平凡的技术,它导向未来机器智能时代的全球交易网络。无论是推动国家战略的落实,还是寻找个人成长的空间,开发者都要扮演核心的角色。