人工知能や機械学習を勉強をしているシステムエンジニア(SE)が増えてきていると感じます。

ただでさえIT人材が不足している売り手市場にもかからわず、さらに新しいスキルを身に付けようと休日に勉強を続けるシステムエンジニアを見て、日本を支えているのは、間違いなく彼らのようなエンジニアであると強く感じます。

システムエンジニア(SE)の労働環境は非常に厳しい

これまで日本の情報システムを支えてきたのはシステムエンジニア(SE)です。しかし、必ずしも労働環境は恵まれたものではありません。

SEの労働環境は、3K(「きつい」「帰れない」「給料が安い」)とも、7K(+「規則が厳しい」「休暇がとれない」「化粧がのらない」「結婚できない」)とも言われます。

毎日の深夜残業、残業代は上限付き、無理なスケジュールと仕様変更の多発、だけれども納期は絶対遵守。

労働環境が厳しい原因は、システム開発のビジネスモデルが受託契約だからです。
受託契約のため、原価と納期を先に決めて開発を行うものの、スケジュールや見積もりが甘い、顧客の仕様変更が発生するなど、想定外の事象が起こることで、納期までに開発が終わらないことで、7Kのプロジェクトが生まれてしまうのです。

新規性があり、顧客リスクがあり、成果物が目に見えないシステム開発で、事前に完璧な見積もりを作ることは不可能です。そもそも新しい事をするからプロジェクトなのです。新しい仕事なので何が起こるか分からないのです。


もう一つSEの仕事が辛い理由があります。SEが多く在籍するSI業界は、多重下請け構造が慣例になっています。

かつて、そして今も、日本のシステムエンジニアとプログラマーは、大手企業の下請けとして、奴隷のような労働環境を余儀なくされていました。日本の大企業の約4割以上がIT子会社を持っています。エンジニアを安く使い倒すためです。

しかもその大手企業のIT子会社は、IT業界では恵まれた存在であり、もっと厳しいのは、そのIT子会社から案件を受託する独立系や中小のIT企業です。

SI業界の公然の秘密ですが、業界の大半の企業が「人材派遣会社」です。人材派遣会社のSEは、顧客や大手IT企業に派遣され、顧客先に常駐して仕事をします。

人材派遣会社と言うのは経営者から見ると非常においしく、技術者を集めて派遣するだけで、多くの売上を立てることが出来ます。

つまり、顧客にSEを月100万円で派遣し、SEに月30万円の給与を払うと、経営者は月70万円の収入を得ることができます。別にこれが悪いわけではないのですが、経営的に見ると「SEの給与を下げる=会社の利益が上がる」の等式が色濃く出てしまうので、構造的にSEの給与は上がりにくくなっています。

なによりSEの立場は、顧客や大手IT企業のパシリのように扱われることになります。いくら建前を並べても、現実的にはそういったケースが多々あります。

現場の第一線で開発しているエンジニアやプログラマーにとって、現状のSI業界は必ずしも恵まれている環境ではありません。

AIが作ったプログラムは仕様書より賢い

システム開発では、人間が仕様書を書いてプログラムの機能を定義していました。
一方、今流行りのAIや機械学習では、データからプログラムを導きます。人間が機能を考えるのではなく、AIが機能を定義しています。

これまでの機械学習は、データ量が少なかったりアルゴリズムがあまり賢くなかったりと、人間を超えるプログラムを作ることは難しい状況でした。がんばっても人間と同じくらいの賢さを覚えらせることが精一杯でした。

しかし、最近のデータ量の爆発的増加とアルゴリズムの進歩により、だんだんと局所的に人間の賢さを超えるAIが出てきました。画像分類の精度が、人間の識別能力を超えたことはその好例です。

そしてAIは指数関数的に技術的発展を遂げています。すると、人間が考えた仕様書よりも、AIが作ったプログラムの方がはるかに賢くなっていきます。グラフにすると以下の通りです。

機械学習とは10

これから先、仕様書の通りに開発するエンジニアと、AIを開発できるエンジニアのどちらが将来性があり、どちらが価値を生むか明らかではないでしょうか。

ITエンジニアがAIエンジニアに転身すべき理由

SEがAIエンジニアに転身すべき理由は2つあります。

理由1.AIエンジニアは年収が高いから

経済産業省は、ビックデータや人工知能に関わる先端IT人材は、2020年に4.8万人不足すると予測しています。

現在多くの企業が、AI・機械学習・DeepLearningの実証実験を行っています。なぜなら経営者は、人工知能で売上を上げて、コストを削減し、業務変革したいと考えているからです。

そのためたくさんの企業が、AIエンジニアを採用したいと考えており、採用の難しさから年収の予算も高まりつつあります。

お伝えしたいことは、人材不足感の高まりから現在のAIエンジニアの給与ももちろん悪くないのですが、今後のAIの発展によってSEの給与とAIエンジニアの給与差は拡大していく可能性が高いという事です。

サイバーエージェントやDeNAなどが、職種別採用でAIエンジニアに高給を出すのは現段階ではマイノリティですが、今後こういった企業が増えてくるでしょう。

理由2.AI開発はデータサイエンスの力で価値にレバレッジが働くから

これまでの主なSEの仕事は、仕様書の通りにプログラミングをすることでした。そして作ったプログラムが仕様書と異なっていればとても怒られました。

しかし、この21世紀に仕様書の通りに1行1行プログラミングするなんてちょっとあり得ないと思うのです。間違えるに決まってるじゃないですか。僕たちはロボットではなく人間なのです。

一方AI開発では、仕様書や設計書は基本作りません。顧客や元受け企業の言われた通りに開発するのではなく、顧客のデータを分析することが仕事です。

もちろん分析内容を整理して顧客に提示することはありますが、仕様書のような詳細な資料は作成しません。極論すると分析テーマだけ決めて、データを借りればそれでいいのです。


加えてAIエンジニアは、比較的立場が強くなる傾向があります。
AI開発には厳密な仕様書がありません。アルゴリズムにもよりますが、AIの中身は人間にはわかりません。しかし、確かにそのAIは、顧客企業の売上を増大し、コストを大幅に下げるようなロジックが組み込まれています。

その難しいAIを解説できる人は、AIエンジニアだけです。顧客はAIエンジニアの声に傾けて、話を聞きたがるでしょう。かつての邪馬台国の卑弥呼と農民の関係性と構造的には同じです。
人工知能11
機械学習では、たった1kstepのコードで100億円の価値を生み出すことがあります。世の中のAIエンジニアが、楽しそうに仕事をしている理由は、こういった理由にあるのではないでしょうか。

参考記事:未経験からAIエンジニアになる方法

AIエンジニアに必要な4つのスキル

AIエンジニアに求められる最低限のスキルが4つあります。

①pythonでコードが書ける

Pythonはスクリプト言語のため、基本的にはプログラムを書いた順に処理を行います。そのため、人間の論理的思考に近いです。

②機械学習ライブラリが使える

・numpy, pandas, matplotlibでデータ操作や解析ができる(特にpandasが重要
・scikit-learn, chainerで学習ができる

③機械学習・統計の知識がある

・教師あり学習と教師なし学習
・前処理、特徴量設計、学習と評価
・正規分布、標準偏差、分散
・相関係数、重回帰分析、ロジスティック回帰
・決定木、サポートベクトルマシン、ランダムフォレスト
.・ディープラーニング

④機械学習の数学の知識がある

・線形代数、ベクトル、行列
・微分
・確率

参考記事:AIエンジニアが教えるゼロから機械学習の勉強法

必要な知識が4つもありますので、大変かと思われたかもしれません。しかし、ITエンジニアの方にとって、①と②はそこまでハードルは高くないと思われます。

③も良質な教材を選び、1ヶ月みっちり勉強すれば、基本は十分に習得できるでしょう。

きっと④が鬼門になります。特に高校数学に不安がある方にとって、数学の習得は厳しいものになります。機械学習の数学を習得したい場合は、以下の本が非常におすすめです。

機械学習がどんな計算をしているのか、よく理解できる本です。内容も大変分かりやすく、高校数学に不安があっても大丈夫です。



機械学習のスキルを身に付けてAI業界に転職する方法

人工知能プロジェクト案件に、早期に参画することを狙います。

そこでまず目指すべきゴールは、pythonと機械学習ライブラリを使ってプログラミングが滞りなくできるところです。エンジニアの方にとって、pythonの習得は大きな問題にはならないでしょう。

そのため実装面の①と②のスキルを身に付けることで、AI案件の前処理担当やデータサイエンティストの元で手を動かす機械学習エンジニアとしてプロジェクトに参画できる可能性が高まります。

早期参画のためには、まずここを目指すべきです。

「機械学習の知識をしっかり身に付けてから機械学習の仕事をしたい」と思われる気持ちは分かりますが、そんなこと言っているとあっという間に定年を迎えてしまいます。まずはpythonと機械学習ライブラリの習得に全力を尽くしましょう。

機械学習の知識にしても、プログラミングを実践で開発しながら、いろいろ調べていった方がはるかに学習スピードは速いです。


そして当たり前の話ですが、あなたが今取り組んでいるAIや機械学習の勉強は、AIエンジニアとして仕事を得ることで実を結びます。そのため、ポジションの獲得も視野に入れて欲しいです。

おそらく、AI人材の採用を本格化するのが2018年後半からでしょう。大企業のPoCが一巡して必要なスキルセットを理解し、人材戦略に落とし込めるようになるのがそのあたりだからです。

今のうちに転職エージェントに相談しておけば、良いAI案件に関われる可能性があります。

なお、AIの活用案件は、やはりIT業界やウェブ業界に多いため、テクノロジー業界に特化した転職エージェントがおすすめです。
5
6


ディープラーニングなんて結局最小二乗法で誤差関数を最小化しているだけですし、機械学習も連立一次方程式を解いているだけです。そこまで壁が高いわけではありません。

システム開発も機械学習もできるAIエンジニアの市場価値がどこまで高まるか、今からとても楽しみです。