こんにちは!
seiです!
- プログラミングを勉強したいけど、エンジニアの将来性が不安…
- chatGPTとか出てきたし、AIにとって代わられるのでは?
- いまから勉強するのは無謀?
現役エンジニアのseiが、エンジニアとして仕事をしてきた実感を交えて解説します!
この記事の信頼性
2023年現在現役エンジニアのseiが記事を執筆しています。
フルスタックエンジニアとして、フロントエンド、バックエンド、AIを用いた機械学習の業務も行ってきているので、いろんな分野の業界の動向が分かります。
プログラミングを用いた仕事の将来性は明るいです
結論から言うと、プログラミングを用いた仕事の将来性は明るいです。
理由は以下の通りです。
- エンジニアまだまだ人手不足
- 新しい技術を実現するのは既存のエンジニアである
- 今後も需要が続く可能性が高い
エンジニアはまだまだ人手不足
エンジニアはまだまだ人手不足です。
これは僕が2022年に転職活動を通して実感したことです。
どのくらい人手不足かというと、
- 実務経験1年でも残業なし500万のオファーがでる
- openwork等の求職サイトに登録すると、ほぼ毎日オファーが来る
- 大企業からもオファーが来ることが多い
こんな感じです。
当時は結局残業なし500万のオファーを承諾しましたが、これは他の職種ではありえなかったと思っています。
当時はAIや機械学習に関しての知識も実務経験もなくて、「普通のWebエンジニア」でした。要件定義以上の上流工程は経験していなかったので、「プログラマー」に近い採用でした。
新しい技術を実現するのは既存のエンジニアである
新しい技術が世の中に誕生したとき、それを一般に普及して実現するのは既存のWebエンジニアやAIエンジニアです。
どこからか、「新しい技術専門のエンジニア」がパッと湧いて出てきたりはしません。
例えばIoT(Internet of Things)を例に考えてみましょう。
IoTは「モノのインターネット」とも呼ばれ、身の回りの物体がインターネットに接続されてデータをやり取りするという概念です。
家電、自動車、建築物など、多種多様なモノがインターネットに繋がることで、それらが互いに連携し、便利になります。
例えば、エアコンと加湿器がデータを連携して部屋を一定の温度湿度に保ってくれる等ですね。
このような新しい技術というのは学校で学ぶものではなく、自分で勉強して実際に触ってみて理解していくものです。
ではこの作業を誰がやるのかというと、IoT専門のエンジニアではなく、既存のWebエンジニアやAIエンジニアが行います。
なぜなら新しい技術というのは出てきたばかりで世の中にノウハウが少なく、その時点では専門のエンジニアが存在しないからです。
また、新しい技術が誕生したとしても、既存の技術の応用である場合や、考慮すべき事項は同じ場合であることが多いです。
例えば、IoTを支えるためには、セキュリティ対策やデータ分析、ネットワーク設計などが必要ですが、これはWebアプリや機械学習にも共通する部分です。
今後も需要が続く可能性が高い
新しい技術が生まれるたびに、それらを支えるエンジニアの需要は増えていきます。
もちろん既存の技術も完全に廃れない限り、需要は残り続けます。
ということはエンジニアの需要が今後なくなることは考えづらいですよね。
また、デジタルトランスフォーメーション(DX)が進む中で、企業の多くが自社のビジネスをデジタル化しようとしています。
このような動きの中で、プログラミングスキルを持つ人材はますます重要視されています。特に、クラウド技術やAI技術に精通したエンジニアは、今後も需要が続くと考えられます。
プログラミング業界の現状
では次にプログラミング業界の現状を見てみましょう。
先ほどは私の転職時の感覚値でエンジニアが人材不足だと言いましたが、実際はどうなのでしょうか?
下のグラフを見てみてください。
これは経済産業省が外部委託して作成したIT人材の需要予測データになります。
引用元: 経済産業省委託事業「IT 人材需給に関する調査」 みずほ情報総研株式会社
高位、中位、低位のシナリオそれぞれについてIT人材の不足を予測したものです。
仮に最も人材不足が起こらない低位のシナリオ(IT業界の産業成長率が0%の場合)でも16万人不足するとみられています。
2023年現在は、ChatGPTなどのディープラーニングを用いたサービスが台頭してきています。今後IT業界の需要はほぼ確実に伸びると言えますので、少なく見積もっても中位のシナリオの45万人は不足するでしょう。
キャリアチェンジには絶好の時期と言えそうです。
最新技術は今後も出てくる
最新技術は今後もどんどん登場するはずです。ディープラーニングを用いた機械学習がまたブームになっています。
今後もしばらくAIブームは続くはずです。最新の技術が次々に生まれている状況なので、エンジニアの将来は明るいと言えます。
プログラミングの仕事はAIにとって代わられるのでは?
プログラミングの仕事がAIにとって代わられるのではないかと不安で、なかなか一歩を踏み出せない人もいるでしょう。
いま最もプログラマーたちの存在意義を脅かしているのは、なんといってもChatGPTでしょう。
しかし、ChatGPTなどの自然言語サービスにもまだまだ限界があります。僕はプライベートでも、仕事でもChatGPTを使ってコーディングを行っていますが、たまに間違った解答もしてきます。
ですので、アウトプットされたコードが本当に自分が要求した条件を満たしているのかをしっかり確かめないといけません。それを確かめるには、プログラミングの知識が必要不可欠です。
まだまだ完全自動化というのは難しく、最終的なチェックはプログラミングが分かる人が行わないといけないのが現状です。
またプログラムのバグというのはシステム全体にわたって発生しているものも多く、ChatGptにすべてのコードのつながりを含めて解答させるのは、何万行ものコードをインプットしないといけないので、現状だと難しいです。
さらに与えたデータを学習に使用されてしまう危険があるため、ChatGPTに生のソースコードを与えるのは会社によって禁止されている場合がほとんどです。
今はエンジニアの補助ツールとしての側面が強いです。仮に完全にエンジニアが代替されるような事態になれば、他のほとんどの職業はAIに代替されていると思います。
今からエンジニアになる人のおすすめキャリアパス
もし僕が今未経験からエンジニアを目指すなら以下のキャリアパスを描くと思います。
エンジニア業界で生き残ることを最優先に考えます。
Webアプリエンジニア→機械学習エンジニア→フリーランス
- Webエンジニアは安定している
- 機械学習はデータがないとどうしようもない
- 機械学習はあまりコーディングをしない
Webエンジニアは安定している
webエンジニアは広く需要があります。大きなサービスで、スマホアプリだけのサービスってあまりないですよね?逆にWebサービスはあるけどスマホアプリはないみたいなのは容易に想像できます。
Webサービスは業務用システムのBtoBから顧客向けのBtoCまでたくさんの需要があります。Webサービスはスマホからでもブラウザ経由で使えますしね。
Webエンジニアの数は多いですが、まだまだ不足してますので職にあぶれることはまずないです。
機械学習はデータがないとどうしようもない
機械学習は学習に使うデータがないとどうしようもないです。機械学習をやりたいけど、データが用意できないって企業はたくさんあります。機械学習にはとんでもない量のデータが必要です。(少なくとも5000データほど)
なので、入社する会社や配属された案件先で自分の技術が身につくかどうかが決まります。もしデータが用意できない場所ならほとんど何も身につかないです,,,。かなりギャンブル性がありますね。
機械学習はあまりコードを書かない
機械学習エンジニアはWebエンジニアと比べるとあまりコードを書きません。数学的な難しい処理はすでにライブラリ化(誰でも使える化)してあります。データを学習しやすい形に前処理するためにコーディングをするのが主になります。
機械学習エンジニアはコーディングというより、データの加工にほとんどの時間を費やします。最適な学習になるようにデータの偏りがなるべくないように集めてきたりですね。
なので、もしデータもなくてコードも書かない状態になるとエンジニアとして成長できない可能性があります。
インフラエンジニア→機械学習エンジニア→フリーランス
いきなり機械学習エンジニアにならないのは、先述のとおりギャンブル性が高いからです。機械学習のモデルが完成したとき、必ずインフラ上でどこに構築するのかを考える必要があります。インフラの知識があると、この部分も一気通貫で考えることができるので市場価値の高いエンジニアになれます。
まとめ
今回は現役エンジニアがプログラミングの仕事の将来性を考察しました。まだまだIT業界は激アツですね!(笑)
僕はプログラミングは様々な業務が自動化できるので、人材不足を補う唯一の方法なんじゃないかと思っています。給料も良く、働き方も自由で、社会的意義の大きいことをしていることに喜びを感じています。
もっと日本人にエンジニアが増えてほしいなと思っています。