連載:第31回 IT・インターネット
2021年上期、エンジニアが学びたい開発言語1位はPythonで26.6%。企業が求める言語と乖離
paiza株式会社(本社:東京都港区、代表取締役社長 片山良平)は、2021年3月に現役のITエンジニアを対象に開発言語調査を実施しました。この調査では、一番得意な言語や学びたい言語のほか、自分がサービスを作る際に使いたいフレームワークなどをITエンジニアに質問しました。
ITエンジニアが「一番得意」と答えた開発言語1位は19.8%でJava
ITエンジニアに対し、自分が一番得意だと思う開発言語について聞いたところ、Javaが19.8%で1位となりました。さまざまなシステムに幅広く使用されていることもあり、業務経験を持つ方が多いためと思われます。
2位以下はPython、C言語、C#と続いています。いずれも広く開発で使われている言語ですが、近年は特にPythonの人気・需要が高まっています。
ITエンジニアが「一番学びたい」開発言語1位は26.6%でPython
次に、今一番学びたい言語について聞いたところ、Pythonが26.6%で1位となりました。文法が分かりやすくプログラミング初心者でも学びやすい点に加え、AIや機械学習でよく使われるため、近年は特に高い人気を誇っています。paizaが2020年2月に実施した「好きなプログラミング言語」調査でも1位となっており、今後も高い人気が続くと思われます。
2位は16.3%でRustとなりました。2010年に登場したこの言語は、安全性、速度、並行処理に優れており、近年急速に人気を伸ばしています。
ITエンジニアに人気のある言語と企業が求める言語は乖離
paizaに掲載されている求人で、企業が求める開発言語の経験についてまとめたところ、JavaScriptが11.9%で1位、PHPが11.0%で3位となりました。ITエンジニアが得意な言語、学びたい言語と、企業が求めている言語には少し乖離があるようです。JavaScriptはフロントエンド開発で広く採用されているほか、一部サーバサイドでも利用されるなど企業側ニーズの高い言語です。ITエンジニアから人気の高いPythonは求人数では5位にとどまっています。
また、paizaに掲載されている求人の提示年収で、開発言語別の平均も算出しました。こちらもエンジニアの希望とはやや乖離する結果となっています。
平均年収1位となったのはScalaで、以下TypeScript、Go言語、Kotlinと、比較的新しい言語が上位を占めています。新しい開発言語は必然的に業務経験のあるエンジニアがまだ少ないため希少価値が高く、提示年収も高くなる傾向にあります。
新たなサービスを作るときに使いたい言語・フレームワーク
今回の調査では、今後新しいサービスを作る際に使いたい開発言語・フレームワークとその理由についても質問しました。「作るサービスによるので答えられない」「一番経験があるものだから」といった回答も多かった一方で、「ゲームを作りたいからUnity」などのように作りたいサービスを明確に持っている方も一定数いることがわかりました。
上位の回答を中心に理由とともに紹介します。
(以下、項目は「言語名・フレームワーク名」で表記)
Python・Django
・汎用性が高く、実現できるものの幅が広いから
・機械学習・データ分析に強く、今後の成長が期待できるから
・アプリにAIを利用したいから
・自分のスキルアピールにつなげられるから
・Python の仕事をしたいから
PHP・Laravel
・使い慣れているのと、エンジニアを見つけやすそうだから
・対応しているレンタルサーバが多いから
・要員計画が立てやすいから
・初学者にも分かりやすいから
C#・Unity
・UIから内部スクリプトまで一括ででき、ネイティブとのライブラリなども充実し主要プラットフォームにアプリをビルドできるから
・自分で自由に作るならゲームを作りたいから
Ruby・Ruby on Rails
・自分が使い慣れており、市場にも人材が豊富なので、サービスがうまくいった場合に人を増やすのが比較的容易
・一番使い慣れていて、言語としてもこなれていて開発コストが低いから
Java・SpringBoot
・情報の多さと、Java(JVM)の性能が良いから
・HerokuにPoC環境を簡単に構築できるから
調査概要
調査テーマ:「開発言語に関する調査」
調査期間:2021年3月19日〜28日
調査方法:インターネット
調査対象:「paiza転職」をご利用中の現役ITエンジニア
有効回答数:369名
この記事についてコメント({{ getTotalCommentCount() }})
{{selectedUser.name}}
{{selectedUser.company_name}} {{selectedUser.position_name}}
{{selectedUser.comment}}
{{selectedUser.introduction}}