あなたは、「プログラマーの仕事はなくなるのだろうか?」と考えていませんか?
AIの台頭により、あらゆる仕事が人の手から機械に置き換えられています。今、当たり前にある仕事が、10年後にはなくなっているかもしれません。
転職やキャリアチェンジを考えている方は、その仕事の将来性や今後の需要も考慮する必要があります。
この記事では「プログラマー」の将来性について解説します。
2019年8月5日編集:この記事は、現役エンジニアによって監修済みです。
この記事もオススメ
この記事は現役エンジニアによって監修済みです。
この記事の目次
男子中高生のなりたい仕事1位に輝いた「ITエンジニア・プログラマー」
出典:ソニー生命 (画像は中学生の回答結果)
ソニー生命が実施した「中高生が思い描く将来についての意識調査2017」において、男子中高生の将来なりたい職業1位は、「ITエンジニア・プログラマー」であると明らかになりました。
これは中学生200人、高校生800人に、将来なりたい職業をヒアリングしたもので、男子中学生の24.0%、男子高校生の20.8%が「ITエンジニア・プログラマー」になりたいと考えているようです。
システムエンジニアとプログラマーの違い
システムエンジニアは、システム制作を行う仕事を指します。
仕事内容を大きく分類すると「システムの要件定義」「仕様書作成」「コーディング」「テスト」となります。
一方プログラマーは、システムエンジニアの作成した仕様書を元に、システムプログラムのコードを書く仕事です。
システムエンジニアとプログラマーの違いは、システム開発における担当する工程の違いにあります。
システム開発の流れは、主に大きく分けて以下の5つのステップで進められます。
1.クライアントから要件ヒアリング
2.クライアントの要望を元に仕様書作成
3.SEが作成した仕様書を元にPGがコーディング
4.PGがコーディングしたシステムのテスト作業
5.システム納品後のアフターフォロー
上記の作業のうち、システムエンジニアが担当する工程は、1~2、4~5。一方で、プログラマーが担当するのは3のコーディング作業です。4のテスト作業は、両者で行うことが多いです。
システムの設計をシステムエンジニアが行い、プログラミングのスキルを持ったプログラマーが実装していくというイメージを持っていただくとわかりやすいでしょう。
ですが、実際のところ「システムエンジニア」と「プログラマー」の仕事の境界線は非常に曖昧で、「この仕事はシステムエンジニアがするもの」と行った明確な定義付けは存在しません。
Web業界などでは、システムエンジニアがプログラマーの仕事を兼任しているケースも多く見られます。
IT業界の動向
テクノロジーの発展に伴い、昨今のIT業界では、プログラマーに対する需要が増加してきています。プログラマーは注目の職種であると言えるでしょう。
現在のIT業界は、深刻な人手不足に陥っています。空前の売り手市場と言われており、今後さらにその傾向は加速していくと予想されます。
経済産業省のレポート「IT人材の最新動向と将来設計に関する調査結果」によると、システムエンジニアなどのIT人材は、その需要が上昇し続けるという見込みに対して、供給については2019年をピークになった後は減少傾向となると予測されています。レポートでは、2020年には36.9万人、2030年には78.9万人のIT人材が不足すると報告されています。
加速する社会のIT化に合わせて優秀なエンジニア・プログラマーを確保したい企業が増えていくことに伴い、IT人材の価値は高まっていくでしょう。
様々な業界に存在するプログラマー
「プログラマー」と聞くと、なんとなくIT業界の人というイメージを持つ方もいるかもしれません。しかしプログラマーは分野を問わず、ゲーム業界から行政法人までさまざまな業界に存在しています。
「プログラマーはなくなる」という意見も
出典:週刊現代
週刊現代が経済・産業の専門家40人を対象に実施した調査「2020年になくなる仕事」の中に、プログラマー挙げられています。
業界の伸びも期待され、今後需要が高まると期待されているプログラマーですが、なぜ「なくなる」と言われるのでしょうか。次の項目からその理由を説明します。
なぜ「プログラマーはなくなる」と言われるのか
プログラマーの仕事がなくなると言われている理由は大きく分けて「プログラムの自動化」「AIの台頭」「オフショア開発」の3つが挙げられます。
プログラムの自動化
出典:STUDIO
あらゆるシステムは、プログラマーがコードを書いて作られます。
この「コーディング」の部分が少しずつ自動化できるようになってきているのです。
現状はまだプログラマーの仕事を代替するほどではありませんが、WEBデザインの領域では「WEBサイトのコーディングを全て自動化する」ことができるようになっています。
STUDIO株式会社が提供するデザインツール「STUDIO」は、作成したデザインを、ボタン一つでWebサイトとして公開することが可能です。
本来WEBサイトを公開する工程は以下のステップで進められます。
・デザインツールを使ってデザインを作成
・HTMLやCSS、JavaScriptなどを使ってコーディング
・サーバー上にコードをアップロード
ですがSTUDIOを使えば、コーディングのステップを飛ばすことができるのです。
AI(人工知能)の台頭
2045年に訪れると言われているシンギュラリティ(技術的特異点)。一部の科学者は人工知能が人間の知能を超える、と考えています。
Googleの囲碁AI「アルファ碁」が世界チャンピオンを獲得した棋士に勝利したというニュースは記憶に新しいでしょう。AIは過去の膨大な棋譜から学習し、人間をも超える打ち手を自ら考え出せるまでに発達しています。
GoogleやAmazon、Microsoftなどの世界的な大企業も、莫大な資金を投じてAIの研究を行っています。AIがプログラマーの仕事を全て行えるようになるかは定かではありませんが、今後10年、20年の間にAI技術がさらなる進化をすることは充分考えられるでしょう。
オフショア開発
オフショア開発とは、タスクを日本国内ではなく、人件費の安い海外に仕事を外注すること。
システム開発の現場では、近年オフショア開発が広く普及しています。開発工程の中で、一般的にプログラマーが担当するステップ(プログラミングやテストなど)を海外へ外注することは多くなっています。
システムエンジニアが的確な仕様書を作成することができれば、あとは「その通りに実装していくだけ」になります。そうなると、誰がやっても同じ作業になってしまいます。結果として人件費の低い海外に発注してしまう方が、トータルのコストパフォーマンスがよくなることもあるのです。
オフショア開発がさらに広まっていくと、求められる人材は「的確に設計書が書けて受け入れテストを行うことができるシステムエンジニア」ということになります。
つまり「将来プログラマーがなくなる」という言葉は、「将来日本からプログラマーがなくなる」という意味で使われている場合もあるのです。
日本でもすでに、コールセンター業務がアジア各国に移転するなどの動きが見られます。徐々にプログラマーの仕事が日本から海外へと移っていくことも充分考えられるでしょう。
結論:プログラマーは存在し続けるが、高いクリエイティビティが必要
結論としては、10年後もプログラマーという職業は存在し続けると考えられます。
AIの台頭や自動化ツールの登場などありますが、現代のテクノロジーではプログラマーの仕事をゼロに出来るほどの自動化ができる状況ではありません。
東大合格を目標に開発された「東ロボくん」の開発が中止されたことからもわかるように、AIにも不得意なこと・できないことは未だ多く存在します。
将棋や囲碁のようなあるルールの範囲内での判断であれば、機械学習などによりできるようになるかもしれません。しかし現実世界のシステム開発の工程は、課題や問題が多岐にわたり、それらが複合的な要因で絡み合っています。
そのため一定のルールや条件の元で自動化するような仕組みを作り出すことは非常に難しいと言えます。
とはいえ人工知能は少なからずプログラマーの仕事に影響を与えることは予想されます。
人工知能は「0→1」を作り出すことができません。さらに、自ら課題を発見したり設定することも現状不可能です。ですがそれ以外の領域では、徐々に人工知能で代替可能なことが増えています。
つまり、クリエイティビティを持っておらず、ただ仕様書通りにコーディングするプログラマーは、人工知能に取って代わられる可能性があると言えます。
生き残るプログラマーの条件とは
では10年後、20年後も生き残るプログラマーになるためにはどのようなことを意識すれば良いのでしょうか。4つのポイントを見ていきましょう。
常に新しい情報をキャッチアップする
プログラマーとして一線で働き続けるには、常に新しい情報をキャッチアップする必要があります。
IT技術は時代の流れとともに、驚くほどのスピードで変化していきます。プログラミング言語やフレームワークなど、次々と新しい技術が生まれているのです。
そういった技術を見逃さず、自分のスキルとして会得できるよう、常にトレンドに対してアンテナを張っておく必要があります。
会社に依存しすぎない
プログラマーとして長い間働きたいのであれば、会社に依存しすぎないように心がけましょう。
職場によって、使用する言語はもちろん、必要なスキルや考え方、開発するプロダクトなど千差万別です。レガシーなスキルだけ持っていても、時代の変遷とともに仕事が少なくなっていくことは充分考えられます。
開発工程でも、上流工程(要件定義や設計など)を担当できる人の方が年収が高くなることが多く、需要もあります。
会社に依存しすぎず、「職場・仕事を選ぶ」という姿勢が重要です。
またプログラマーは扱う言語によって平均年収が変わってきます。現在は、python、Scala、Goなどの年収が高くなっている傾向があるので、そういった点でも、常に新しい技術を身につけていく必要があります。
コミュニケーション能力が高い
コミュニケーション能力の高いプログラマーは、今後も需要があると言えるでしょう。
多くの仕事は人と人との関わりがあって進められます。プログラマーは1日中パソコンに向かっているイメージがあるかもしれませんが、システム開発はチームで行うことが多く、コミュニケーションを要します。
うまくチームのコミュニケーションをとることができると、プログラムのバグに気づいた時は早めに共有したり、仕様書の改善点を提案したりと、業務が円滑に進みます。
コミュニケーションはいつの時代も重要なスキルと言えるでしょう。
レベルの高いシステムエンジニアになるには、プログラマーの経験が必要
プログラマーからシステムエンジニアへキャリアアップをする方も多いです。
システムエンジニアは、開発の上流工程を担当します。クライアントへのヒアリング・仕様書の作成など、プログラマーの仕事とは異なる部分も多いです。
クライアントの要望を分析をして的確な設計書を書いていくのであれば、論理的なな思考や、処理速度なども考慮したプログラミングの知識は必要になります。仮にプログラミングやコーディングの経験が不足したままだと、クライアントの要求を実現するシステムを設計するのは難しいでしょう。
レベルの高いシステムエンジニアになるためには、プログラマーとしての経験が必要です。
はじめての転職、何から始めればいいか分からないなら
「そろそろ転職したいけれど、失敗はしたくない……」そんな方へ、テックキャンプでは読むだけでIT転職が有利になる限定資料を無料プレゼント中!
例えばこのような疑問はありませんか。
・未経験OKの求人へ応募するのは危ない?
・IT業界転職における“35歳限界説”は本当?
・手に職をつけて収入を安定させられる職種は?
資料では、転職でよくある疑問について丁寧に解説します。IT業界だけでなく、転職を考えている全ての方におすすめです。
「自分がIT業界に向いているかどうか」など、IT転職に興味がある方は無料カウンセリングにもお気軽にお申し込みください。