agedbeginner’s diary

プログラミング・IT業界、シングルマザーの経済的自立に関することその他について発信

海外でのエンジニア就職の実情が見えた

116,000通のアンケート調査を実施

 HackerRankというサイトをご存知だろうか?

 2011年にかのY Combinatorから出資を受けて設立された会社が運営しているもので、日本のpaizaathletics コーディングチャレンジのようにそのサイトのコーディング課題をこなして企業から採用のオファーがくるというシステムだ。

 ここのコミュニティには実に700万人にも及ぶ開発者(一応エンジニアと言って良いだろう)が所属しており、これが世界の開発者の実に25%にあたるというとんでもない規模を誇っている。

 ここが例年実施している開発者のスキルの実態を明らかにするための調査の2020年度版を公表したが、実に162カ国から116,000もの開発者が回答を寄せている。

research.hackerrank.com

 今回は、以前レポートしたstackoverflowの調査に引き続き上記レポートについてお伝えする。

初めて学ぶ言語はC!

 どの言語を初めて学ぶのかという点については、39歳以下の世代ではC言語が圧倒的に多く、C++JavaPascal、Basicと続く。過去の世代(X世代:1980年代までに生まれた)では、圧倒的にBASICで、Pascal、C、C++Javaという順で、世代による傾向差がはっきりしている。

どのようにしてコーディングを学んでいるか

 これについては、やはり世代差があり、いわゆるZ世代(90年代後半から2000年前後出生の世代)ではYouTubeGitHubなどの開発者サイトがトップで拮抗し、続いてedXなどのオンラインコース、このレポートを発表したHackerRank、書籍、OJT、人に聞く、と来た後、かなり割合が落ちてブートキャンプとなる。

 ベビーブーマー世代は書籍で学んでいる人が一番多いが、全ての世代を通して開発者サイトとオンラインコースはトップクラスの人気であり、YouTubeとHackerRankが新しい世代に急速に受け入れられていることがわかる。

ブートキャンプ(日本でいうプログラミングスクール)の人気は?

 Z世代は、それより前の世代(いわゆるミレニアル世代)よりもブートキャンプで新たなスキルを習う傾向にあり、書籍やOJTには比較的頼らなくなっているそうだ。ただ、それでも6人に1人という割合であり、少数派だ。

 一方新人を採用する側のアンケートでは、32%がブートキャンプ出身者を採用したことがある(逆に、49%が採用したことがなく、その傾向は企業規模には関係ない)と答えており、ブートキャンプ出身者が他の経歴を持つ者に比べ十分な能力があるという回答は33.0%で、変わりがないというのが39.2%、そう思わないが27.8%だから、ブートキャンプ出身者が必ずしも他の属性を有する新人に比べて能力的に特に優れていると思われているわけではない(レポートでは、72.2%が同等か優れていると評価しているが、反対の印象を与えてしまう点で問題のある分析だ)。

ブートキャンプ出身のどこが評価されているか

 この点について、71%が新たなテクノロジーや言語を素早く身につける能力、61%が強い実用的経験、52%が新たな責任を引き受ける性質をメリットとしてあげている。

 ちなみに、ブートキャンプというのは、2011年に誕生した業態なので、わずか10年で急成長(2019年にはアメリカとカナダで2万人以上が卒業)したと評価されている。

 なお、大量採用する大手GoogleAppleIBMなどにおいて四年制大学の学位(学士)を要求しなくなったが、小規模な会社がより積極的に学位のない者を採用しているとのこと(49人以下の会社では32%が学士を持っていないが、1万人以上の企業では91%が学士以上の学位を持っている)。

フルスタックが求められている

 会社の規模に関わらず、採用担当者はフルスタックのエンジニアを求めており、38%が2020年の第1とし、バックエンドやデータサイエンティストはそれぞれ第2・第3の優先順位だとしている。

 このことは49人以下の会社で顕著で、43%がフルスタックが第1順位だとしている。

 もっとも、「フルスタック」の定義については議論があり、最大公約数的に一致するところでは、全てのレイヤについて基礎的な理解をしており、自力で最小の実行可能なプロダクトが作れることだそうだ。

 また、フルスタックには、高度な役割が求められており、60%のフルスタックが、他の役割に比べ最近の新しいフレームワークを完全に身につけることを求められるだけでなく、最も多く言語の習得を求められているとのこと。

 世界的にJavaScriptエンジニアが人数的には最も求められている(JavascriptPythonJavaの順)ものの、14%の担当者(南北アメリカではこれが21%で、アジア太平洋地域では10%)は、採用時にどの言語が使えるかは気にしていないとも出ており、開発者側でもJavaScriptを最初に学んだとする人はわずか5%である。

 ちなみに、freeCodeCampというコーディングを無料で勉強できる英語サイトがあるが、その創設者もこのレポートを見て、「一つの言語をよく学んでいれば、簡単に次の言語を仕事をしながら覚えることができる」という持論が裏付けられたとしている。

言語の人気は?

 2020年の知られている言語の順位は、JacaScript、Java、C、PythonC++C#PHP、TypeScript、Pascal、Rの順で、フレームワークでは、AngularJS、React、Spring、Django、ExpressJS、ASP、.NETCore、Vue.js、Ruby on RailsJSFという順であり、DjangoとVue.jsが伸びているとのこと。

 開発者が最も学びたい言語としては、圧倒的に(36.2%)GOであり、続いてPython(27.7%)、Kotlin(24.9%)、TypeScript(20.7%)、R(20.0%)、Scala、Swift、Rust、RubyJavaScriptC#HaskellC++Clojure、Elixir、Objective-CErlangJava、Julia、LuaPerlPHPOCamlProlog、Stan、Pascal、Cという順である。

 学びたいフレームワークの順では、React(32%)、AngularJS(28%)、Django(26%)、Vue.js(24%)が上位で、以下Ruby on Rails、Spark、Spring、ExpressJS、.NETCore、Backbone.js、ASP、Ember、CocoaStruts、Meteor、Pyramid、JSF、Padrinoとなる。

一番ペイのいいのは?

 今度は順序が一気に変わり、言語ではトップが何とPerl(世界平均給与プラス54%)で、続いてScala(同42%)、GO(同33%)、Ruby(同32%)、Objective-C(同22%)以下Swift、Pascal、R、PrologC#、Kotlin、TypeScript、PythonJavaScriptC++と、需要の多いJSが全く優位を保っていないことがわかる(ちなみに、開発者の世界平均給与は54,491米ドル)。

 フレームワークでも同様の傾向で、圧倒的トップがBackbone.js(同49%)、Cocoa(同35%)、Ruby on Rails(30%)、Spark(同30%)であり、続いてStruts、.NETCore、React、ASP、Vue.js、Angular JS、JSFとなっている。 

給与額の国別平均は?

 開発者の平均給与は、やはりアメリカがトップで109,000米ドル(以下同じ)。次が何とオーストラリアで88,500、続いてカナダ72,800、オランダ68,200、イギリス65,400、ドイツ64,100、南アフリカ46,000、インドネシア、スペイン、ウクライナ、アルゼンチン、コロンビア、トルコ、メキシコ、ブラジル、ポーランド、イタリア、ルーマニア、ロシア、パキスタン、インド、バングラデシュ、ナイジェリアの順で並んでいるが、なぜか日本・韓国・中国はリストに入っていない。

 ちなみに、アメリカについてはさらに地域別に分析されていて、西部地域がダントツで112,900ドル!中でもサンフランシスコは147,900ドル、シアトル134,500ドル、ロスアンゼルス129,100ドルと、すごい数字が並んでいる。これ「平均」ですから。

これだけもらって満足?

 このレポートでは、もらっている側(つまり開発者)の満足度も調査しており、もらっている給与について公平だと評価しているのがわずか35%で、39%は同僚と比較して不公平だと考えているそうだ。

 もっとも、プロとしての成長において何を一番重視しているかという点では、59%が「新しいスキルを学ぶ機会」としており、より責任ある地位についたり昇進したりすることは25%とかなり低い優先順位だという結果が出ている。

 こういう点を見るにつけ、つくづくエンジニアというのはコーディングオタクなんだなと思わされた。