【イベントレポ】[2022卒就活生]IT業界の社会人との交流会&プログラミング体験会を4/23(日)に実施しました!
GEEK JOB編集部
プログラマーはスキルをつければ非常に将来性のある職業です。この記事では、エンジニアの将来性と活躍するために何が必要かを解説しています。プログラム未経験の方でも役立つ内容となっているのでぜひご覧ください。
「プログラマーって将来性がある仕事なの?」
もしあなたがプログラマーという仕事に興味を持っているのなら、その仕事に将来性があるのかどうかは非常に気になっているのではないでしょうか?
もしくは
「AIやIT技術の発展によって将来的にプログラマーの仕事はなくなる」
こんな話を聞いて、本当にプログラマーの仕事がなくなるのか気になっているのでしょうか?
結論から言うと、プログラマーの仕事がそう簡単に無くなることはありません。
本記事で、プログラマーの将来性から、プログラマーとしてより長く活躍できる人材とはどんな人かというところまでお話していきます。
目次
「プログラマーは需要が増えてきているので将来性がある」
「AIがさらに進化すると、ソースコードを自動で書くようになるので仕事がなくなっていく」
2つの主張どちらの意見が正しいと思いますか?
…実はこの2つの主張はどちらも正解といえます。
相反しているように見える2つの主張ですが、なぜどちらも正解なのか、本項ではまずそこから解説していきます。
ます、プログラマーは需要のある仕事なのかどうかについてです。
DODAが2019年6月10日に発表した転職求人倍率レポート(2019年5月)によると、プログラマーを含めたIT技術職の求人倍率が7.96倍でした。
これは、IT技術者1人あたりを8社近くで取り合っている状況で、非常に高い需要があることがわかります。
IT業界は非常に進歩が速く、規模も大きくなり続けているため、多くの企業がIT技術者を欲しています。
2016年6月に経済産業省より発表された「IT人材の最新動向と将来推計に関する調査結果」によると、2030年には約59万人のIT技術者が不足するとの推計結果が出ています。
[出典]DODA|転職求人倍率レポート
[出典]経済産業省|IT人材の最新動向と将来推計に関する調査結果
多くの業界で、IT系職種であるプログラマーが求めらるようになってきています。それに伴い、エンジニアとしてのキャリアも多様化してきています。スキルアップすると幅広い将来が描けるようになります。
プログラミングの知識だけではなく、コミュニケーション能力やマネジメントスキルを身に着ければマネージャーとしての道があります。またプログラマーとしてのスキルを特化すれば、収入アップやフリーランスとして独立する道もあります。
最新技術が次々と登場するIT業界に身を置いて、現状に妥協することなくスキルを磨き続ければ明るい未来が待っています。
前項ではプログラマーの需要ついて解説しました。
次に、プログラマーのしごとが無くなると言われている理由について解説していきます。
現在、IT業界では様々な技術革新が起きています。
コードが書けなくてもプログラムを書けるツールは既にいくつも存在しますし、AIの発展によって自動的にコードを生成出来るようになるのも時間の問題だと言われています。
このように「コードを書く」という仕事を機械に代替されていく可能性があるというのが、プログラマーの仕事がなくなると言われている理由の1つです。
2013年、オックスフォード大学のマイケル・A・オズボーン准教授が「雇用の未来」を発表しました。そのレポートによると「プログラマーは702の職種のなかでコンピューターに置き換わる確率が293位(48%)」としています。
半分より少し高い程度ですが、仕事として無くなる可能性が比較的高いとされています。
[出典]Carl Benedikt Frey and Michael A. Osborne|THE FUTURE OF EMPLOYMENT
機械に代替されることによってプログラマーの仕事はなくなるということですが、AIが自動的にプログラムを書けるレベルになるためにはまだ時間がかかります。
技術が開発されたとしても、それが普及するまでにも時間がかかりますので数年で仕事が無くなるということはまず無いでしょう。
とはいえ、このままAI技術が発達すれば、簡単なコードだけを書くプログラマーの仕事は減っていくことは確実。
HTML/CSSのみを書く「マークアップエンジニア」などは、最近求人を見ることも少なくなりました。
長い目で見ればAIに代替されないスキルを身に着けたいところですよね。
そのためには、自分自身が技術の進歩に着いていくことが大切。
プログラミングを自動化するツールが主流になるのであれば、まずはそのツールを使いこなせるようになるべきでしょう。
AIによってプログラムが自動生成出来るようになるのであれば、そのAIを使いこなす方法を身に着けるべきです。
または、AIそのものを作れるようになるというのも一つの手でしょう。
これからの時代は、ただコードを打つだけでは活躍できないとお伝えしました。
では、どんな人が今後活躍することが出来るのでしょうか?
プログラムを書く能力だけでも仕事が無くなることはありませんが、需要の高い言語や最新技術の習得を継続できたり、対人能力の高い人は今後も重宝されます。
アメリカの産業調査会社RedMonkが発表したプログラミング言語ランキング(2019年1月)をご紹介します。RedMonkランキングはGitHubとStack Overflowのデータを元にランク付けされています。
1 JavaScript
2 Java
3 Python
4 PHP
5 C#
[出典]RedMonk|The RedMonk Programming Language Rankings: January 2019
将来的にどのような仕事がしたいかで習得する言語が異なってきます。ただ、その中でも需要の高い言語の習熟が重要です。プロジェクトや案件によって扱う言語が異なるので、複数の言語を習得できれば尚更いいでしょう。まずは現在、多くの企業に求められているJava、Pythonを習得することをオススメします。
Top5にはランクインしていませんが、質の高いチュートリアルが豊富にあり、初心者が学びやすいRubyもオススメです。
IT業界は非常に進歩が速く、技術革新や新サービスが次々と登場します。すべてのジャンルにおいて精通するのは難しいので効率よく知識を増やす必要があります。
最低限の情報収集として「Googleアラート」の活用をオススメします。「AI」「eスポーツ」「ビッグデータ」「IoT」など、興味のあるキーワードを登録しておけば、関連ニュースのメールが届くようになります。届いたメールのサイトを数か月見ているだけでも、かなり知識が蓄えられることでしょう。
また、社内のエンジニアとの交流だけでは知識に偏りができ、視野が狭くなってしまいます。そうならないためにも、社外の人とも情報交換することが重要です。
特に異業種の人との交流が増えると、知識の幅が広がるだけでなく、刺激を受けることで視野も広まります。チャンスがあれば、自ら進んで社外のイベントや勉強会に参加しましょう。
では、具体的にどのようなスキルセットを持てば、プログラマーして長く活躍できるのでしょうか。プログラミング言語以外に役に立つスキルをご紹介します。
まず、応用技術としてデータベースとフレームワークの知識が役に立ちます。データベースは蓄積や検索を容易にするために、有機的に整理された情報の集まりのことです。活用すると情報の検索速度をチューニングすることができるようになります。フレームワークは枠組みという意味で、簡単に言えばシステム開発を助けてくれるプログラムの雛型を集めたものです。
また、ソフトウェア工学を学ぶと、更に高いレベルのプログラマーになれる可能性があります。ソフトウェア工学は高品質なソフトウェアを効率よく開発するための方法を研究する学問です。
更に、仕様書を書くことが苦手なエンジニアが多いので、仕様書を書けたり、情報処理ができるエンジニアはどこの企業からも重宝されます。
このように複数のスキルセットを幅広く持つことで、技術革新にも淘汰されることなく長くエンジニアとして活躍できるようになるのです。
繰り返しになりますが、IT業界はスピードが加速しています。同じことを続けていても10年も仕事ができる時代ではなくなりました。更にAI技術が発達してくれば、プログラマーの仕事も単純なものから自動化されていくでしょう。
AIに淘汰されないためにも、新しい言語の習得や技術のアップデートが重要です。エンジニアとして生きていくうえで、生涯学習の気持ちを持ち続けることが大切なのです。
長い先を見てからコツコツ活動していくことが大事。ここでは、プログラマー初心者が仕事をするに当たって必須ともいうべきスキルを5つご紹介します。
プログラミングが自動化されるという話をしましたが、それはまだまだ先の話。プログラマーとして、職業の基本となるプログラミングスキルは大前提です。
プログラミングが下手ということは、料理が下手なシェフと同義です。また、開発環境に応じて言語を使い分けることができれば活躍できる幅も広がります。一つの言語を極めるのもいいですが、複数の言語習得も視野にいれましょう。
仕事の多くは仕様通りにプログラミングを完成させることがゴール。エンジニアとしての問題解決能力とは何でしょうか。
システム開発はスムーズに進むのははまれで必ずバグが発生します。冷静に問題点を切り分けることが必要です。見つかった問題点を一人で解決している人でも、すべての問題解決方法を知っているわけではありません。今の時代ネットで検索すれば、ほぼすべての解決方法を見つけることができます。
エラーメッセージや今起きている不具合などから、問題の解決策を発見する「検索力」が大切なのです。
仕事に慣れてくると初心を忘れ、現状維持で満足してしまいがち。IT業界は変化が激しいため、古い技術の知識しかなければ後から入ってきた人に追い抜かれてしまいます。
プログラマーとして長く活躍するためには、業務外も勉強をする必要があります。学び続けることは大変ですが、「必ず自分のためになる」と思って成長意欲をもって取り組んでいきましょう。
プログラマーは孤独な仕事というイメージがあるかもしれません。実際は、ソフトウェア開発は基本的にチームで協力してプロジェクトを進めることが多いのです。
仲間と協力して仕事をするためにはコミュニケーション能力が大切です。プロジェクトをスムーズに進める力は将来のキャリアアップに役立ちます。
フリーランスを目指している方は独立した際に自分で仕事を獲得する必要があります。企業に属している内にコミュニケーション能力を磨いておくとよいでしょう。
システムエンジニア(SE)やプロジェクトリーダー(PL)、プロジェクトマネージャー(PM)を目標としている方はマネジメントスキルが必須能力。
システム開発のプロジェクトは一定の期間が決まっており、効率よく人員をまわす必要があります。業務の管理だけではなく、人員のモチベーション管理も重要です。
プログラミングができ、更にマネジメントができる人材は企業にとって非常に貴重な存在。
マネジメントスキルも磨いておけば、PMになるキャリアパスはたどりやすくなるでしょう。