概述

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

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

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

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

开发者情况

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

主要地区

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

地理

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

经验

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

编写第一行代码

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

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

按年龄划分

排名前十的国家的平均数

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

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

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

美国

专业开发者

专业开发者

专业开发者

技术

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

今年,我们还引入了一个新的部分,即“与之一起工作”与“想要一起工作”,它精确地向我们展示了开发者在过去一年里用过什么以及他们希望在下一年用什么。加入你需要回顾我们如何构建喜爱的、害怕的、想要的,或者你想读到“与之一起工作”与“想要一起工作”背后的直觉,请看我们的这篇元文章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 万美元。

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

编程、脚本和标记语言

平台

其他框架与库

协作工具

专业开发者

薪水

按开发类型的薪水

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

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

所有被调查者

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

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

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

调查方法

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

常规

本报告是基于对全球 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

本文文字及图片出自 InfoQ

余下全文(1/3)
分享这篇文章:

请关注我们:

发表评论

邮箱地址不会被公开。 必填项已用*标注