调查方法

分享:

这是一份公开报告,只要注明数据来源即可使用其内容。

受访者人数

超过 35,000 人回复了 2023 开发者生态系统调查。为确保我们使用的样本尽可能具有代表性,我们通过下述流程清理了数据。最终,报告采纳了来自 196 个国家和地区的 26,348 名开发者的意见,其中包括一份据报道来自南极洲的回复。数据根据几个标准进行加权,如本部分结尾部分所述。

数据清理流程

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

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

减轻回复负担

今年的调查有 544 个问题。

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

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

针对我们的受众

我们使用 Twitter 广告、Facebook 广告、Instagram、Quora 和 JetBrains 自己的通讯渠道邀请了潜在受访者。我们还向用户小组和技术社区渠道发布了链接,并建议受访者与同侪分享调查链接。

国家和地区

我们从 16 个国家收集了足够多的样本:阿根廷、巴西、加拿大、中国、法国、德国、印度、日本、墨西哥、韩国、西班牙、土耳其、俄罗斯、乌克兰、英国和美国。

其余国家/地区分布在六个区域:

  • 中东、非洲、中亚
  • 东欧、巴尔干半岛和高加索地区
  • 比荷卢和北欧
  • 欧洲其他地区(包括塞浦路斯和以色列)
  • 东南亚其他地区和大洋洲(包括澳大利亚和新西兰)
  • 中南美洲(不包括阿根廷、巴西和墨西哥)

在每个地理区域,我们从广告或受访者的推荐等外部来源收集了至少 300 份回复。

本地化

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

减小样本偏倚

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

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

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

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

首先,我们从专业开发者和在职学生那里获得调查数据,这些数据是通过在 22 个地区的各种社交网络上发布的广告提供给我们的,同时我们还从各种同侪推荐中获得数据。尽管我们未在乌克兰和俄罗斯投放调查广告,但我们将这两个国家/地区纳入报告中,并使用 2021 年数据的近似值对它们进行相应的加权。然后,我们按照这 22 个地区的预估专业开发者人数,对这些回复进行加权。这样确保了受访者分布与我们对每个国家/地区的专业开发者人数的预估相对应。

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

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

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

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

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

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

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

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

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

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

挥之不去的偏倚

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

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

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

调查方法:

2023

查找正确的工具

感谢您的参与!

我们真诚地希望您能发现我们的报告有用。与您的朋友和同事分享这份报告。

如果您有任何疑问或建议,请发送电子邮件至 surveys@jetbrains.com