0f1b2bd9d24c7f82640eaba2fef4be11.gif

整理 | 苏宓

出品 | CSDN(ID:CSDNnews)

身处技术圈的漩涡之中:

  • 你是追着日新月异的技术潮流跑以此筑造全栈本领,还是扎根于自己已有的技能继续深造成为该领域的专业人士?

  • 你是遵循自己的兴趣使用新的编程语言等工具,还是满足工作的硬需求点到即止?

在程序员的生涯中,时常有人陷入了迷茫,跟着浪潮随波逐流,逐渐丢失了属于自己进阶的方向。近日,全球知名程序员问答社区 Stack Overflow 对来自全球 180 个国家/地区的 73268 名软件开发者调查后,重磅发布了《2022 Developer Survey》报告,剖析当代开发者如何学习与升级技能,以及正在使用的工具现状。在此,也希望疾步行走中的大家不妨适当停下脚步看看当前的整体开发趋势。

通过该报告,我们有以下最新发现:

  • 在线学习编程的比例从 60% 上升到了 70%,45 岁以上的受访者喜欢从书本上学习知识,而年轻人依赖在线学习与资源。

  • 今年,Docker 似乎正在成为专业开发人员的基本工具,从 55% 增加到 69%。

  • Rust 已成为最受欢迎的语言的第七个年头,87% 的开发人员表示他们希望继续使用它。

  • Angular.js 连续三年成为开发者最讨厌的框架。

  • Clojure 仍然是最高收入语言。Chef 开发人员是薪水最高的,但 Chef 也是开发者最不喜欢的工具之一。

  • 85% 的开发人员表示,他们的组织至少部分是支持远程的。

  • 62% 的受访者称,每天花费超过 30 分钟寻找问题的答案或解决方案。25% 的人每天花费超过一个小时。

  • 对于一个由 50 名开发人员组成的团队来说,搜索答案/解决方案所花费的时间加起来是整个团队每周损失 333-651 小时的时间。

925fdf4c4e0a7776baa3319c5aa0526c.png

当代开发者的学习状态:身兼数职,依赖在线学习

当代开发者进入“内卷”时代,根据调查显示,不少开发者身兼数职。46.82% 的受访者称自己为全栈开发者,尤其是数据库管理员、产品经理、安全专业人员认为自己具备的技能最多,共有 7 种。

a377913e4af264f7d9b80925378e9fbf.png

开发者当前的工作类型

无论是国内还是国外,程序员群体的学历背景大多数是本科及以上,其中本科的学士学位最常见。

9e78ffb687e32752e84ab6ff4de54d27.png

开发者所接受的正规教育程度

根据调查显示,随着开发者群体趋于年轻化,在线学习编程的人数比例从去年的 60% 上升到了今年的 70%。其中,45 岁以上的受访者最有可能从书本上学习,而年轻人偏向在线学习。较年轻(18 岁以下)的受访者最依赖在线资源,并且最有可能从在线课程或认证中学习。

125d1114c0daac425a61b82ab13c6858.png

学习编程的方式

在受访者中,75% 的程序员作为专业开发者工作了 14 年及以下时间。而能做到高管、副总裁级别的大多数都是具备了多年专业编码经验的人,据此次调查显示,做到高管级别的人员拥有平均 17.04 年的经验。

71445fb42f33f8ca8f9013ec6e88d9d8.png

专业编码的年限

d6498f63001a7ed67cf4e4446f52dc44.png

Oracle 上榜开发者最讨厌的数据库,JavaScript 最受欢迎

在今年调查报告中,Stack Overflow 进行三类人群的数据统计,分别是所有受访者、专业开发者和正在学习编码的人员。

最常用 JavaScript,Rust 最受欢迎,最讨厌 MATLAB

根据数据显示,2022 年是 JavaScript 连续第十年成为最常用的编程语言。

对于初学习编码的人员而言,他们最常用的语言是 HTML / CSS、JavaScript 和 Python,而专业开发者则是 JavaScript、HTML/CSS 和 SQL。

相比专业开发者,正在学习编码的人常会从 Python、C++、C 语言入手,不太可能用到 SQL(学习编码 38% vs 专业开发者 53%)、TypeScript(学习编码 15% vs 专业开发者 40%)和 Bash/Shell(学习编码 19% vs 专业开发者29%)。

a4f3f526a8ac5dfe2031d054b665fd81.png

过去一年,常用编程语言的 Top 20

在尝试过程中,Rust 已经连续 7 年霸榜最受欢迎的编程语言 Top1 宝座,今年仍然有 87% 的开发者表示希望继续使用它。另外,Rust、Python、TypeScript 也成为开发者在未来最想要使用的技术。

相较之下, 古老的 MATLAB、COBOL、VBA 成为开发者最讨厌的编程语言 Top3。

190ee16137b6ad9068230bf5c8232a10.png

最喜欢和最讨厌的编程语言

MySQL 最受欢迎,Oracle 入选开发者最不喜欢的数据库之列

在数据库领域,MySQL、PostgreSQL、SQLite 是开发者最常用的三种。

对于专业开发人员来说,PostgreSQL 从 MySQL 手中勉强拿下了第一的位置。专业开发人员比那些学习编码的人更有可能使用 Redis、PostgreSQL、Microsoft SQL Server 和 Elasticsearch。

09f60c8c43f11b06c54bc019895ba57c.png

常用的数据库

在受访者群体中,专业开发者和学习编码人使用 MongoDB 的比例相当,它也是学习编码群体中第二大最受欢迎的数据库(仅次于 MySQL)。这是有道理可循,因为它支持大量的语言和应用程序开发平台。

对比之下,IBM Db2、CouchDB、Oracle 上榜开发者最不喜欢的三种数据库榜单。

8cdf9058b4dc0518269a68ea0ad3e113.png

最喜欢和最讨厌的数据库

据调查显示,目前使用 MySQL 的群体更有可能开始或继续使用 MongoDB 而非其他数据库。

360c4aae500d679f4975a224fea2c294.png

未来希望使用哪种数据库

Azure 超越 Google Cloud,位居第二

AWS 仍然是所有受访者和专业开发人员最常用也是最受喜爱的云平台。Azure 超越了 Google Cloud,获得了第二名的位置。

331044382eac32214b18123b8154058d.png

常用的云平台

学习编码和专业开发者相比,他们对云平台的用法有很大不同。Heroku 是学习编码的人最常用的平台(35%),明显高于专业开发人员(18%)。而在专业开发者中占比 55.17% 的 AWS,在学习编码的人中仅有 23.7%。

2c9039132e5c1c62d417bf30a95231d8.png

编码群体中常用的云平台

有些出乎意料的是,在行业中应用非常广泛的 IBM Cloud/Watson 和 VMware 是开发者最不喜欢的云平台。

33ef7f9d648d3a6825294365471956cc.png

最喜欢和最讨厌的云平台

Angular.js 成为开发者最讨厌的 Web 框架,React.js 最受欢迎

Node.js 和 React.js 是专业开发人员和学习编码的人最常用的两种 Web 技术。专业开发人员比学习编码的人更多地使用 Angular(专业开发者 23% vs 学习编码 10%),与 ASP.NET(专业开发者 16% vs 学习编码 10%)和 ASP.NET Core(专业开发者 21% vs 学习编码 10%)。

7f64c429b80f0a9dcabd5f7d1574a9a8.png

专业开发者常用的 Web 框架

另外,Phoenix 超越了 Svelte 成为最受欢迎的 Web 框架的地位,而 React.js 是开发者最想要学习的框架。与之形成鲜明对比的是,Angular.js 已经是连续三年成为开发者最讨厌的框架了。

bc86e7a399735ba2b8887a0dd7abff5f.png

最喜欢和最讨厌的 Web 框架

TensorFlow 比 PyTorch 更受欢迎,也成为开发者最想要学习的框架

根据调查显示,TensorFlow 在机器学习方面仍然比 PyTorch 更受欢迎,但 Scikit-learn 紧随 TensorFlow 之后。此外,Flutter 和 React Native 是两种最流行的跨平台工具。

59357e52f3bdcb4980434b9e4c22aad3.png

常用的其他框架和库

学习编码的人比专业开发人员更有可能使用 NumPy(学习编码 43% vs 专业开发者 24%)、Pandas(学习编码 35% vs 专业开发者 22%)。其中主要原因是因为它们都是基于 Python,学习编码的人正在使用 Python。

当谈及未来想要使用哪种未曾尝试过的框架时,15.33% 的受访者表示是 TensorFlow,其次分别为 Flutter 和 React Native。

76b9ff0b1452594401d62526104269d3.png

最想要尝试的框架和库

Docker 成为专业开发者的基本工具

去年的调查数据显示,Git 成为开发人员的基本工具。而在今年,一切发生了巨大改变,Docker 似乎正在成为专业开发人员的基本工具,其使用占比从去年 55% 增加到今年的 69%。

dbc22e9272fe2fb313a4db2d894f2bd8.png

专业开发者最常用的工具

在工具层面,学习编码的人比专业开发人员更有可能使用 3D 工具来自学 3D VR 和 AR 技能,如 Unity 3D(学习编码 23% vs 专业开发者 8%)和虚幻引擎(学习编码 9% vs 专业开发者 3%)。

VS Code 无可匹敌

Visual Studio Code 仍然是所有开发人员的首选 IDE。PyCharm 更多地被学习编码的人使用(学习编码 26% vs 专业开发者 16%),而 Vim 被专业开发人员使用得更多(专业开发者 24% vs 学习编码 16%)。

27ea689d0d51e5661011480fe3cc60e5.png

最常用的 IDE

在受访者中,有超七成开发者将最讨厌的 IDE 这一票投给了 NetBeans。其次 Eclipse、Atom 纷纷上榜开发者最不喜欢的 IDE 榜单中。

5bb75a1f5c6f431ffcbbde0851b3079f.png

最喜欢和最讨厌的 IDE

基于 Linux 的操作系统使用率超过 macOS

Windows 是开发者群体中最流行的操作系统,涵盖个人和专业用途。基于 Linux 的操作系统比 macOS 更受欢迎,而这也是开源软件带来的魔力。

970f36e23444afbfc25b7f63cb8b5ac9.png

最常用的操作系统

305bff9ac7ff938fd59d871166df3d7c.png

学什么技术,能获得高薪?

对于开发者最为感兴趣的“学什么技术最能挣钱”话题下,根据调研的数据显示,在编程语言方面,Clojure 仍然是众所周知的最高收入语言,中位数达到了 106,644 美元。其次,高薪语言分别为 Erlang、F#、LISP、Ruby。不过相较而言,这些技术在开发者群体中较为少见。

af1489597216e1b6585b845a1c27ce09.png

整体来看,2022 年,开发者的薪酬都比 2021 年有所提升。COBOL 涨幅最为明显。

95cf5bf194652423bb586b6227b6aba6.png

在数据库领域,掌握 DynamoDB、Couchbase、Cassandra、Neo4j、Elasticsearch 的开发者往往更能获得高薪。

6762e8a5177114ce37f22bd3a66fec41.png

基于平台的维度,Colocation、AWS、IBM Cloud or Watson、Linode、Microsoft Azure 是高薪榜单的 Top 5,最高的年薪中位数为 111,196 美元。

50adb33e602c4d0c7469cfba9b39d243.png

Phoenix 既是开发者最受欢迎的 Web 框架也是最为高薪的技术。

bcf94fd62ebb6ec6f4b76c1ae48aba90.png

Chef 开发人员是薪水最高的,但 Chef 也是开发者最讨厌的工具。

4a3584ca37362a943f2e2590e291abfe.png

在大数据维度,获得 Apache Spark、Apache Kafka 和 Hadoop 的技能,能收获意想不到的惊喜。

c5e5d5a05660d7cebbf61623a295d70d.png

dc0c8dd893b1ff6b07fa6d7a5eccca72.png

远程工作已成未来办公的一大趋势

今年有 68.61% 的受访者为全职,人数相比去年上升了 4%。其中,85% 的受访者表示,公司支持远程工作。拥有超过 10000 名员工的公司最有可能采用混合模式,即办公室和远程的方式来办公。

ff6e10330d7acb6ac99639e9f9690b2d.png

在薪酬方面,公司的高管和技术经理等高级职位拿到薪酬往往比较高。高管的年薪中位数达到 117,126 美元。工程经理的年薪中位数为 111,976。

值得注意的是,在所有职业中,区块链成为近几年来的热门岗位,尤其在美国、德国、英国和加拿大等国家,即使开发者的相关经验年限较低,但是薪酬水平不错。

268657d766c81ca2c947a98d37615dad.png

事实证明,随着开发者经验的增长,薪酬也水涨船高。根据数据显示,平均而言,收入最高的三种职位拥有超过 11 年的工作经验。

a7b602fd6d489d7e97d7eddf78074068.png

按语言进行划分,与具有相同经验的其他语言相比,PHP 开发人员的薪水仍然过低。

5a5336fe179590a84d421ce689a8d39a.png

237e20761fa5423def6566dd01fed3ef.png

影响专业开发者工作效率的「拦路虎」

在职业生涯中,程序员在每个阶段都会遇到不同的问题。对于专业开发者而言,根据调研数据显示,近一半的受访者表示,知识孤岛(在组织中由于信息资源得不到有效的交叉融合,知识板块之间相互割裂而形成的无序状态,仿佛大海中的一个个“孤岛”)使得他们无法从整个组织获得相关知识,而在等待问题的解答过程中往往会导致他们中断工作流程。

954cf015cdb059418c7434be78358028.png

影响专业开发者效率的主要因素

具体来看,有 68% 的受访者表示,他们每周至少遇到一次“知识孤岛”问题。

f09aa5cb23b49750050be544399392e2.png

为了解决这一问题,62% 的受访者每天花费超过 30 分钟的时间寻找问题的答案或者解决方案。25% 的人每天花费超过一个小时。

这意味着对于一个由 50 名开发人员组成的团队来说,搜索答案/解决方案所花费的时间加起来导致整个团队每周损失 333-651 小时的时间。

d6b10c9c78f23f998d4dfdb921ee063d.png

每天花费在搜索答案/解决方案上的时间

相对应的,46% 的受访者称,他们每天花在回答问题上的时间超过 30 分钟。对于一个由 50 名开发人员组成的团队来说,整个团队每周回答问题所花费的时间加起来在 278-568 小时之间。

378b717212a5e18d4b74a9e7afb78e66.png

每天花费在回答答案/解决方案上的时间

在此趋势下,入职培训、工作时候的学习资源变得非常重要。78% 的受访者表示,他们的雇主给他们时间学习,64% 的受访者使用雇主提供的学习资源。

5610eb7b119c41d9da3c3044428cb9fd.png

在大多数企业中,其内部都提供 CI/CD、DevOps 和自动化测试。不过,只有 38% 的受访者表示公司拥有开发者门户,以便于查找工具和服务。

1382ecdd953e84baba012d667a564430.png

上面的开发者现状是否是你的真实现状?如果想要了解更多报告内容,可查看:https://survey.stackoverflow.co/2022/

 
 
Logo

20年前,《新程序员》创刊时,我们的心愿是全面关注程序员成长,中国将拥有新一代世界级的程序员。20年后的今天,我们有了新的使命:助力中国IT技术人成长,成就一亿技术人!

更多推荐