キャリア

2020/09/14

AI(人工知能)でプログラマーは失業する?生き残る方法・AIを仕事にするには

AI(人工知能)技術の進化は、社会や産業に大きな影響を与えるといわれています。コンピュータプログラムによる自動化がより多くの分野に普及することにより、ソフトウェアエンジニアやプログラマーの雇用はどのように変化するのでしょうか。

この記事では、機械学習や深層学習(ディープラーニング)などAI技術の発展とプログラマーの雇用との関係性を紹介します。転職や就職などでIT業界からAI業界を目指す方法やキャリアパスについてもみていきましょう。

AIが発達するとプログラマーはなくなる?

AI(人工知能)の発達は多くの人々を驚かせています。将棋の世界ではすでにAIが人間より優れているのではないかといわれ、自動運転技術に関しても技術的にはほぼ完成しているといわれているのです。

コンピューターによる高精度な認識や予測などAI技術の発達は人々の生活を便利にし、豊かにする一方で将来的には人間の仕事を奪うのではないかともいわれています。

そのようなテクノロジーによって代替されてしまう職業の有力候補にあげられているのがプログラマーです。本当にAIが発達すると、プログラマーが消えてしまうのでしょうか。

すぐにプログラマーが不要になることはない

プログラマーという仕事は基本的にコードを書きシステムを作ることが仕事です。そのため、AIの発達による自動化で職が奪われるのではないかという懸念があり、各メディアでも報道されています。

しかし、現時点でのAIの研究状況では、すぐにIT技術者の雇用がなくなったり、失業してしまう可能性は少ないという考えが多いです。

コードを書く仕事を自動化しても点検や保守は必要

プログラマーの仕事はただコードを書いてプログラムを作成するだけだと思われていますが、実際はそれだけではありません。開発したシステムがきちんと稼働しているかどうかの点検やエラーやトラブルが発生した際に保守・運用する役割も担っています。

また、プログラマーは設計書に基づきシステムを開発しますが、設計書にはAIでは理解できない曖昧な表現もあります。

現時点で複雑な処理をコードとして記述する役割はAIでは不可能です。チームでの開発や自動化されたシステムの運用も人間の思考力でなければ的確に読み取ることができないものが多いためです。

将来的な技術の動向によっては注意が必要

現時点では人からプログラマーの職が奪われることがありませんが、AIの将来的な技術の動向によってはわかりません。現にAIの開発スピードがかなり上がっています。

たとえば、将棋に関して、AIが人間のプロを抜くのにはまだまだ時間がかかると思われていました。しかし、現実すでにAIが人間のプロ棋士をも抜きつつあり、人が考えていたよりAIの発達は数年早いといわれています。

また、IT開発には費用がかかりますが、その大部分を占めるのがプログラマーの給料など人にかかる経費です。そのため、開発に関する人件費が安い海外に外注する「オフショア開発」や国内での土地代や賃金など物価の差を利用した「ニアショア」など、多くの企業でおこなわれているのです。

これらの現状からAIが発達し人からプログラマーの仕事を奪う時期が、早めに訪れる可能性も考えられています。

AIでプログラマーが失業するとされる背景

AIの発達によってプログラマーが失業するといわれている背景はいくつかあり、ここで紹介していきます。

人件費を削減した際の効果が高い

プログラマーなどが活躍するIT業界で、もっとも費用か掛かるといわれているのが人件費です。AIにより自動的にプログラムのコードが生成されてソフトウェアが開発されるようになると、実装やテストに必要な工数分の人件費を減らすことができます。そのため、賃金が高い職種ほどAIで業務を置き換えるニーズが高くなっています。

プログラミングの処理は構造的に自動化しやすい

プログラミングは基本的に順次処理・分岐・繰り返しと単純な作業です。そのため、将来的にAIによる自動化の対象となりやすい構造とみなされています。プログラムのコードが自動で吐き出されるようになると、プログラマーが不要になるためその時代には失業が加速するといわれる背景となっています。

自動化について心理的な抵抗が少ない

プログラミングの自動化やソースコードの自動生成は現時点でも、当たり前の話となっています。AIによる自動化について心理的な抵抗が多くなる業種もありますが、プログラミングでは他の業種よりもAIによる自動化に関して、心理的な抵抗が少ないと考えられています。

AI時代にプログラマーとして生き残るために

AutoMLの登場やさらなる精度向上が実現していくと、あらゆる分野でAIの発展が期待されるでしょう。第四次産業革命(インダストリー4.0)といわれる現代や今後の第五次産業革命においてプログラマーとして生き残るためにはどうしたらよいのでしょうか。

知識としてAIを理解しておく

IT業界の中で必要とされるテクノロジーは日々進化しているものです。プログラマーとして業界の潮流に取り残されないようにするには日々知識のアップデートが必要となります。技術や成り立ちを理解するためには実際に動くプログラムを組んでみることが一番でしょう。

知識としてAIを理解しておくことで仕事にもいかせます。大事なのはAIに職を奪われる不安からAIを学ぶのではなく、AIを利用しようというポジティブ思考で学ぶことです。

AIに関する資格を取得する

AI業界に転職するためには、AIに関する資格を取得することも役立ちます。AIに関する資格は主に3つあります。1つ目はG検定といわれるジェネラリスト検定で、ディープラーニングの基礎知識が問われます。

2つ目はE資格といわれるエンジニア向けの試験です。いずれも一般社団法人 日本ディープラーニング協会(JDLA)が運営しており、ディープラーニングを実装するエンジニアとしての知識とスキルが問われます。

3つ目はPython3エンジニア認定データ分析試験。Pythonを使ったデータ分析の基礎や方法を問う試験となっています。

スキルアップを惜しまない

最後に、プログラマーとしてAI時代を生き残るためには、スキルアップを惜しまないことです。現状維持という考えは惰性を生みます。その惰性が時代に取り残されてしまう大きな原因となるのです。

キャリアパスとしては、コードを書くスペシャリストのほかに、システムエンジニアやプロジェクトマネージャーといった道もあります。IT開発に関するスキルだけではなく、上流工程の経験を積みマネジメント側にまわることもできるのです。

IT技術者からAIを作る側にまわるには

AIが発展し普及することで、プログラマーが不要になるといわれる社会を生き残るためには、職業としてプログラマーだけに捉われず、IT技術者としてAIを作る側に行くというくらいの気概が必要です。実際にIT技術者からAI技術者へのジョブチェンジは可能なのでしょうか。

ITからAIへのキャリアチェンジは可能

これまでIT技術者として働いてきた人にとっては抵抗があるかもしれませんが、IT技術者からAIを作る側にまわることは十分可能です。

AIの開発者というと統計的なモデリングを行うデータサイエンティストや研究者を想像するかもしれませんが、そのような先端職種とは別に、開発現場でデータを整理したりシステムを開発・運用するエンジニアは必要とされているのです。

そのような仕事では、IT業界でのプログラマー経験が役立ちます。一般的なジョブチェンジでは、これまで培ってきた経験や技術などが活かされないこともあります。しかし、ITからAI分野への転向では元の経験や技術が活かされるため、デメリットは少ないです。

統計や数学の知識が必要ない仕事もある

AIを作るというと、統計学や数学の知識が必須だと考えている人が多いかもしれません。実際に先端の研究施設や大手企業、外資企業などでAIエンジニアや機械学習エンジニアとして働くには、それらの知識が必須です。

しかし、プログラマーとしてのプログラミング経験のみを必要とする職場もあります。SQLを使ったデータ抽出や整形などデータの管理が中心の仕事では、特に専門的な統計学や数学の知識が求められないこともあるのです。

だからといって、統計学や数学の知識を学ばなくてよいということではありません。AIに関する業務を続けていく以上、向上心は大切です。仕事をおこないながらAIに関するスキルを身に付けていく必要があります。

AIプログラマーに必要なスキル

実際にAIプログラマーになるときには、どんなスキルが必要なのでしょうか。いつくか紹介していきます。

機械学習ライブラリの実装

AIプログラマーの多くはscikit-learnやTensorFlowなどの機械学習ライブラリを使いこなします。したがってPythonでのコーディングスキルと同様に、機械学習ライブラリの実装スキルが必要となります。AIをシステムに実装する際は、Python以外のC++やJavaなどの言語を利用することもあります。

データベースやデータ処理のスキル

機械学習ではさまざまなデータを利用します。データを解析し適した構造を設計したり、データモデリングや必要に応じてデータを抽出・集計したりします。機械学習基盤(MLOps)を準備する際に、クラウド環境を利用することも多いためインフラ環境の構築やデータ処理のスキルも必要です。

数学、統計に関する基礎知識

AIプログラマーとして働くうえで最低限必要な、要素技術や数学の知識を身につけておきましょう。データサイエンスの仕事では数学や統計に関する知識が欠かせません。微分積分学や線形代数学などの数学の知識に加え、機械学習、深層学習プログラムを活用するためのパターン認識や予測、精度などの評価手法や確率分布などの統計の知識が必要となります。

AIプログラマーになる方法

ここからは実際にAIプログラマーになる方法について紹介していきます。

独学でスキルを身につける

現在はAIを無料で学べる方法が多く存在しているため、独学でスキルを身につけることができます。たとえば、AIに関する書籍は多く出版されていますし、オンライン学習サイトも存在します。独学で学びポートフォリオを作成する、Kaggleに挑戦するなどしてAI関連の求人に応募することも1つの手段です。しかし、現実問題として中途採用では、AIに関する実務経験も求められるので、独学で学んで目指すのは簡単ではありません。

未経験可の求人に応募して転職する

AIプログラマーに関して未経験可の求人があり、それに応募して転職する方法もあります。しかし、1からAIプログラマーを育てることは企業にとってもそれなりのリスクがあるため「精一杯努力する」などの宣言だけではなく、ある程度の証拠が必要となります。それは、プログラミングについての経験やAIプログラマーに必要なAIに関する資格、数学・統計学の知識などを証明するものです。

社会人ならスクールに通う方法も

社会人として働き資金に余裕がある場合はスクールに通う方法もあり、一番おすすめです。スクールに通えば専門の講師がついて指導してくれますし、AIプログラマーになるための学ぶ環境も揃っているからです。また、スクールから就職するという流れがありAIプログラマーへの近道となります。

AIに仕事を奪われないために

最後に現状プログラマーとして働き、AIに仕事を奪われないために必要なことを紹介します。

将来にも必要とされる技術を身につける

どんな世界でも常に向上することが大切で、特に進歩が進んでいるIT業界に関しては必須といわれています。将来的に必要とされる技術を身につけることによって、AIを利用するような自分になることが理想です。そのために、たとえば新しいプログラミング言語やブレークスルーとなり得る技術があれば積極的に学び、習得することが大切です。

要件定義や設計などの職種に移行する

プログラマーという仕事は、主にSEがおこなう要件定義や設計などをもとにプログラムを書くことです。ただ単にプログラムを書くだけだと将来AIに仕事を奪われる可能性がありますので、要件定義や設計などをおこなうSEなどの職種に移行することも大切です。

AIの仕事に積極的に関わる

将来的にAIがさらに発展することは、誰の目からみても明らかです。AIといっても所詮は人間が作り出したものです。それを利用する側になるのか、AIに仕事を奪われるのかは自分次第となります。したがってAIに関する仕事があれば、まずは積極的に関わることが大切です。

関連記事Related Posts