エンジニアの皆さんは今後のキャリアアップを考えて日々開発言語を学習し、生活を向上したいと年収アップを目指し技術情報を収集しているような方も多いかと思います。
実はどの開発言語を選択するかで年収に大きな差があります。
開発言語によって大きく需要も異なり、開発案件の数も大きく違います。今回は開発言語がどのようにエンジニアの年収に影響を及ぼすのかを年代別や、募集されている求人数、エンジニアが学習したいと思っている関心度から分析していきたいと思います。
また、併せて主流言語や希少言語の取得に関するメリット・デメリットをご紹介したいと思います。これから新たに開発言語を習得する際にも是非参考にしていただければと思います。
稼げる開発言語と案件数の実態
エンジニアの年収に大きく影響するのが開発言語です。それでは稼げる開発言語及び、現状では稼ぎにくい開発言語とは何でしょうか。年代別に開発言語別の年収と案件の実態をご紹介したいと思います。
TECH Streetがエンジニア5,599名向けに行った言語別の調査によると、20代から40代のエンジニアの中で平均年収トップがR言語でした。一方平均年収が低いのが20代ではF#、30代ではPHP、40代ではGo言語という結果になりました。30代でPHPの平均年収が1番低いというのは、開発市場からすると案件数も多く、エンジニアの数もまだまだ多いので、以外な結果と言えるのではないでしょうか。
また、HRogが主要11メディアの転職サイトの求人情報を元に分析した結果でも、給与ランキングのトップはR言語であり、求人年俸平均額約474万円であり、Go言語、TypeScript、Scalaと続きます。一方求人年俸平均額が低かったのは、ActionScriptで求人年俸の平均額が約355万円でした。
R言語は、統計解析に特化した開発言語であり、機械学習やビッグデータ解析で利用されていたり、大規模なwebサービスを運営している企業やTech系で利用されていたりします。シンプルな構造なため取得難易度はあまり高くありませんが、プログラミングだけでなく統計の知識が必要です。また、求人数が多いJavaやPHPと比べても10分の1程度の案件数しかないというのが現状であり、希少性が高いことから高給につながっていると考えられます。
ついで年収が高いのがGo言語は、Googleが2009年に開発した言語であり、高速処理や並行処理が得意なため、OSやハードウェアが異なっても実行できるため、バックエンド開発として注目されています。まだ案件数が少なく希少性が高いため、高給につながっていると考えられます。しかし、今後各種クラウドサービスがデフォルトとして設定しているなど今後需要更に高まっていると考えられます。 R言語、Go言語は平均年収が高く、今後需要がさらに高まっていくと考えられますがまだまだ案件が少ないのが現状です。
主流開発言語を選択するメリットとは?
次にエンジニアの視点でどの言語にニーズがあるのかをご紹介します。上記でご紹介したTECH Streetの調査で、ITエンジニア向けで今後学びたい・強化したい言語の全年代のトップはPhytonが32.8%でした。それにJavaが9.3%、JavaScriptが5.9%と続きます。
年代別に見ても20−50代までどの年代でもトップは同じくPythonでした。しかし、30−50代では全年代と同様の傾向で2位はJavaでしたが、20代では、C++、Cの意欲が高かったです。C++、Cは旧システムへのリプレース需要などから案件を期待して需要があると考えられます。
このようにR言語は最も稼げる言語ですが、求人数がまだ限られているため多くのエンジニアにとって習得意欲がまだ低いようです。一方Pythonは、AIや機械学習などのデータサイエンス領域で注目されている言語であり、近年のAIや機械学習への投資が増えていることから世界的にも期待されています。新型コロナウィルスの影響による景気減速に伴い、AI・機械学習への投資が縮小傾向から求人が落ち着いていますが、まだまだ需要が高いことから多くのエンジニアに注目されています。続くJavaもシステム開発からWEB開発、アプリケーション開発など幅広い領域で活用されており、受容性が高いです。2020年度からBtoBの金融や製造、物流領域での活用も増えてきており、正社員エンジニアの求人の35%を占めています。
一方20代からの取得意欲が高いC++やC言語は、ゲーム開発やアプリ開発、ウェブアプリケーション開発、組み込み技術などに活用されている技術です。組み込み技術以外にも特に20代が普段から触れているゲームやアプリの開発によりそのような求人が多いことが影響していると考えられます。 多くのエンジニアが取得を望んでいる主流言語取得は、案件数が多いため言語を取得することで新たな求人やキャリアに繋がる可能性が高くなる一方、求人件数が多くなってしまっており、市場が飽和状態にもなっているので稼げる額が低くなるというデメリットがあります。
稀少言語を取得していると年収に期待ができる
上述しましたように、稼げる言語はR言語、GO言語、Scala です。R言語、GO言語、Scalaなどの平均年収が高い言語は、R言語以外は2000年移行に開発された言語であり、まだ歴史が浅く取得しているエンジニアの数も少ないことから希少性が高いと考えられます。そのように希少性が高く、エンジニアの人材不足が他の言語と比べても顕著なことが高給につながると考えられます。
しかし、このような言語は海外のIT起業や大手のBtoC企業で利用され始めおり、今後需要が高まることが期待されていますが、まだまだ日本では開発言語として採用している企業が限られているのが現状です。そのためエンジニアとして、新しい言語を取得して新たな挑戦をしようとしても実戦経験を積める場がまだまだ少ないのが現状です。
このような状況でエンジニアに求められることはどのようなことでしょうか。
1点目は新しい言語の取得スピードです。新しい言語の取得スピードはいままで取得していた言語との相性により大きく変わります。例えば、静的型付言語を取得している人は同じような静的型付言語を取得しやすいという特徴があります。例えば、KotlinでコンパイルされたコードはJava VM(仮想マシン)上で動作するため、これまでのJava資産の多くを流用できるという特徴を持っていることからJava実務経験者はKotlinの取得スピードが早いと言われています。このように今まで経験していた言語との親和性なども含めて検討し、早く取得しやすい言語を検討しましょう。
2点目は、対応能力です。上述したように新しい開発言語は取得エンジニアが少なく、情報もまだまだ少ないのが現状です。そのように情報が少ない現状においても業務で発生した問題に対して、どのような課題があるのかを突き止めたり、対処法を検討できるという課題解決力や言語に関係なくシステムを設計したり、事象を切り分けて判断することができる論理的思考力が求められます。このように課題解決能力や論理的思考力を鍛えるためには、新たになにかに取り組む必要はありません。エンジニアは日々の業務を進めていく中で、課題解決力や論理的思考力を使っています。日々の業務の中で自身がどのように思考しているのかというプロセスを意識し、アウトプットすることにより鍛える事ができます。
希少言語を取得することは取得しているエンジニアが少ないことから希少性があるため、高給が期待できます。一方で、エンジニアが取得をしても実践で経験を積める場が少ないため、言語似関しての習熟度の他にエンジニアとしての基本的な素養である課題解決力や論理的思考力をベースとした対応力を鍛えることが求められます。また、新しい言語を取得する意識すべきなのが、自身がすでに取得している言語です。自身が取得している言語により取得スピードも大きく異なるため、現在取得している言語との相性もしっかり検討しましょう。
自身の環境に合わせた新しい開発言語を取得しよう
いかがでしたでしょうか。稼げる言語は希少度が高いが、案件数が少ないという結果になりました。また、多くの人が取得している言語は、稼げる平均が低くなりますが案件数が多いのが現状です。しかし、新しい言語を取得する際に意識すべきなのは平均年収や案件数だけではありません。所属している会社が何を目指しているのか、どのような方向を目指しているのか、自身のポジション、今扱っている開発言語や自身のキャリアアップなどがどのようなスキルを取得すべきなのかに大きく影響します。
新しい言語を取得する際は、このように自身が置かれている環境をしっかり分析した上で、転職の可能性や自社の方向性などを鑑みて自分の需要が最大化できることを意識してどの言語を取得すべきかなどを検討したうえで、取得を試みましょう。
<参考>
TECH Street
HRog