Go Developer Survey 2023 下半期結果を読んでみた

Goの公式ブログで2023年12月5日に公開されたGo Developer Survey 2023 H2 Resultsを読んでみたので気になったところをメモってみました。

go.dev

Goを使って開発している人はもちろんのこと、Goに興味がある人は軽くでも読んでみると新たな発見があり面白いです!

Go Developer Survey 2023 H2とは

Go Developer Surveyは、GoogleのGoチームによって実施されています。Goを使って開発している人に対しての半年ごとにアンケートで調査しています。

調査結果の内容としては、Goに関連したものになっています。具体的には、Go開発者の感情、開発環境、技術スタック、ML/AIツールのユースケース、マイクロサービス、OSS開発などと多岐に渡っています。

GoブログやVSCodeなどで回答を募り、4,005件の回答が集まりました。

Goの開発に満足しているか?

Goの開発者は増えており、今回の調査の回答者の90%はGoの開発に満足しているようです。

以下のグラフは、Goに対する満足度の分布です。90%の人が Satisfied (満足)になっていることがわかります。また、満足度が高い傾向は毎回のことのようです。

引用元:Go Developer Survey 2023 H2 Results

また、Goで開発する人は引き続き増加しています。具体的には以下の数字などを例にしながらGoの開発者は増加していると示しています。

  • Stack Overflowの開発者調査などの外部研究からの証拠として昨年比約15%の増加している。また、開発者の14%がGoで開発をしている
  • Goの公式サイト go.dev のアクセス解析からも昨年比 8% の増加

Goと一緒に使われている技術スタックは?

Goと一緒に使われている、クラウドサービス、データベース、キャッシュ、モニタリングツール、データ形式、認証方式などの利用割合を調査しています。

調査結果にも記載されていますが、技術スタックを選択する際には、自分たちが開発しているソフトウェアのニーズやユースケースを考慮すべきであり、必ずしも人気だからという理由だけで採用するべきではありません。

クラウドサービスは回答者の75%が利用している。そして、その中で、AWSを48%、GCPを29%、Azure 14%となっています(クラウドサービスの併用も含む)

面白いポイントとして、AWSGCPは企業規模によって使用状況はかわらないが、Azureにおいては大企業(従業員1000人以上の会社)での使用が顕著に高い傾向にあるようです。

引用元:Go Developer Survey 2023 H2 Results

データベースは回答者の91%が少なくとも1つ利用している。そのうち、Postgres 59%、Redis 38%、MySQL 30%と続きつつ、複数のデータベースを利用しているケースもある。

引用元:Go Developer Survey 2023 H2 Results

キャッシュやKey-Valueストアの利用は回答者の68%が利用している。そのうち、Redisが57%と多く使われている。

引用元:Go Developer Survey 2023 H2 Results

モニタリングシステムとしては、PrometheusとGrafarnaが43%と最も多く、Open TelemetryやDatadog、Sentryなどもその後に続いています。

引用元:Go Developer Survey 2023 H2 Results

ML/AIツールがソフトウェア開発にどう役立つと考えているか?

ML/AIツールは発展段階です。現状ですと、テストコードを書いたり、コーディング中にベターなプラクティスのコードを提案してくれたり、よくあるミスを補足したり、ドキュメンテーションを書くサポートといった部分に役立つと考えているようです。

引用元:Go Developer Survey 2023 H2 Results

Goとマイクロサービスの相性は?

開発者はGoがマイクロサービスに最適であると感じている部分に対して調査をしています。

  • 回答者の71%の開発者はマイクロサービスに取り組んでいる。また、中小企業よりも大規模な組織のほうがマイクロサービスを採用している傾向が高い。
  • 主要なアプリケーションのマイクロサービスの数は2-5件の場合もあれば、10件以上の場合もありまちまち。
  • マイクロサービス間の連携はリクエストレスポンス形式(RPC、RESTなど)が72%、メッセージキュー 14%、Pub/Sub 9%となっている。
  • 各マイクロサービスの言語はPython、Node、JavaなどGo以外も広く利用されている。

最後に、マイクロサービスで開発をする最大の課題は、テストとデバッグ、その次は運用の複雑さと回答しています。

引用元:Go Developer Survey 2023 H2 Results

まとめ

  • Go Developer Survey はGoで開発している人への半年ごとのアンケート調査
  • Goの開発者は増えており、今回の調査の回答者の90%はGoの開発に満足している
  • Goはモダンなクラウドで利用されており、また、マイクロサービスとも相性がよい

他にも、Goのビギナーやベテランに対しても役立つ情報があるのでぜひ調査結果を読んでみてください。

go.dev