Stack Overflow Surveyは2011年から毎年実施されている、もっとも包括的な世論調査の1つです。その結果を見る前に……。
いつもどおりの注意事項
Stack Overflowには毎月4000万人のアクセスがあり、そのうち42%がプロの開発者または大学生だと推定されています。今回のアンケート調査では6万4000人が回答しました(有効回答数は5万1392人)。すばらしいサンプル数ですが、次回の給与交渉で調査結果を当てにしすぎないように!
ワールドワイドな結果
Stack Overflowは世界中で利用されていますが、ユーザーの多くは英語圏に偏っていると考えられます。ユーザー構成はStack Overflowの国別の回答者比率が参考になります。
国 | 回答比率 |
米国 | 22.4% |
インド | 10.1% |
英国 | 8.6% |
ドイツ | 8.1% |
オーストラリア | 1.8% |
75%近くが白人またはヨーロッパ系です。83%が大学卒業相当の資格を有しており、そのうち74%がIT関連に携わっています。
アフリカ、アジア、南アメリカの開発者は比較的少数です。中国は0.5%、ロシアは1.7%のみとなっています。
開発者の意識
アンケートの回答者は、Stack Overflowでアンケートの存在を知り、設問を理解した上で回答する時間がある人です。
満足度の偏り
アンケートの回答者は、現状に満足しているか不満を感じている人に偏る傾向があります。
- 仕事や給料、スキルセットに満足しているときは、自分の経験を伝えたくなる
- 満足していないときは、会社や報酬、労働条件について不満を述べたくなる
「まあ、人生は良くなるかもしれないけど、それ以上に悪くなるかもしれない」と考えている80%以上の人が回答する可能性は低いと考えられます。
地域による給料の違い
給料は米ドルに換算して集計してます。アメリカはほかの地域より給料が高いため、調査の結果に偏りが生じている可能性があります。また、各国の税金や物価に基づいて換算していないため、たとえば年収3万ドルの開発者はアメリカでは生活に苦労するものの、インドでは快適に暮らせるかもしれません。
過去の調査は未来のトレンドを示さない
調査は現時点での「開発者がこれまでに使ってきたツール」や「全体的な満足度」の結果です。時間が経てば意見も変わります。
開発者のプロフィール
前回のアンケートでは、設問が「職業名」だったため曖昧でした。2017年のアンケートでは、大多数がWeb開発者だと回答しています。
役割 | 比率 |
Web開発者 | 72.6% |
デスクトップ開発者 | 28.9% |
モバイル開発者 | 23.0% |
Web開発者の63.7%がフルスタック経験があると答えています。高い数値に見えますが、仕事の範囲を完全に分けることは避けられないはずです……。
- バックエンド開発者は、単にログを取る目的でも、HTMLを書く作業が発生する
- フロントエンド開発者は、Ajaxコールやサーバーのパフォーマンス最適化でバックエンド作業が発生する
にもかかわらず、24.4%がバックエンドの経験だけ、11.9%がフロントエンドの経験だけと答えています。
回答者全体の70.3%がフルタイムで雇用されていて、10.2%がフリーランスです。アメリカ人でフリーランスの人はわずか6.7%でした。これはカナダ、英国、ドイツに比べ顕著に低い数値となっています。また、半数近くがソフトウェアまたはWeb関連の業界で働いています。従業員数が100人未満の企業で働く人も半数近くとなりました。
経験は人によってさまざまですが、回答者の約92%が2年を超えるプログラミング経験を持ち、80%がプログラミングの仕事をしています。20年を超えるコーディング経験を持つ人が17.2%います。
Stack Overflowの結果から「開発者は子どものころからプログラミングを始めるものだ」のは誤解だとわかります。経験の程度はさまざまですが、プログラミングを始める年齢に決まりはありません。また、私の知る限り、プログラミングを始めたばかりのころ、ほとんどの開発者がバグに苦しんだ経験があります。
開発者の32%が、学校教育はキャリアの成功に重要ではなかったと回答しました。また、90%が独学で勉強しています。私はもっと高いと思っていたので驚きました。プログラムは書くことでしか身に付けられないからです。半数の人が休暇を使ってコードを書いています。
回答者の88.6%は男性です。女性の参加率はアメリカとヨーロッパで数ポイント上昇しましたが、89%の人が業界の多様性に懸念を示しています。
テクノロジー
昨年に引き続き、JavaScriptがもっとも使用されるプログラミング言語となりました。
言語 | 使用率 |
JavaScript | 62.5% |
SQL | 51.2% |
Java | 39.7% |
C# | 34.1% |
Python | 32.0% |
PHP | 28.1% |
C++ | 22.3% |
C | 19.0% |
TypeScript | 9.5% |
Ruby | 9.1% |
JavaScriptとSQLが優勢です。ほとんどのWebプロジェクトでこの2つが必要なのが理由でしょう。ただし、JavaScriptに愛着を持っている人は60%にとどまります。Rustに愛着がある人は73%でした。
教育用に広く使われているJavaとPythonも継続して人気です。Pythonはもっとも使ってみたい言語にも選ばれています(20.6%)。
PHPはWebでの影響力の大きさを考えると驚くほど低いです。私はC#よりPHPが上になると予想していました。特にWeb開発者が使う言語ではそうなるだろうと考えていました。PHP開発者は比較的簡単に問題を解決できて、必要な情報をあらゆる所で見つけられるので、Stack Overflowをあまり利用していないのかもしれません。
もっとも手強いと言語は古参のVisual Basic 6(88.3%)で、Visual Basic for Applications(88.4%)とVisualBasic.NET(77.2%)が僅差で続きます。奇妙なことに、開発者の79.2%がCoffeeScriptを苦手としています。CoffeeScriptをコンパイルするとJavaScriptが直接出力されるので、CoffeeScriptが必須の開発者はほとんどいないのです。
言語の勢力は時間とともに変化します。トップ10言語の中で、上昇傾向にあるのはJavaScript、Node.js、Pythonだけです。あとは分かりますよね。
フレームワーク、ライブラリー、ランタイム
テクノロジーのトップ5は以下の通りです。
テクノロジー | 使用率 |
Node.js | 47.1% |
AngularJS | 44.3% |
.NET Core | 33.4% |
React | 19.5% |
Cordova (Node.js) | 11.0% |
jQueryが入っていないのは不思議です。おそらく、選択肢として用意されていなかったのでしょう。
Reactは勢力を伸ばしているはずですが、Ashley Nolanさんが実施したフロントエンドのアンケート調査の結果と比べると、かなり低い順位になりました。ただし、開発者の66.9%がReactに愛着を持っており、Reactはもっとも使ってみたいテクノロジーの第3位にも入っています。それでも、Angularを必要としている人のほうが多いのでしょうか?
データベース
予想どおり、MySQLがトップになりました。
データベース | 使用率 |
MySQL | 55.6% |
SQL Server | 38.6% |
SQLite | 26.6% |
PostgreSQL | 26.5% |
MongoDB | 21.0% |
SQLデータベースが上位を独占していますが、もっとも手強いデータベースだと思われています。 開発者はRedis、MongoDB、CassandraといったNoSQLデータベースを好み、その技術習得に熱心なようです。
開発環境
Web開発者のコードエディタートップ10は以下のとおりです。
エディター | 使用率 |
Visual Studio | 38.8% |
Notepad++ | 34.3% |
Sublime Text | 31.4% |
Vim | 27.1% |
Visual Studio Code | 24.0% |
IntelliJ | 23.0% |
Atom | 20.0% |
Eclipse | 20.0% |
Android Studio | 14.0% |
PHPStorm | 11.7% |
有償版Visual Studioの人気の高さから、Stack Overfolowの利用者は.NET開発者の比率が比較的高いとわかります。C#がPHPより上位にいることもこれで説明できます。
Don HoさんのNotepad++にもおめでとうと伝えたいです。このエディターはWindowsでのみ利用可能ですが、多くのLinux開発者がWineを利用して使っています。
これだけたくさんのエディターが用意され、その多くが無料またはオープンソースで提供されているのははすばらしいことです。私は最近VS Codeに切り替えましたが、その前の数年間はAtomを、その前の数カ月間はSublime Textを、さらにその前の10年間はNotepad++を使っていました。いまでもすばやくざっくり編集するときはNodepad++を使っています。
バージョン管理
回答者の69.2%がプロジェクトでGitを利用しており、Gitが王者であることに議論の余地はありません。Subversionはかつては強力な存在でしたが、9.1%にまで落ちてしまいました。
53%が1日に数回チェックインしており、そうした人ほど満足度が高いです。40%がより大きな機能や複数の機能を完成させてからチェックインしています。
6%が手作業でバックアップしている一方で、20人に1人がバージョン管理システムをまったく使わないか、1年にわずか数回だけチェックインしています。こうした人はやがて、バージョン管理の大切さを身をもって知ることになるでしょう。
開発手法
「完成するまでコードを書く」時代はもう終わりました。以下が開発手法のトップ5です。
手法 | 使用率 |
アジャイル | 76.9% |
スクラム | 65.2% |
ペアプログラミング | 42.8% |
かんばん | 34.8% |
ウォーターフォール | 26.9% |
約1/3の開発者が製品をすぐにリリースしたいと考えています。1/3が最初に最適化すべきと考えています。残りの1/3は、プロジェクトの成功と失敗によって判断を変えるとしています。
ただし、上司が判断を変更した途端にどの手法も機能しなくなります。
キャリア
Webを使った就職活動やソーシャルネットワークが普及しているにもかかわらず、驚くべきことに開発者の74%が昔ながらの方法で仕事を見つけています。たとえばリクルーターを使う、同僚からの紹介といった方法です。人と会うことがいまでも重要な役割を果たしています。
仕事を選ぶときの優先順位のトップ5は以下の通りです。
- 専門的な開発の機会
- 報酬や福利厚生
- オフィス環境
- テクノロジー
- 通勤時間
新たな開発者を雇いたいなら、以下の「開発者が希望する福利厚生ランキング」を参考にしてください。
福利厚生 | 希望する人の割合 |
長期休暇/休日 | 57.0% |
リモートワークを選べること | 53.3% |
健康に関する福利厚生 | 47.1% |
労働時間が望み通りであること | 44.3% |
設備 | 40.1% |
ただし、この結果は国によって変わります。ブラジルやメキシコといった賃金が低い国では開発者は福利厚生よりも給料を重視しています。
次の仕事を探しているなら、以下の開発者が重要だと考えているスキルを参考にしてください。
- コミュニケーション力
- 仕事の実績
- アルゴリズムとデータ構造の知識
- 業務で必要なテクノロジーに関する知識
- 業務で必要なプロジェクト管理ツールに関する知識
パフォーマンス評価
労働時間や書いたコードの行数、つぶしたバグの数でみなさんが評価されていないことを願います。以下が希望する評価基準のトップ5です。
基準 | 希望する人の割合 |
顧客満足度 | 71.7% |
時間内/予算内の仕事 | 66.4% |
相互評価 | 54.8% |
製品のベンチマーク結果 | 41.4% |
マネージャーの評価 | 35.7% |
仕事の満足度
仕事を0(満足していない)から10(満足)で評価する設問では半数近くが8以上の評価をつけました。満足度は金融、小売、卸売、物流業界で働く人と比べると低いです。しかし、そのほかの業界よりは高いと思います。
満足度の高さにもかかわらず、現在の仕事を続けたいと考えている人は25%しかいません。13%が別の仕事を積極的に探しており、59%がジョブホッピングしようと考えて1週間に最大で5時間を仕事探しに費やしています。給料がもっとも高い機械学習とデータ解析に携わる人たちがもっとも転職に熱心です。
給料
アメリカのデータサイエンティストがもっとも多くの給料を稼いでおり、その額は年間10万ドル以上です。
地域で給料が異なるため、比較は難しいのですが、ほかの業界と比べて大半の人はなかなか良い給料をもらっています。初任給が年間3万3000ドルで、経験が1年増えるごとに年間5000ドルの昇給が見込めます。しかし、57%が給与額が自分に見合っていないと考えています。
開発言語が給料に影響を与えており、PHP開発者の収入はClojure開発者の半分です。ただし、以下の背景があります。
- Clojureの仕事はめったにない
- 世界中に非常に多くのPHP開発者がいるため、平均を押し下げることになっている。62%が給与額が自分に見合っていないと考えているが、これはほかのテクノロジーと大差はない
リモートワーク
3分の1以上の開発者は1カ月に2〜3日、自宅でリモートワークをしています。5分の1近くが作業時間の少なくとも半分をリモートワークにしています。しかし、常に会社で働いている人も32%います。
フルタイムで働いている人たちのリモートワーク状況は国によってかなり差があります。スウェーデン、スイス、オランダでは驚くほど低い値ですが、これらの国は「もっとも幸福な国」としてたびたび評価されています。
どうしても通勤したくなくて、1日中下着のまま作業していたいなら、ロシア (22.8%)のグラフィックスデザイナー(22.3%)になることです。
そのほかの大事な項目
タブ、スペースのどちらを使っていますか? 43%がタブ、38%がスペースを使っています。19%が両方使っていて、どちらを使うかは特に気にしていません。彼らにはもっと大事な、ほかに気にすべきことがあるのだと思います。
「GIF」の正しい発音をめぐる論争があります。26%が弱い「g」を使って「ジフ」と発音し、私を含む66%近くが「gift」のように強い「g」を使って「ギフ」と発音しています。6%が「ジー・アイ・エフ」と1文字ずつ呼んでいます。2%がなんらかの画期的な発音を使っています。「ジェフ」でしょうか?
開発者の60%が音楽を聴きながらコードを書いており、24%が完全に静かな状態を好んでいます。7%がクジラの鳴き声や森の音、または黒板を爪で引っかく音などの環境音を好んでいます。
開発者の54%近くが、他人がキーボードをうるさく叩いても良いと言っています。今度、キーボードにアンプを取り付けようと思います。
Stack Overflow Surveyは一見の価値があります。より詳細な情報があり、見やすいです。ただし、統計の96.4%は間違っているということを忘れないでください。
(原文:Web Industry Insights 2017)
[翻訳:薮田佳佑/編集:Livit]