スクリーンショット_2018-07-05_20

AI時代に生き残れるエンジニアの条件とは?

AI時代に生き残れるエンジニアの条件とは?
https://www.youtube.com/watch?v=cHaE5oFaVuI&t=179s

今日はですね、「AI時代に生き残れるエンジニアの条件」として、今僕の考えていることを簡潔にお話ししてみたいと思います。

ちなみにここでいう「生き残る」というのは、もちろん「食っていける」ということもそうなんですけども、「面白くて高単価な仕事に携わり続けることができる」という意味で「生き残る」という言葉を使っています。

まあエンジニアの場合ですね、つまらなくて単価の低い仕事で良いのであれば、何歳になってもそういう仕事はあると思うんですけども、そういう仕事に携わることが、エンジニアとして「生きている」と胸を張って言えるかと言うと、まあ僕はあんまりそうは思わないので、「面白くて稼げる仕事に携わり続けるために」ということを前提に話してみたいと思います。

ちなみに僕自身はですね、機械学習とかディープラーニングの専門家でも何でもないんですけども、機械学習の色々な書籍だったりオンラインコースだったりで色々と勉強していたり、あるいはここ1年くらいは機械学習系のサービスの開発に携わることが多かったりするという感じでして、まあそういう風にですね、ある程度勉強したり機械学習のシステム開発を経験してみれば誰でもわかることとしてはですね、AI の開発手順っていうのは

・何らかのデータを収集して
・前処理的なことを行って
・モデルを学習させて
・パラメータを更新して
・そのモデルがより良い予測を行えるようにしていく

という感じになるわけなんですが、この「モデル」というのはですね、少なくとも現時点では「非常に限られた範囲での特化した目的にしか使用することができない」んですね。

例えば「画像の中にどのような物体があるかを判定してラベル付けを行うモデル」と、「ユーザーの閲覧履歴等に基づいて商品をレコメンドするモデル」いうのは、全く別のモデルになるわけですね。

少なくとも現状の技術の延長線上では、一つのモデルがこういった二つの全く異なる問題に対して予測を行うということは基本的にできないわけです。

この「特化した狭い範囲の問題でしか役に立たない」というのは、AIに限らず他のテクノロジーも全て同様で、例えばここ最近のクラウドのテクノロジーの進化というのは本当に早いですけども、クラウドの代表格である AWS の一つ一つのサービスというのはそれ単体では基本的には何の役にも立たなくて、それらをうまく組み合わせて、連携させて、安定して稼働させることによって、初めてシステムとして役に立つものなんですね。

つまり、AI もそれ以外のテクノロジーも、ビジネスにおいて発生する「複雑で入り組んだ問題の解決」においてはそれ単体で役に立つということはまず無くて、それらを複数組み合わせて連携させることによって初めてバリューが出せるということになるわけなんですけども、その「最適な組み合わせ」を考えられたりあるいはそれらの「保守性」であったり「運用コスト」であったり、そういうことを考えることができるのは「現時点では人間しかいない」というわけですね。

で、もちろんそういった「複雑な問題解決に必要なAIやテクノロジーの組み合わせを学習して予測できる AI」というですね、そういう「AIの親分」みたいなものが登場する可能性もなくはないと思うんですけども、まあAIというのは当然学習データが必要になるわけで、そうなると「様々な種類のビジネスにおいて発生した問題」や、「それに対して行われた施策」とか、そして「それらの施策の結果」をデータ化して収集して学習データとして与える必要があるということになるわけなんですけども、そういったデータを収集すること自体が非常に難しいというか、企業規模も違えば、業績も違えば、施策も違いますし、期間も違いますし、そもそも成果として何を基準にするかという考え方も違ってきますし、そういうデータを親切に提供してくれる会社さんというのも滅多にないでしょうから、収集するのはまず不可能だと思うので、そうなると「学習データがない = 学習できない」ということになり、結果としてそういう「AIの親分」みたいなモデルというのは、今後も登場しないと考える方が理にかなっているかなと思います。

まあそういうふうに考えていくとですね、AI 時代に生き残るエンジニア像というのも大体見えてくると思うんですけども、「非常に限定された狭い範囲内での問題解決しかできない人」というのは、その人のスキルや経験というのはAIやテクノロジーに代替されてしまうので生き残れない、つまり「つまらなくて単価の安い仕事にしか携われなくなる」可能性が高いと思いますし、逆に、様々な新しいテクノロジーに迅速にキャッチアップして、それらの最適な組み合わせを発見してユーザーや顧客の抱えている複雑な課題の解決に関して高いバリューを提供できる人というのは、AIに限らず、テクノロジーがどのように進化していっても生き残れる人、つまり面白くて高単価の仕事に携わり続けることができる人ということになるのかなと思います。

なのでまあ一つの狭い技術の専門家というのはですね、生き残るという目的を達成し続けていく上ではちょっとリスクが高いというか、「私はこの言語しか使いません」とか「私はこのクラウドしか使いません」とか「私は iOS アプリしか作りません」というのは、賢明な選択とは言いづらいというか、逆に、それらの技術をどれも要素技術にしか過ぎないと考えて、必要十分なだけ身につけた上で、顧客やユーザーの問題解決の方に時間を使い、そして新しい代替技術が出てきたらサクッと乗り換えて行く。そういう人の方が生き残れる可能性は高いんじゃないかなと僕は思っています。

あとはですね、「どういう問題の解決を自分のバリューの主軸にしていくか」ということがあると思うんですけども、これに関しては割とはっきりしていて、ビジネス上の課題というのはですね、煎じ詰めてみれば基本的には「より少ないコストでより多く儲けたい」ということに集約されるわけなので、その「儲ける」部分、もしくは「コストを下げる」部分、それらに関わる普遍的な問題解決を自分のバリューと考えて、その提供できるバリューに常に磨きをかけていければ生き残っていける確率というのは上がっていくのかなと。

ちなみに僕の場合はですね、このうち特に「人的コストをいかに減らせるか」みたいなところに比較的フォーカスしてまして、効率化とかと自動化とかまあ例えばクラウドだとフルマネージド化とか、あるいは属人化の防止とかですね、そこら辺でバリューを提供している感じになります。

KENTA / 雑食系エンジニアTV
https://www.youtube.com/channel/UC_HLK-ksslL-Z_2wiIZDlMg

この記事が気に入ったらサポートをしてみませんか?