こんにちは。倉内です。
最近は初めて学習するプログラミング言語にPythonを選ぶ方も多いのではないでしょうか。
Pythonは基本文法が比較的理解しやすく「これからプログラミングをやってみたい!」という方はもちろん、AI・機械学習などの分野に興味のある方が選ぶ言語としても非常に高い人気を誇っています。
ただ、未経験からエンジニアを目指そうと考えている方は学びやすさだけでなく、需要があるか、もっと言うと求人数が多いかといった現実的なことも考える必要があります。
そこで今回は「これからエンジニアを目指す方がPythonを選ぶのは得策か?」というのをいろんな角度から眺めてみたいと思います。
そもそもPythonとはどういう言語か
Pythonは1991年に登場したプログラミング言語で、読みやすくかつ効率もよいコードをできる限り簡単に書けるようにするという思想に基づいて作られています。
ここ最近は冒頭にも書いたとおり、機械学習やデータサイエンスといった先進的な分野で利用されており、右肩上がりで人気を伸ばしています。
Googleトレンドで人気度の動向をグラフで見てみるとよく分かりますね。(くぼんでいるところは年末年始やGWなど連休期間です)
情報元:Google Trends
以前は日本語で検索してもあまり情報がないということもありましたが、人気の高まりとともに情報も充実してきており、基本的な内容は無料でも十分学ぶことができます。
paizaラーニングでも動画学習講座「Python3入門」は全編無料で公開中です。
また、PythonはWebアプリケーション開発でも採用されています。たとえばPythonのWebフレームワークDjangoは、YouTubeやSpotifyなどのサービスの開発に用いられています。
Pythonを学ぶ目的を考えてみる
皆さんがPythonを学ぶ目的はなんですか?
趣味でプログラミングをしたい、すでにプログラミング経験はあるが第二言語として学んで新しいことやってみたい、ITエンジニアになりたい…などさまざまかと思います。
前述のとおり基本を習得する学習コストは低いので、趣味でプログラミングを始めたい方にはおすすめです。
プログラミング問題を解くときもデータを受け取る処理や文字列を扱う処理がシンプルなコードで表現できて、可読性も高く分かりやすいです。(実行速度ではC++のような言語にかなわないので、ガチで競プロをする方は再考してもいいかもしれません。)
単に趣味としてではなく、エンジニアを目指すためにPythonを学ぶという方は、エンジニアになって自分が何をしたいかまで考えてみてください。
Webアプリケーション開発をする場合は、さきほども少し紹介したWebフレームワークを利用するといいと思いますが、Djangoは大規模開発に向いており個人が趣味で扱うにはちょっと複雑なので、Flaskという軽量・シンプルなフレームワークもあります。
「AI・機械学習の分野に関わりたい」「データサイエンティストになりたい」方も多いですよね。ただし、未経験から先端技術のエンジニアになるのは想像以上に大変です。高度な内容を扱うことはもちろん、少数精鋭で採用も決して多くはないため、そこに入り込まなければなりません。
もし「AI・機械学習などの分野にはこだわらず、開発系のエンジニアを目指したい」といった場合は、以降で紹介する求人数なども参考にして学習内容を決めるとよいでしょう。
Pythonの需要を考えてみる
求人数比較
いくつかのITエンジニア向け求人を掲載している転職サイトで、2020年12月11日時点の求人数を計測してみました。
サービス | Python | Java | PHP | JavaScript | Ruby |
---|---|---|---|---|---|
A | 2,288 | 4,025 | 3,226 | 3,256 | 2,154 |
B | 1,993 | 5,492 | 2,553 | 1,851 | 1,043 |
C | 542 | 615 | 585 | 654 | 270 |
D | 215 | 257 | 205 | 260 | 308 |
サービスごとに多少違いはあるもののいずれもJavaの求人数が多いと言えそうです。
Javaは長いあいだ業務システムを中心に、Webサービスやスマホアプリも含め幅広く採用されている言語のひとつです。
安定稼働の実績が豊富であり、堅牢性が高いため、金融系のシステムや公共性の高いシステムで採用されていて、案件数もダントツに多いと言っていいでしょう。
ただし、学習難易度は高めで、初めてプログラミング学習を始める方にとっては難しいと感じる場合があります。
その分、習得するメリットもあります。たとえば、記述のルールが厳しいためプログラミングの基礎固めによい、データ型やクラスの概念を確実に身につけられるといったことが挙げられます。
年収比較
つづいてプログラミング言語別の平均年収を見てみます。
以下の表は日経クロステックに2019年11月に掲載された情報(回答者数:403名)をもとに作成されたこちらの記事を参考にしています。
言語 | 平均年収(万円) |
---|---|
JavaScript | 663 |
SQL | 657 |
C/C++ | 650 |
R言語 | 650 |
Python | 608 |
C# | 575 |
Java | 573 |
PHP | 545 |
Ruby | 450 |
この調査結果では、JavaScriptがもっとも高い平均年収となっています。Pythonも600万を超えているので比較的高いほうですね。前述のとおり、高度な専門分野で利用されることも多いため高い数値が出ていると考えてよいでしょう。
集計元によって結果が結構変わるので、もうひとつ別の情報も見ておきます。
こちらはさきほどと少し違って年収の下限額です。2020年1月31日に公開された、HRogの記事を参考にしています。
言語 | 求人年俸額下限平均 |
---|---|
R言語 | 474万7434円 |
Go言語 | 463万4384円 |
TypeScript | 460万5892円 |
Scala | 459万8970円 |
Kotlin | 452万1563円 |
Python | 435万3952円 |
JavaScript | 411万2702円 |
Ruby | 410万6936円 |
Java | 392万6378円 |
PHP | 384万4071円 |
さきほども上位に入っていたR言語ですが、これは統計解析に特化した言語です。プログラミング言語の習得というよりはデータ解析やツールの利用についての知識も求められます。
上位の言語は習熟度の高いエンジニアが希少で、求人数も限られているという特徴があります。さきほど見たとおり、JavaやPHPは求人数そして開発案件数も非常に多いため、平均年収を見るとやや下がる傾向にあります。
ただ、未経験求人も多いのでこれからエンジニアにチャレンジしたい方にとっては決して悪い情報ではありません。
未経験からITエンジニアを目指すための選択肢
実務経験を積むことを優先して需要の高い言語を学ぶ
Pythonにこだわらず、まずはITエンジニアに転職することを優先するのであれば、求人数が多い言語の勉強をするのが一番の近道です。
実務経験を積んでから自分がやりたいことが可能なところへ転職する方法もあります。
以下の記事では、paizaの求人数を言語やフレームワークなどで集計したデータと、需要が高い言語の勉強法についてまとめていますので参考にしていただければと思います。
いろいろ踏まえて、それでもPythonで挑戦したいなら
これまでいろいろお伝えしてきましたが、Pythonを学んでエンジニアに転職できないわけではありません。学習意欲があり、目標を明確に持っている方はぜひチャレンジしてみてください!
さきほどもご紹介したとおり、paizaラーニングでは、Python3の入門講座は全編無料でご利用いただけます。
また、「Python×AI・機械学習入門編」という講座も公開しています。画像処理や音声認識の基本的な内容を学ぶことができます。
Webアプリケーション開発、AI・機械学習、データ分析が学べるコンテンツは以下の記事にまとめていますので、ぜひごらんください。
そして、もう一歩踏み込んで機械学習を学びたい方は、以下の記事が参考になると思います。
少し前の記事にはなりますが、必要な知識(特に数学の知識)についてはあまり変わらないと思いますので、興味がある方はごらんください。
まとめ
エンジニアを目指す場合にPythonという選択肢がよいかどうかについて考えてきました。
本文中でも述べたとおり、年々求人数は増えているもののJavaやPHPに比べるとまだまだ未経験からの転職は容易ではないと言えます。
ただ、Pythonはオンライン学習サービスや書籍などの学習教材も充実していますし、初期の学習コストは低いので、学習そのものに挫折してしまうことは他の言語と比べると少ないのではないかと思います。
「Pythonで一旗揚げてやる!」という意気込みを持っている方は、ぜひpaizaラーニングなどを活用して力をつけていってください。
以下の記事では、プログラミング初心者からPythonエンジニアになるためのステップを紹介しています。
「paizaラーニング」では、未経験者でもブラウザさえあれば、今すぐプログラミングの基礎が動画で学べるレッスンを多数公開しております。
詳しくはこちら
そしてpaizaでは、Webサービス開発企業などで求められるコーディング力や、テストケースを想定する力などが問われるプログラミングスキルチェック問題も提供しています。
スキルチェックに挑戦した人は、その結果によってS・A・B・C・D・Eの6段階のランクを取得できます。必要なスキルランクを取得すれば、書類選考なしで企業の求人に応募することも可能です。「自分のプログラミングスキルを客観的に知りたい」「スキルを使って転職したい」という方は、ぜひチャレンジしてみてください。
詳しくはこちら