毫不奇怪,近 60% 的受访者从在线资源中学习了如何编码。年轻的受访者倾向于从在线课程、论坛和其他在线资源中学习。另一方面,年长的受访者从学校和书籍等更传统的媒介中学习。学习如何编码 → AWS 保持其作为使用最广泛的云平台的领先地位,但谷歌云和微软 Azure 比去年取得了巨大的进步。值得注意的是,这是我们第一次从我们的通用平台问题中把云平台拆分出来。云平台 → 新人 Svelte 位居榜首,成为最受喜爱的框架。 React 是最需要的,也是四分之一的开发人员想要的。 Web 框架 → Perl 从去年收入最高的语言变成了今年收入第五高的语言。 Clojure 开发人员的工资中位数最高,比 F# 的第二名高出 14k。
高薪技术 → 81% 的专业开发人员是全职员工,低于 2020 年的 83%。自称是独立承包商、自由职业者或个体经营者的专业开发人员比例从 2020 年的 9.5% 增加到 2020 年的 11.2% 2021 - 表明潜在的工作不安全或转向更灵活的工作安排。就业状况 → 美国和印度继续提供最多的调查回复,其次是德国和 UKI(英国和爱尔兰)。排名前十的国家占所有受访者的近 60%。要查看排名前十的国家,请参阅方法部分。当我们放大美国(我们的回应率最高的国家)时,我们发现拥有成熟技术中心的州的受访者最多:加利福尼亚州、纽约州、华盛顿州和德克萨斯州。程序员从年轻开始:超过 50% 的受访者在 11 到 17 岁之间编写了他们的第一行代码。几乎 60% 的受访者从在线资源中学习如何编码也就不足为奇了。年轻的受访者倾向于从在线课程、论坛和其他在线资源中学习。另一方面,年长的受访者从学校和书籍等更传统的媒介中学习。 50% 的受访者已经编码十年或更短。平均而言,来自英国的受访者在我们排名前十的国家中编码的年数最长。
大多数受访者作为专业开发人员已经工作了十年或更短的时间,这意味着他们从未在没有 Stack Overflow 的世界中工作过。担任更高级角色的开发人员拥有最多多年的专业编码经验。与此同时,数据科学家和机器学习专家的经验最少,年数少于学术研究人员。全栈、后端、前端和桌面开发人员继续占所有受访者的大多数。 70% 的受访者和 80% 的专业开发人员完成了某种形式的高等教育,学士学位是最常见的。 48% 的专业开发人员年龄在 25-34 岁之间。在 65 岁或以上的受访者中,几乎有一半不认为自己是专业开发人员。 91% 的受访者和 92% 的专业开发人员认为自己是男性。美国的性别少数群体(女性、非二元、性别酷儿或性别不一致)的比例最高。我们有大量工作要做,以确保我们的平台具有包容性,并且我们的调查能够代表各地的开发人员。 11.5% 的受访者认为自己不是异性恋/异性恋,6.5% 的受访者表示不认同任何取向。要确保开发者社区更具包容性,还有很多工作要做。
2,960 名受访者存在身体差异,其中大多数受访者失明或视力不佳。超过 16,000 名受访者回答了我们关于心理健康的问题,几乎 10% 的受访者表示他们应对焦虑。 JavaScript 连续第九年成为最常用的编程语言。对于大多数开发人员来说,编程就是网络编程。 Python 与 SQL 交换了位置,成为第三大流行语言。最常见的数据库在所有受访者和专业开发人员之间是一致的。我们观察到的唯一区别是,专业开发人员更倾向于使用 Microsoft SQL Server 而不是 MongoDB。 AWS 保持其作为使用最广泛的云平台的领先地位,但谷歌云和微软 Azure 比去年取得了可观的收益。值得注意的是,这是我们第一次从我们的通用平台问题中把云平台拆分出来。 .NET 框架在其他技术中最受喜爱,尽管一些 Python 的数据科学库表现出色。超过 90% 的受访者使用 Git,这表明它是成为开发人员的基本工具。
Visual Studio Code 作为所有开发人员的首选 IDE,具有显着的领先优势。 Windows 仍然是最受欢迎的操作系统,尽管在专业开发人员中略逊一筹。今年也是我们第一次添加 WSL 作为选项。第六年,Rust 是最受欢迎的语言,而 Python 是第五年最受欢迎的语言。 82,914 回复 未使用该语言或技术进行开发但表示有兴趣使用该语言或技术进行开发的开发人员的百分比 Redis 已连续第五年成为最受欢迎的数据库。 PostgreSQL 勉强超过 MongoDB,成为最受欢迎的数据库。 IBM DB2 连续第二年成为最可怕的数据库。 72,517 回复 未使用该语言或技术进行开发但表示有兴趣使用该语言或技术进行开发的开发人员的百分比 AWS 不仅是最受欢迎的云平台,也是最受欢迎的云平台。
60,516 回复 未使用该语言或技术进行开发但表示有兴趣使用该语言或技术进行开发的开发人员的百分比 新人 Svelte 位居榜首,成为最受欢迎的框架。 React 是最需要的,也是四分之一的开发人员想要的。 66,202 回复 未使用该语言或技术进行开发但表示有兴趣使用该语言或技术进行开发的开发人员百分比 虽然 Tensorflow 是最受欢迎的库,但 Pytorch 是一个更受喜爱的库。作为 Stack Overflow 的 .NET Core 用户,我们很高兴看到它位居榜首。 58,282 回复 未使用该语言或技术进行开发但表示有兴趣使用该语言或技术进行开发的开发人员的百分比 早些时候,我们看到 93% 的受访者使用 Git。现在我们看到 85% 的受访者希望继续使用 Git。 Git、Docker 和 Kubernetes 都是最受欢迎和最想要的工具。 75,793 回复 未使用该语言或技术进行开发但表示有兴趣使用该语言或技术进行开发的开发人员百分比
81,838 回复 未使用该语言或技术进行开发但表示有兴趣使用该语言或技术进行开发的开发人员百分比 这里有很多内容需要解开,但这里有一些我们发现的最显着趋势。有超过 10k Javascript 开发人员想要开始或继续使用 Go 或 Rust 进行开发。大多数想要使用 Dart 的开发人员目前都在使用 JavaScript。我们还看到唯一想使用 PHP 的开发人员是 SQL 开发人员。 12,590 名 MySQL 开发人员希望使用 PostgreSQL,而 6,429 名 PostgreSQL 开发人员希望使用 MySQL。虽然 AWS 是最受欢迎的平台,但我们看到明年有大量 AWS 开发人员希望在 Google Cloud 中进行开发。 8,586 名 AWS 开发人员希望使用 Google Cloud,而只有 7,668 名 Google Cloud 开发人员希望在 AWS 中工作。目前使用 Heroku 或 Digital Ocean 的开发人员更喜欢开始使用或继续使用 AWS,然后是 Google Cloud,最后是 Azure。目前使用 Azure 的开发人员很少想迁移到 Heroku。 Django、Flask 和 Spring 开发人员满足于继续在各自的框架中工作。很少有开发人员想要使用 ASP.NET。想要在 Hadoop 中工作的开发人员目前正在使用 Pandas 或 Numpy。有 3,328 名 Tensorflow 开发人员希望继续使用 PyTorch,但只有 2,328 名 Pytorch 开发人员希望转向 Tensorflow。我们看到 IPython/Jupyter 用户想要在 VS Code 中工作。这可能是由于 VS Codes 在他们的 IDE 中添加了 Notebook API。
Perl 从去年收入最高的语言变成了今年收入第五高的语言。 Clojure 开发人员的工资中位数最高,比 F# 的第二名高出 14k。 81% 的专业开发商是全职员工,比 2020 年的 83% 有所下降。自称是独立承包商、自由职业者或个体经营者的专业开发商比例从 2020 年的 9.5% 增加到 2021 年的 11.2% - 表明潜力工作不安全或转向更灵活的工作安排。与去年相比,来自印度的受雇全职受访者的百分比下降了 15 个百分点。相比之下,学生人数增加了 9 个百分点。总体而言,工程经理、SRE、DevOps 专家和数据工程师的薪水往往最高。在关注美国时,我们会发现薪资范围的底部存在一些差异。在美国,与全球开发人员相比,移动开发人员和教育工作者的薪水往往高于其他职业。尽管工程经理、SRE、DevOps 专家角色的薪酬最高,但我们看到他们平均也拥有超过 10 年的专业经验。数据科学家或机器学习专家的薪酬排名第 8,但平均而言,他们的经验最少。设计师虽然平均拥有 10 年以上的经验,但收入却是最低的。不到 1% 的受访者从未访问过 Stack Overflow 或 Stack Exchange Network。我们知道开发人员经常访问 Stack Overflow,今年早些时候,我们确认他们复制代码的次数也一样多。从今年的调查中,我们还知道 80% 的受访者每周访问 Stack Overflow,其中 55% 每天访问。
在拥有 Stack Overflow 帐户的人中,46% 的人每月或每月访问该网站的次数少于一次。只有 44% 的受访者认为自己“有点”或“肯定”是 Stack Overflow 社区的成员。在这些受访者中,我们看到性别少数群体不太可能认为自己是 Stack Overflow 社区的成员。 79,517 回复 在所有受访者中,认为自己肯定或在某种程度上属于 Stack Overflow 社区的一部分的百分比。近 25,000 名受访者属于其他在线开发者社区。其中85%对公众开放,任何人都可以加入。这些其他社区中的大多数都属于 Reddit、Github 或 Discord。本报告基于对来自全球 181 个国家/地区的 83,439 名软件开发人员的调查。这是我们根据在完整、完整的调查上花费的时间,出于分析目的而认为“合格”的答复数量;另有大约 172 份回复被提交但未包括在分析中,因为受访者在调查中花费的时间不到三分钟。受访者主要通过 Stack Overflow 拥有的渠道招募。受访者的主要来源是现场消息、博客文章、电子邮件列表、横幅广告和社交媒体帖子。由于受访者是以这种方式招募的,因此 Stack Overflow 上参与度高的用户更有可能注意到在馆藏推广期间进行调查的提示。作为奖励,完成调查的受访者可以在完成调查后选择加入“人口普查”徽章。
由于美国的运输/出口制裁,克里米亚、古巴、伊朗、朝鲜和叙利亚的潜在受访者无法访问我们的调查,因为我们的第三方调查软件阻止了流量。虽然一些受访者使用 VPN 来绕过障碍,但在解释调查结果时应牢记这一限制。许多问题仅根据受访者之前的回答显示给受访者。例如,有关工作和工作的问题只显示给那些说他们在工作的人。我们向受访者询问了他们的薪水。首先,我们询问每个受访者通常使用什么货币。然后我们询问受访者他们以该货币计算的工资是多少,以及该工资是每周、每月还是每年。与调查中的大多数问题一样,薪资问题是可选的。有 46,844 名受访者向我们提供了薪资数据。我们使用 2021-06-16 的汇率将工资从用户货币转换为美元,并假设 12 个工作月和 50 个工作周转换为年薪。美国境内外约 2% 的最高工资被削减并替换为阈值。美国境内外的阈值不同。为了确定今年的调查中包含哪些技术,我们查看了 Stack Overflow 上最受欢迎和增长最快的标签(就发布的问题而言)。我们将这些与去年包含的技术进行了比较,并研究了有多少人选择了每个选项。我们将所有这些综合在一起,以策划要包含的技术集合。
这些问题被组织成几个问题块,这些问题是按顺序随机排列的。此外,大多数问题的答案都是按顺序随机分配的。大多数受访者认为今年的调查时间长度合适。不到 1% 的受访者认为今年的调查很困难。我不是主要的开发人员,但有时我会写代码作为我工作的一部分