调查方法

分享:

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

受访者人数

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

数据清理流程

我们使用了部分回复,排除受访者离开调查前尚未回答其主要编程语言相关问题的情况。我们还应用了一组识别和排除可疑回复的标准。以下是我们检查的一些指标:

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

减轻回复负担

今年,调查包括 527 个问题。尽管我们的目标是涵盖尽可能多的研究主题,并且应用了逻辑设计,我们仍然觉得它太长了。

为了缩短调查并减轻回复负担,我们采取措施来随机显示一些问题:

  1. 我们随机显示 8 个部分,其中每个受访者只看到 2 个:
    • 持续集成、问题跟踪和 VCS
    • DevOps 和托管
    • 静态分析、开源等。
    • 教育
    • 跨平台和微服务
    • 通讯工具
    • 安全性
    • 远程和协作开发
  2. 我们随机向 50% 的合格受访者显示有关最热门语言(例如 Java、JavaScript、SQL、Python 和 GraphQL)的部分。
  3. 我们还随机隐藏了没有逻辑或依赖关系的问题。

尽管我们有意简化调查,但受访者平均仍需大约 30-40 分钟填写调查表。我们认为这还是太长,也已经在考虑如何改善明年的体验。

针对我们的受众

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

国家和地区

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

今年,我们避免使用付费广告收集来自白俄罗斯、俄罗斯和乌克兰的回复。来自白俄罗斯的回复与东欧、巴尔干和高加索地区合并。

其余国家分布在 6 个区域:

  • 非洲、中东和中亚
  • 东欧、巴尔干半岛和高加索地区
  • 北欧和比荷卢联盟
  • 其他欧洲国家
  • 东南亚和大洋洲、澳大利亚和新西兰
  • 中南美洲

在每个地理区域(加拿大和日本除外),我们从广告等外部来源收集了至少 300 份回复。

本地化

为了尽可能减少对非英语受访者的潜在偏差,调查还提供了其他 8 种语言版本:中文、法语、德语、日语、韩语、巴西葡萄牙语、西班牙语和土耳其语。

减小样本偏倚

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

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

第一加权阶段:针对每个区域的专业开发者数量进行调整

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

首先,我们从 20 个区域的各种社交网络上发布的广告中收集关于专业开发者和在职学生的调查数据,也收集各种同行推荐的数据。我们今年没有收集俄罗斯和乌克兰的数据,但还是将这两个国家纳入了报告,并使用去年数据的近似值进行了加权。我们的理由是,这两个国家都有大量开发者,将他们从报告中移除可能会产生不可预见的后果。

然后,我们按照这 22 个区域的预估专业开发者人数,对这些回复进行加权。这样确保了受访者分布与每个国家/地区的专业开发者人数相对应。

第二加权阶段:在职和失业开发者的比例

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

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

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

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

下一步是再添加其他来源的两个回复组:JetBrains 内部沟通渠道(例如 JetBrains 社交网络帐户和我们的研究小组)和针对特定编程语言用户的社交网络广告系列。这带来了额外 14,939 份回复,我们对他们进行加权以确保所有这些份额都相同。

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

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

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

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

挥之不去的偏倚

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

此外,我们的社区生态系统也在发展。不过,尽管我们进行了加权和相应处理,数据可能仍有波动。例如,在 2021 年,我们调查的 PHP 开发者(特别是 Laravel)数量大幅增加。原因是,个人调查分享链接被分享至一些 PHP 社区,Laravel 的 Twitter 账号也发布了指向我们博文的链接。这在我们的调查中吸引了过高比例的 PHP 和 Laravel 开发者。我们将改进加权算法来弥补此类激增。

我们将在未来继续更新和改进加权方法。敬请期待《2023 开发者生态系统现状调查》!

调查方法:

2022

查找正确的工具

感谢您的参与!

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

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