中国卓越技术团队访谈录读者调查,2022年采访嘉宾由你决定! 了解详情
写点什么

技术人最爱 Rust,最怕 COBOL,工程经理最高薪,懂 Clojure 最赚钱 | 2021 全球开发者报告

  • 2021 年 8 月 09 日
  • 本文字数:6795 字

    阅读完需:约 22 分钟

技术人最爱Rust,最怕COBOL,工程经理最高薪,懂Clojure最赚钱 | 2021全球开发者报告

概述


我们在年度调查中提出的问题将有助于改进 Stack Overflow 社区和为其服务的平台。


例如,今年,我们观察到开发者的自我教育方式有了很大的改变。对 18 岁以下的程序员群体而言,视频、博客等网络资源比书本和学校加起来更受欢迎,这一统计数字在其他年龄组中并不成立。总体来说,这个行业有很多新人,50% 以上的人表示他们从事编程工作不到十年,超过 35% 的人从事这个行业不到五年。


我们面临的挑战和机遇是继续扩大和提高我们的能力,以帮助所有开发者,并让他们在我们的社区中感到受欢迎。


请继续阅读,了解更多关于影响当今软件艺术与实践的态度、工具和环境方面的深刻见解。

开发者情况


关于全球开发者社区的了解。

主要地区


Stack Overflow 为国际社区服务,我们的调查收到了来自世界上几乎所有国家的答复。

地理


对调查的答复最多的仍然是美国和印度,其次是德国、英国和爱尔兰。在所有被调查者中,近 60% 来自前十名国家。要了解前十名国家,请参阅调查方法一节。当我们放大到美国(得到答复最多的国家)时,我们发现,拥有成熟科技中心的州的被调查者最多:加利福尼亚州、纽约州、华盛顿州和德克萨斯州。

经验


高管和经理通常都有很多年的编程经验,而从事数据科学和机器学习的人通常经验最少,平均的经验甚至少于学术研究者。

编写第一行代码


程序员很早就开始编写代码:50% 以上的被调查者在 11 岁到 17 岁之间编写了第一行代码。


你编写第一行代码或程序时,你当时多大?(例如:网页、Hello World、Scratch 项目)


学习如何编程


不足为奇的是,近 60% 的被调查者从网络资源学会了如何编程。年轻的被调查者倾向于通过网络课程、论坛和其他网络资源学习。而另一方面,年长的被调查者则从传统的媒体如学校和书籍中学习。


你怎么学会编程的?选择所有符合的选项。


所有被调查者



按年龄划分


编程年限


50% 的被调查者有十年或以下的编程经验。平均而言,来自英国的被调查者,在我们排名前十的国家中,编程年限最多。


包括任何教育,你总共有多少年的编程经验?


所有被调查者



排名前十的国家的平均数


专业编程年限


大多数被调查者都从事过十年或更短的专业开发,这意味着他们从未在没有 Stack Overflow 的世界里工作过。


不包括教育,你有多少年的专业编程(作为工作的一部分)经验?


按开发者类型划分的专业编码经验年限


担任更高级职务的开发者的专业编程年限最多。而数据科学家和机器学习专家的编程年限最少,比学术研究者的年限还要少。


不包括教育,你有多少年的专业编程(作为工作的一部分)经验?


开发者角色


担任全栈开发者的人最常见。有意思的是,从去年开始,设计师的角色有所下降,并与系统管理员交换了位置。

开发者类型


全栈、后端、前端和桌面开发者仍然占所有被调查者的大多数。


以下哪项描述了您目前的工作?选择所有符合的选项。


所有被调查者



美国


教育


开发者是一个受过高等教育的群体,超过 65% 具有本科以上学历。但传统的大学教育并不代表一切,约有四分之一的的被调查者具有本科以下的学历。

教育程度


70% 的被调查者和 80% 的专业开发者都完成了某种形式的高等教育,其中学士学位最为普遍。


以下哪一项最能描述你所完成的最高水平的正规教育?


所有被调查者



专业开发者



人口统计特征


大约有三分之一的被调查者回答了我们有关心理健康的问题。这一数字是 2020 年反馈的百分比的两倍,可能反映了人们对心理健康重要性和持续大流行病的影响的的日益认识。

年龄


48% 的专业开发者的年龄在 25~34 岁。65 岁以上的被调查者中,几乎有一半不认为自己是专业开发者。


你现在多大?


所有被调查者



专业开发者


性别


91% 的被调查者和 92% 的专业开发者认同为男性。在美国,少数性别群体(女性、性别酷儿、变性人或性别不明者)所占比例最高。为了确保我们的平台具有包容性,并且确保我们的调查能够代表世界各地的开发者,我们做了相当多的工作。


如有,以下哪些方面可以描述你的现状?选择所有符合的选项。


所有被调查者



专业开发者


心理健康

超过 16000 名被调查者回答了我们有关心理健康的问题,几乎 10% 的被调查者表示他们会面对焦虑问题。


如有,以下哪些方面可以描述你的现状?选择所有符合的选项。


技术


每年,我们都会探索开发者目前正在使用的工具和技术。一如既往,我们会询问他们哪些技术是最喜爱的,哪些是最害怕的,哪些是最想要的,并分为几个类别。


今年,我们还引入了一个新的部分,即“与之一起工作”与“想要一起工作”,它精确地向我们展示了开发者在过去一年里用过什么以及他们希望在下一年用什么。加入你需要回顾我们如何构建喜爱的、害怕的、想要的,或者你想读到“与之一起工作”与“想要一起工作”背后的直觉,请看我们的这篇元文章https://meta.stackoverflow.com/questions/410519/what-is-worked-with-vs-want-to-work-with-in-the-developer-survey-results

最喜爱的技术


Python 超越 SQL 成为我们第三最喜爱的技术,Node.JS 上升为第六最喜爱的技术。

编程、脚本和标记语言


JavaScript 连续第九年成为最常用的编程语言。对大部分开发者来说,编程就是 Web 编程。Python 已经取代 SQL 成为第三最喜爱的编程语言。


在过去一年中,你用哪些编程、脚本和标记语言做了大量的开发工作,以及你想在未来一年中用哪些进行工作?(如果你使用这些工作,并且希望继续使用,请在该行的两个方框内打勾)。


所有被调查者



专业开发者


数据库

最常用的数据库在所有被调查者和专业开发者之间是一致的。唯一的不同之处在于,专业开发者比 MongoDB 更有可能使用微软 SQL Server。


在过去一年中,你用哪些数据库环境做了大量的开发工作,以及你想在未来一年中用哪些进行工作?(如果你使用这些工作,并且希望继续使用,请在该行的两个方框内打勾)。


所有被调查者



专业开发者


云平台

AWS 仍是最广泛使用的云平台的领头羊,但谷歌云和微软 Azure 在去年取得了巨大的进步。值得一提的是,今年是我们第一次将云平台与通用平台分离开来。


在过去一年中,你用哪些云平台做了大量的开发工作,以及你想在未来一年中用哪些进行工作?(如果你使用这些工作,并且希望继续使用,请在该行的两个方框内打勾)。


所有被调查者



专业开发者



Web 框架

今年,React.js 已经超越 jQuery 成为最常使用的网络框架。


在过去一年中,你用哪些 Web 框架和库做了大量的开发工作,以及你想在未来一年中用哪些进行工作?(如果你使用这些工作,并且希望继续使用,请在该行的两个方框内打勾)。


所有被调查者



专业开发者


其他框架和库

在其他技术中,虽然 Python 的一些数据科学库表现强劲,但是 .Net 框架最受欢迎。


在过去一年中,你用哪些其他框架和库做了大量的开发工作,以及你想在未来一年中用哪些进行工作?(如果你使用这些工作,并且希望继续使用,请在该行的两个方框内打勾)。


所有被调查者



专业开发者


其他工具

90% 以上的被调查者使用 Git,这表明它是一个基本的开发工具。


在过去一年中,你用哪些工具做了大量的开发工作以及你想在未来一年中用哪些进行工作?(如果你使用这些工作,并且希望继续使用,请在该行的两个方框内打勾)。


所有被调查者



专业开发者


集成发环境

Viual Studio Code 是所有开发者的首选 IDE,拥有巨大的优势。


在过去一年中,你用哪些集成开发环境做了大量的开发工作,以及你想在未来一年中用哪些进行工作?(如果你使用这些工作,并且希望继续使用,请在该行的两个方框内打勾)。


所有被调查者



专业开发者


操作系统

Winows 依然是我们最喜欢的操作系统,尽管在专业开发者中略有下降。在今年,我们首次将 WSL 作为选项。


你工作的主要操作系统是什么?


所有被调查者



专业开发者


最喜爱的、最害怕的、最想要的

Rust 是最喜爱的语言。Python 和 Typescript 是开发者最想使用的语言,如果他们还没有使用的话。

编程、脚本和标记语言

在第六年,Rust 是最喜爱的语言,而 Python 是第五年最喜爱的语言。


在过去一年中,你用哪些编程、脚本和标记语言做了大量的开发工作,以及你想在未来一年中用哪些进行工作?(如果你使用这些工作,并且希望继续使用,请在该行的两个方框内打勾)。


喜爱的与害怕的



想要的


数据库

Redis 成为最喜爱的数据库已经是第五年了。PostgreSQL 勉强超过 MongoDB,但不到 1%,成为人们喜爱的数据库。而 IBM DB2 已经连续第二年成为最害怕的数据库。


在过去一年中,你用哪些数据库做了大量的开发工作,以及你想在未来一年中用哪些进行工作?(如果你使用这些工作,并且希望继续使用,请在该行的两个方框内打勾)。


喜爱的与害怕的



想要的


平台

AWS 不仅是最爱的云平台,而且也是最想要的云平台。


在过去一年中,你用哪些平台做了大量的开发工作,以及你想在未来一年中用哪些进行工作?(如果你使用这些工作,并且希望继续使用,请在该行的两个方框内打勾)。


喜爱的与害怕的



想要的


Web 框架

最新推出的 Svelte 在最喜爱的框架中占据第一位。React 是最想要的,有四分之一的开发者希望拥有它。


在过去一年中,你用哪些 Web 框架和库做了大量的开发工作,以及你想在未来一年中用哪些进行工作?(如果你使用这些工作,并且希望继续使用,请在该行的两个方框内打勾)。


喜爱的与害怕的



想要的


其他框架和库

虽然 Tensoflow 是最想要的库,但 Pytorch 却更受欢迎。作为 Stack Overflow 的 .NET Core 用户,我们很高兴看到它排在首位。


在过去一年中,你用哪些其他框架和库做了大量的开发工作,以及你想在未来一年中用哪些进行工作?(如果你使用这些工作,并且希望继续使用,请在该行的两个方框内打勾)。


喜爱的与害怕的



想要的


其他工具

早些时候,我们看到 93% 的被调查者用 Git。现在,我们发现其中 85% 的被调查者希望继续使用 Git 工作。Git、Docker 和 Kubernetes 都是最喜爱也是最想要的工具。


在过去一年中,你用哪些工具做了大量的开发工作,以及你想在未来一年中用哪些进行工作?(如果你使用这些工作,并且希望继续使用,请在该行的两个方框内打勾)。


喜爱的与害怕的



想要的


协作工具

尽管 Neovim 是最喜爱的编辑器,但它是第十最想要的编辑器。


在过去一年中,你经常用哪些开发环境,以及你想在未来一年中用哪些?选择所有使用的选项。


喜爱的与害怕的



想要的


“与之一起工作”与“想要一起工作”

编程、脚本与标记语言

要解释的东西很多,但是这里有一些我们发现的最值得注意的趋势。有超过一万名的 JavaScript 开发者想要开始或者继续使用 Go 或 Rust 开发。现在,大部分希望使用 Dart 的开发者正在使用 JavaScript。而且,只有 SQL 开发者希望使用 PHP 工作。


在过去一年中,你用哪些编程、脚本和标记语言做了大量的开发工作,以及你想在未来一年中用哪些进行工作?(如果你使用这些工作,并且希望继续使用,请在该行的两个方框内打勾)。


所有被调查者



专业开发者


数据库

12590 名 MySQL 开发者希望使用 PostreSQL,6429 名 PostgreSQL 开发者希望使用 MySQL。


在过去一年中,你用哪些数据库做了大量的开发工作,以及你想在未来一年中用哪些进行工作?(如果你使用这些工作,并且希望继续使用,请在该行的两个方框内打勾)。


所有被调查者



专业开发者


平台

尽管 AWS 是最受欢迎的平台,但是我们看很多 AWS 开发者明年都想在谷歌云中开发。8586 名 AWS 开发者希望与谷歌云合作,而只有 7668 名谷歌云开发者想要在 AWS 工作。当前使用 Heroku 或 Digital Ocean 的开发者更倾向于选择 AWS,然后是谷歌云,最后是 Azure。目前在使用 Azure 的开发者中,几乎没有人愿意转到 Heroku。


在过去一年中,你用哪些平台做了大量的开发工作,以及你想在未来一年中用哪些进行工作?(如果你使用这些工作,并且希望继续使用,请在该行的两个方框内打勾)。


所有被调查者



专业开发者


Web 框架

Django、Flask 和 Sprig 的开发者对继续使用他们各自的框架感到满足。几乎没有开发者愿意使用 ASP.NET。


在过去一年中,你用哪些 Web 框架和库做了大量的开发工作,以及你想在未来一年中用哪些进行工作?(如果你使用这些工作,并且希望继续使用,请在该行的两个方框内打勾)。


所有被调查者



专业开发者


其他框架和库

那些希望在 Hadoop 工作的开发者现在使用的是 Pandas 或者 NumPy。有 3328 名 TensorFlow 开发者希望继续使用 PyTorch,但是只有 2329 名 Python 开发者希望转到 TensorFlow。


在过去一年中,你用哪些其他框架和库做了大量的开发工作,以及你想在未来一年中用哪些进行工作?(如果你使用这些工作,并且希望继续使用,请在该行的两个方框内打勾)。


所有被调查者



专业开发者


其他工具

在过去一年中,你用哪些工具做了大量的开发工作,以及你想在未来一年中用哪些进行工作?(如果你使用这些工作,并且希望继续使用,请在该行的两个方框内打勾)。


所有被调查者



专业开发者


协作工具

我们发现 IPython/Jupyter 用户希望使用 VS Code。也许是因为 VS Code 将 Notebook API 添加到了 IDE 中。


在过去一年中,你用哪些开发环境做了大量的开发工作,以及你想在未来一年中用哪些进行工作?(如果你使用这些工作,并且希望继续使用,请在该行的两个方框内打勾)。


所有被调查者



专业开发者


学习与问题解决

当你陷入困境时,你会怎么做

当你陷入困境时,你会怎么做?选择符合的选项。


所有被调查者



专业开发者


高薪技术

高薪技术

Perl 从去年的薪酬最高的语言变成了今年薪酬第五高的语言。Clojure 开发者的薪酬中位数最高,比第二名的 F# 多出 1.4 万美元。


你目前的薪酬总额是多少(工资、奖金和额外津贴,税前和扣除项)?


编程、脚本和标记语言



数据库



平台



Web 框架



其他框架与库



其他工具



协作工具


工作

就业

我们发现更多的被调查者选择了兼职或在学校工作,而表示全职工作的被调查者则减少。这可能反映大流行病的影响,所有行业的工人都在后退,并重新评估他们与充分和亲自就业之间的关系。

就业状况

81% 的专业开发者是全职工作,而 2020 年则为 83%,这一数字有所下降。表示自己是独立承包商、自由职业者或自谋职业者的专业开发者比例从 2020 年的 9.5% 增加到 2021 年的 11.2%,这表明潜在的工作缺乏安全感,或转向更灵活的工作安排。


以下哪项最能描述你目前的就业状况?


所有被调查者



专业开发者


公司信息

公司规模

今年自由职业者比去年多,我们看到有更多人选择自由职业。


你目前工作的公司或组织大约雇佣了多少人?


薪水

按开发类型的薪水

从整体上看,工程经理、SRE、DevOps 专家和数据工程师往往获得最高的薪水。如果把重放在美国,我们就会发现基本的薪酬结构存在一些差异。与全球开发者人口相比,在美国,移动开发者和教育工作者通常比其他职业获得更高的薪酬。


你目前的薪酬总额是多少(工资、奖金和额外津贴,税前和扣除项)?


所有被调查者



美国


按开发者类型划分的薪水和经验

虽然工程经理、SRE、DevOps 专家的薪酬最高,但是我们发现他们平均也有 10 年以上的专业经验。数据科学家或机器学习专家的薪酬是第八高,但是平均来说,他们的工作年限最短。虽然设计师平均有十年以上的工作经验,但薪酬最低。


你目前的薪酬总额是多少(工资、奖金和额外津贴,税前和扣除项)?


按编程语言划分的薪水和经验

PHP 开发者的薪酬比有相同经验的其他语言要低。


你目前的薪酬总额是多少(工资、奖金和额外津贴,税前和扣除项)?


调查方法

本次调查是如何策划和分析的。

常规

本报告是基于对全球 181 个国家的 83439 名软件开发者的调查。 根据已经完成的完整调查所花费的时间,我们认为这是“符合”的答复数量;另外提交了大约 172 份答复,但没有包括在分析中,因为受访者在调查中所花费的时间不足 3 分钟。


本次调查是在 2021 年 5 月 25 日至 2021 年 6 月 15 日进行。


在本次调查中,合格答复所用的时间中位数为 10.21 分钟。


受访者主要是通过 Stack Overflow 所有的渠道来招募的。受访者的主要来源是现场消息、博客帖子、电子邮件列表、横幅广告和社交媒体帖子。由于受访者是通过这种方式招募的,Stack Overflow 上的高参与度用户更有可能会注意到调查的提示,从而在征集的过程中接受调查。


作为一项激励措施,完成调查的受访者如果完成了调查,有权获得一个“普查”标志。


我们询问了受访者的薪酬情况。首先,我们询问了每个受访者通常使用什么货币。之后,我们询问了受访者他们的薪酬水平,以及该薪酬是每周、每月还是每年。


与调查中的大多数问题一样,薪酬问题是可选的。有 46844 名受访者向我们提供了薪酬数据。


我们使用 2021 年 6 月 16 日 的汇率将用户货币的薪酬转换为美元,同时假设 12 个工作月和 50 个工作周,将其转换为年薪。


大约 2% 的美国国内外最高薪酬水平被削减,并被门槛值取代。在美国,国内外的门槛值不同。


要决定今年的调查应该包括什么技术,我们研究了 Stack Overflow 上最受欢迎和发展最快的标签(以发布的问题为例)。我们将这些技术与去年包括的技术进行了比较,并查看了有多少人选择了每个选项。将这一切综合起来,我们策划出了一套要包括的技术集。


这些问题被组织成若干问题块,并将它们按照顺序随机排列。另外,对大部分问题的答案也是随机地排列。


原文链接:


https://insights.stackoverflow.com/survey/2021#experience-learn-code-age

2021 年 8 月 09 日 14:124383
用户头像
刘燕 InfoQ记者

发布了 756 篇内容, 共 246.3 次阅读, 收获喜欢 1443 次。

关注

评论 1 条评论

发布
用户头像
国内吹牛厉害,一看薪水中位数不如印度
2021 年 08 月 11 日 09:21
回复
没有更多了
发现更多内容

week3.课后作业

个人练习生niki👍

单例模式 组合模式

极客时间架构师训练营 - week3 - 作业 2

jjn0703

极客大学架构师训练营

ARTS-week-4

youngitachi

ARTS 打卡计划 arts

我们是如何做go语言系统测试覆盖率收集的?

大卡尔

测试覆盖率 精准测试 Go 语言

Prometheus 2.19.0 新特性

耳东@Erdong

Prometheus

锦囊篇|一文摸懂OkHttp

ClericYi

关于JVM,你必须知道的那些玩意儿

ClericYi

架构师训练营 - 学习笔记 - 第三周

心在飞

极客大学架构师训练营

再谈云原生:我的看法

lidaobing

云原生 k8s 中间件

架构师训练营第三周学习总结

CATTY

锦囊篇|一文摸懂EventBus

ClericYi

锦囊篇|一文摸懂LeakCanary

ClericYi

每周学习总结 - 架构师培训 3 期

Damon

架构师训练营 -week3- 作业

晓-Michelle

极客大学架构师训练营

学习总结 - 第3周

饶军

重学 Java 设计模式:实战命令模式「模拟高档餐厅八大菜系,小二点单厨师烹饪场景」

小傅哥

设计模式 小傅哥 重构 代码优化 命令模式

极客时间 - 架构师培训 -3 期作业

Damon

week3.学习总结

个人练习生niki👍

springboot整合Quartz实现定时任务(api使用篇)

北漂码农有话说

锦囊篇|一文摸懂ButterKnife

ClericYi

第三周课后作业

iHai

极客大学架构师训练营

第三周学习总结

iHai

极客大学架构师训练营

游戏夜读 | 《FPS关卡设计》

game1night

架构师训练营 - 第三周命题作业

牛牛

极客大学架构师训练营 命题作业

Redis系列(二): 连集合底层实现原理都不知道,你敢说Redis用的很溜?

z小赵

Java redis 高并发 高并发系统设计

618 我们狂欢的是什么?

Neco.W

拼多多 电商 京东 活动专区

设计模式的十八般武艺

ClericYi

还有比二分查找更快的算法,面向接口编程Protocol,John 易筋 ARTS 打卡 Week 05

John(易筋)

swift ARTS 打卡计划 二分查找 binary search protocol

ARTS-03 -- ARTS-04

NIMO

ARTS 打卡计划 ARTS活动

区块链系列教程之:比特币中的网络和区块链

程序那些事

比特币 区块链 网络 p2p

关于多线程,你必须知道的那些玩意儿

ClericYi

撑起瞬时千亿交易额的云数据库是怎么炼成的?

撑起瞬时千亿交易额的云数据库是怎么炼成的?

技术人最爱Rust,最怕COBOL,工程经理最高薪,懂Clojure最赚钱 | 2021全球开发者报告-InfoQ