回答者数
このアンケートは 2024 年 5 月~6 月にかけて実施されました。代表的なサンプルを使用するため、以下に示す処理を通じてデータのクリーニングを行いました。このレポートは結果的に 171 の国と地域の 23,262 人の開発者からの回答を基に作成されています(南極から報告された 1 つの回答も含む)。このデータは、このセクションの最後で説明している複数の基準に従って重み付けされています。
データクリーニング
未完了の回答については、プログラミング言語の使用に関する質問に回答がある場合にのみ含めました。また、疑わしい回答を特定して除外するために以下を含む 34 の基準を使用しました。
- 短時間で回答されているアンケート。
- 同じ IP アドレスから送信されており、回答が非常に似通っているアンケート。同じ IP アドレスから送信された 2 つのアンケートの回答が 75% 以上同じだった場合は、最も完了度の高い方を残しました。
- 回答が競合するアンケート。たとえば、「18~20 歳」と「16 年以上の職務経験」という矛盾する回答が含まれる場合。
- ほぼすべての多肢選択式の質問に対して選択肢が 1 つしか選ばれていないアンケート。
- 同じメールアドレスから複数のアンケートが送信されている場合は、完了度が高い方を残しました。
回答負担の軽減
今年のアンケートは 672 問の質問で構成されています。
多様な調査分野を網羅することで、回答者の前の質問に応じて他の人には表示されない特定のセクションが表示されるようにすることを目標としました。たとえば、Go に関する質問は Go を使用するプログラマーにのみ表示されました。また、質問とセクションをランダムに表示することで各回答者の負荷を軽減しました。
参加者はアンケートを平均 30 分で完了していました。プロセスの合理化に努めましたが、来年はさらに効率的に取り組めるように目指します。
ターゲット
回答候補者を招待するため、Google 広告、X 広告、Facebook 広告、Instagram、Reddit、Quora、BilliBilly、MaiMai、Zhihu、dev.to、Codexine、TLDR、IT Media、および JetBrains 独自のコミュニケーションチャンネルを使用しました。また、ユーザーグループとテック系コミュニティチャンネルにもリンクを掲載し、回答者にはアンケートのリンクを他のユーザーに共有するように依頼しました。
国と地域
20 の地理的地域から十分な数のサンプルを収集しました。最も開発者の多いアルゼンチン、ブラジル、カナダ、中国、フランス、ドイツ、インド、日本、メキシコ、韓国、スペイン、英国、および米国の 13 か国は独自の地域を形成し、残りの国々は次のように 7 つの地域にグループ化されました。
- 中東、アフリカ、中央アジア
- 東ヨーロッパ、バルカン半島、コーカサス地方
- ベネルクスおよび北欧
- 北部および東部地中海(キプロス、イスラエル、ポルトガルを含む)
- 中央ヨーロッパ
- その他の東南アジア、オセアニア(オーストラリアとニュージーランドを含む)
- 中南米(アルゼンチン、ブラジル、およびメキシコを除く)
それぞれの地域について、広告や回答者の紹介などの外部ソースから少なくとも 300 件の回答を収集しました。
ローカライゼーション
アンケートの対象を最大化して多様な参加者に対応するため、アンケートは英語、中国語、フランス語、ドイツ語、日本語、韓国語、ブラジルポルトガル語、ロシア語、およびスペイン語の 9 言語で提供されました。
標本抽出バイアスの緩和
データは回答の送信元に基づいて重み付けされています。JetBrains ユーザーに対する偏りが少ない X、Facebook、Instagram、Quora の有料広告、および回答者の紹介といった外部ソースから収集した回答を基準とし、重み付け手順に基づいて結果を生成するために各回答者のソースを個別に考慮しました。
3 段階の重み付けを実施し、世界中の開発者人口に関するバイアスの少ない全体像を得ています。
第 1 段階:各地域でのプロ開発者の人口に対する調整
第 1 段階では各国を対象に収集された回答をまとめ、それらのデータに各国のプロ開発者の推定人口を適用しました。
まず、20 地域のさまざまなソーシャルネットワークに掲載された広告から得たプロ開発者と勤労学生のアンケートデータと、さまざまな同業者の紹介により得たデータを合わせて集計しました。次に、それら 20 地域のプロ開発者の推定人口に基づいて、回答に重み付けを行いました。これにより、各国のプロ開発者の人口に対応した回答の分布を実現しています。
第 2 段階:在職中の開発者と無職の開発者の比率
第 2 段階では、各国の学生と無職の回答者数の比率を 17% とすることに注力しました。これは当社が唯一利用できる推定人口であったため、前年の実施方法との整合性を維持するためにこの作業を行いました。
この時点で、地域と雇用形態の両方で重み付けされた外部ソースに由来する回答の分布が得られました。
第 3 段階:雇用形態、プログラミング言語、JetBrains 製品の使用状況
第 3 段階はかなり高度で、連立方程式を解いて得た計算が含まれます。ここでは重み付けされた回答を使用しました。また、各地域の開発者については雇用形態のほか、30 以上のプログラミング言語の各シェアだけでなく「現在、JetBrains 製品を使用している」と「JetBrains またはその製品を聞いたことがない」と回答した人のシェアを計算しました。これらのシェアは方程式の定数に使用されました。
次のステップでは他の情報源からの回答グループとして、JetBrains のソーシャルメディアアカウントや調査パネルといった JetBrains 社内の連絡経路と、特定のプログラミング言語ユーザーを対象にしたソーシャルネットワーク広告キャンペーンの 2 つを追加しました。
連立一次方程式と一次不等式を解決
次を表す 30 個以上の一次方程式と一次不等式を使って連立方程式を作成しました。
- 短時間で回答されているアンケート。
- 回答者の重み付け係数(標本に含まれる Fiona(フィオナ)はフランスの 180 人のソフトウェア開発者を平均的に表している、といった仮説的な例)。
- 回答の具体的な値(Pierre は C++ を使用している、正社員、JetBrains を聞いたことがない、など)。
- 回答間の必要な比率(27% の開発者は過去 12 か月以内に C++ を使用したことがある、など)
重み付け係数の分散を最小限に抑えてこの連立方程式を解くため(非常に重要な作業です!)、双対法(Goldfarb-Idnani 法、1982 年、1983 年)を使用し、合計 23,262 人の回答者に最適な個別の重み付け係数の照合を行いました。
根強いバイアス
JetBrains ユーザーは平均してアンケートに回答する意欲が高かった可能性があるため、こういった対策にもかかわらず、何らかのバイアスが存在する可能性があります。
アンケート分布の制御とスマートな重み付けの適用にどれほど努めても、コミュニティや開発者エコシステムは常に進化し続けており、予期しないデータ変動の可能性を完全に拭い去ることはできません。
今後も方法の更新と改善に努めていく予定です。2025 年開発者エコシステムアンケートにご期待ください!
