Developer Ecosystem 2024

调查方法

2024 开发者生态系统报告是一份公开报告。它的内容仅可用于非商业用途,如此处所述。

受访者人数

调查于 2024 年 5 月至 6 月进行。为确保样本具有代表性,我们使用下述流程清理了数据。最终,报告采纳了来自 171 个国家和地区的 23,262 名开发者的意见,其中包括来自南极洲的一份回复。数据根据几个标准进行加权,如本部分结尾部分所述。

数据清理

只有回答了有关编程语言使用的问题时,我们才会使用不完整的回复。我们还应用了一套 34 条标准来识别和排除可疑的回复,包括:

  • 填写过快的调查。
  • 来自相同 IP 地址的调查,以及回复极其相似的调查。如果相同 IP 地址的两份回复有 75% 以上相同,我们将保留最完整的那一份。
  • 答案相互矛盾的调查,例如,“18-20 岁”和“16 年以上的专业经验”。
  • 几乎所有多选题都只选择了一个选项的调查。
  • 从同一个电子邮件地址提交的多份调查。在这种情况下,我们将保留最完整的调查。

减轻回复负担

今年的调查有 672 个问题。

我们的目标是覆盖各种研究领域,因此每位受访者都会根据他们之前的问题看到某些部分的内容。例如,有关 Go 的问题只显示给使用 Go 的程序员。此外,我们将各个问题和部分随机显示,以进一步减轻每位受访者的负担。

参与者平均需要 30 分钟来完成调查。我们已经设法简化调查流程,我们的目标是明年提高效率。

受访者定位

我们使用 Google Ads、X 广告、Facebook 广告、Instagram、Reddit、Quora、B 站、脉脉、知乎、dev.to、Codezine、TLDR、IT Media 和 JetBrains 自己的通讯渠道邀请了潜在受访者。我们还向用户小组和技术社区渠道发布了链接,并建议受访者与同侪分享调查链接。

国家和地区

我们从 20 个地理区域收集了足够大的样本。开发者最多的 13 个国家(阿根廷、巴西、加拿大、中国、法国、德国、印度、日本、墨西哥、韩国、西班牙、英国和美国)组成了各自的区域。其余国家/地区被分为以下七个区域:

  • 中东、非洲和中亚
  • 东欧、巴尔干半岛和高加索地区
  • 比荷卢和北欧
  • 北部和东部地中海(包括塞浦路斯、以色列和葡萄牙)
  • 中欧
  • 东南亚其他地区和大洋洲(包括澳大利亚和新西兰)
  • 中南美洲(不包括阿根廷、巴西和墨西哥)
  • 在每个地区,我们从广告或受访者的推荐等外部来源收集了至少 300 份回复。

本地化

为了最大限度地提高参与度并适应不同的参与者,本调查以九种语言提供:英语、中文、法语、德语、日语、韩语、巴西葡萄牙语、俄语和西班牙语。

减小样本偏倚

我们根据回复来源对数据进行加权。我们以不太偏向 JetBrains 用户的外部来源的回复为基础,例如 X、Facebook、Instagram、Quora 上的付费广告和受访者的推荐。我们将每个受访者的来源单独考虑在内,根据加权程序生成结果。

我们进行了三个加权阶段,以便能够更公正地了解全球开发者群体。

第一阶段:根据每个地区的专业开发者数量进行调整

在第一阶段,我们汇总了在针对不同的国家/地区时收集的受访者回复,然后对这些数据应用了我们对每个国家/地区的专业开发者数量的预估。

首先,我们从专业开发者和在职学生那里获得调查数据,这些数据是通过在 20 个地区的各种社交网络上发布的广告提供给我们的,同时我们还从各种同侪推荐中获得数据。然后,我们按照这 20 个地区的预估专业开发者人数,对这些回复进行加权。这样确保了受访者分布与我们对每个国家/地区的专业开发者人数的预估相对应。

第二阶段:目前就业和失业的开发者比例

在第二阶段,我们将每个国家/地区的学生和失业受访者比例强制为 17%。我们这样做是为了确保与上一年的方法保持一致,因为这是我们唯一可用的数量预估。

至此,我们从外部来源获得了许多回复,按地区和就业状况加权。

第三阶段:就业状况、编程语言和 JetBrains 产品使用

第三阶段相当复杂,包括通过求解方程组获得的计算结果。我们利用了这些加权回复,对于每个地区的开发者,除了他们的就业状况外,我们还计算了 30 多种编程语言各自的份额,以及回答“我目前使用 JetBrains 产品”和“我从未听说过 JetBrains 或其产品”的受访者比例。这些数字成为方程中的常量。

下一步是再添加其他来源的两个回复群组:JetBrains 内部沟通渠道(例如 JetBrains 社交媒体帐户和我们的研究小组)和针对特定编程语言用户的社交网络广告活动。

求解一个包括线性方程和不等式的系统

我们设计了一个包括 30 多个线性方程和不等式的系统,这些方程和不等式描述了以下信息:

  • 填写过快的调查。
  • 受访者的权重系数(例如,样本中的 Fiona 代表了法国 180 位软件开发者的平均情况)。
  • 受访者回复的特定值(例如,Pierre 使用 C++,他是一名全职开发者,之前从未听说过 JetBrains)。
  • 在受访者中的必要比率(例如,27% 的开发者在过去 12 个月中使用过 C++,等等)。

为了使用权重系数的最小方差(非常重要!)求解此方程组,我们使用了 Goldfarb 和 Idnani 的对偶方法(1982,1983),这种方法帮助我们为 23,262 名受访者校核了最优的各个权重系数。

挥之不去的偏倚

尽管采取了这些措施,可能仍存在一些偏倚,因为平均而言,JetBrains 用户可能更愿意完成调查。

尽管我们试图控制调查分布并应用智能加权,但社区和开发者生态系统仍在不断发展,一些意外数据波动的可能性并不能完全消除。

未来,我们将继续更新和改进我们的方法。敬请期待《2025 开发者生态系统调查》!

Developer Ecosystem 2024

调查方法

2024 开发者生态系统报告是一份公开报告。它的内容仅可用于非商业用途,如此处所述。