ソフトウェア業界の者です。勤続年数は、転職がありましたがトータルで業界 10 年といったところです。現在は体調を崩したため退職して無職です。

年齢は 39 歳で、以前は年収 450 万円ほどでした。その他の経験として大学の研究に従事していたこともあります。いずれにしても情報系の内容になります。

【 ソフトウェア業界が抱える問題点 】

  • 慢性的な人手不足
  • 時間不足
  • 要求 (仕様など) の急な変更
  • 要望される機能と納期の間に食い違いがある
  • 最新のソフト技術の進歩が速くで個人の勉強が追い付かない

どこの業界にもありますが、ITのスピードは速いので、これらの問題が同時多発的に起こってしまいます。

 

ソフトウェア業界はAIでどのように変化するのか?

ソフトウェア業界のため、AI そのものを設計・開発するという業務は出てくると思います。

しかし、そのためには AI について学ばなければなりません。

AI の開発には線形代数や確率統計の知識が必要とされます。

これらの知識の習得を業界全体で行うことは難しく、ソフト業界でも AI 技術者かそれ以外かといった二分化、もしくは細分化といった現象が加速するのではと思います。

AI 以外のソフト開発にはプログラムを特定の言語で記述することが求められます。

ですが実は AI の台頭以前から、プログラムを自動で (コンピュータが) 記述するという技術の研究・開発はされています。

例えば、実現したい機能をプログラムではなく、別の形 (例えば図など) で記述することで、その簡単な情報から実際に機能するプログラムを記述するという技術です。

AI の台頭によって、この技術の性能が高まる可能性もあります。

そうなると、これまでのプログラムに関する知識なしでも、簡単にソフトウェア (例えばある会社のニーズにマッチした会計ソフトなど) を作成できるようになると考えています。

つまり、これまでソフトウェア業界が担ってきた会計ソフトなどの仕事が少なくなるということが考えられます。

ソフトウェア業界のなかで人間に必要な業務とは?

一方、人手がどうしても必要とされる現場もあります。

B to B (業者が業者にモノを売るビジネス) の中で、工場に納入する製造装置を開発する会社で、その装置のソフトウェア担当業務などがそうです。

簡単ですが工場に新しい装置を納入する場合について紹介します。

装置のメーカーは、まず製品を作ってから、それをお客様の工場に搬入し、装置の設置、プログラムの動作確認、他の装置 (製造ラインの上流や下流の装置とか) との連携テスト、

そして工場の製造ラインを動かしての全体的なテストランなど、長い時間を工場近辺に出張して問題ないことを確認しなければいけません。

その間では、装置の使い方を工場の作業者に伝える作業者トレーニングなど、人を相手にした作業も多くあります。

ソフトと装置の機能について総合的にお客様に伝えるような業務は、AI に置き換えることが大変難しい領域になります。

ここまでで、とりあえず 3 つの細分化をしてみました。

ソフトウェア業界でAIにどんな業務が奪われる?

現在は退職中ですが、以前の職場では AI についての関心が徐々に高まっていたと思います。

そこで AI Expo という催しに出張参加する機会が得られました。

最近でも話題ですが、デジタルレイバーといった単純作業をこなす AI が様々なところで導入されつつあるようです。

単純作業の中では、これまでコンピュータが苦手としていた手書き文字 (領収書など) の認識も高精度で実現しています

それでも誤認識などの問題は起こるでしょうが、そもそも人間でも間違えることはあります。

おそらく、最初にデジタルレイバーを導入するときは、デジタルレイバーの作業結果を人間が目視でチェックするという業務が生まれるだろうと思います。

すなわち、多くの現場で早急な人員削減にはつながらないと思います。

しかし、最初は「なんだ AI と言ってもこの程度か」という認識をもっても、AI が学習を繰り返すことにより作業の正確さが向上するでしょう。

AI の正確さが向上すると、今度は人間の方に油断が生まれます。「大抵は正確に動作するのだから」とチェックが雑なものになりかねません。

そうなると、いざ AI が間違えたときに気付くことなく放置することにつながります。

そのミスが発覚した時、おそらくチェック人員も不要だと判断されて人員削減の方向に大きく動くと予想します。

これをソフトウェア業界に当てはめてみると、プログラムを自動生成することができたとしても、動作テストは念入りに行うと思います。

この動作テストは現在のソフト開発でも厳密に行うのが通例ですので、人間が油断するということは起こりにくいです。

ですが、テスト工程は長い時間を要しますし、それだけ人件費も含めてコストがかかります

そのうち、AI がテストまで担当するようになるのではと想像します。

そのテスター AI の導入にも時間がかかると思いますが、徐々に人員削減といった方向に向かうと思われます。

AIにより将来ソフトウェアの仕事が3つに細分化され減らされる

将来的に考えられる業界の細分化では3つあります。

  1. AI 技術者
  2. 会計ソフトなどの 1 点もののソフト開発者
  3. そして工場などで他の (上流や下流の) メーカーと連携するソフト開発者

 

といったように、少なくとも 3 種類の領域で明暗が分かれる思います。

AI 技術者はおそらく給料が上がるでしょうし、ニーズも増えますが、1 点もののソフト開発はニーズが減る可能性が高いです。

工場の装置などのソフト開発者はこれまで通りのニーズと給与水準を保つのではと考えます。

ソフトウェア業界で生き残るために必須のスキルとは?

2019 09 08 16h19 43 - ソフトウェア業界の仕事は今後AIに奪われてなくなるのか?業界10年の私の話・・

先の回答と同様に、最初はテスターと呼ばれるテストを行う業務が生き残ると思います。

テスターにも多くの細分化された業務がありますが、敏腕なテスターはプログラム経験をたくさん積んだ人が担当するものと聞いています。

つまり、仕様を読んで、ここにバグがあるのではということを経験から疑うことができる人が担当するようです。

一方、この敏腕テスターのスキルは、人間の作業経験で出てきたスキルの一環です。

プログラム作成者が AI となると、今度は人間特有の陥りやすいミスとは違った傾向のバグが出てくるのではと考えています。

そのため、まずは AI に触れるということが大事かと考えています。

AI は大量の学習によって様々なことを実行していきますが、その学習によって何を学んでいるかは不明です。

AI (ディープラーニング) は人間の脳を模した形になっていますので、何をどう学んだかはわかりにくいのです。人間の脳もそういうものだと認識しています。

誰でも学んだことを他の人に説明することはできますが、「脳のこれらのニューロンの結びつきが強くなった」などと表現できる人はいません。

AI の学習結果をデータで見ようと思っても、それは脳のニューロンを一個一個見るようなものです。

全体として機能するよう学習する仕組みなので、とても扱いにくい (学習結果の数値だけ見てもわかりにくい) ものでもあります。

そのため、最初は敏腕のテスターでも AI が作成したプログラムのテストに苦労するのではと予想します。

AI ならではの間違い易い傾向を見るように経験を積むことで、テスターとしての技能が評価されるようになる可能性を考えています。

また、現在でも通常のソフト業務では、作ったプログラムに対して後から機能の追加を要望されることが多いです。

これは AI で自動生成されたプログラムにも同じことが要求されるでしょう。

仕様追加と呼ばれる要望です。

AI が自動生成したプログラムに AI が後から追加して修正を加えることは考えにくいです。

おそらく追加した機能を含めて全体の仕様を図などで簡略的に記述し、もう一度 AI で一から作り直すようになるのではと思います。

しかし、これでは再びテストの工程が必要とされるでしょう。

つまり、テスターの仕事が多くなりすぎて、これも人件費が大変だという話になるでしょう。

そこで、AI が自動生成されたプログラムを、人間がわかりやすいように書き直すといった業務が過渡的に出てくると予想します。

最初のプログラムは AI に作ってもらっても、後に仕様追加や修正といった業務は人間が担当しようという方向に動くのではと予想しています。

実際は AI の作るプログラムがどのようなものになるかは、まだ全く予想がつきません。

しかし、一見わかりにくいプログラムでも読めるように、多くのプログラムを読むといったこと (実はソフト業界では基本の作業ですが) を継続して続けていくことが大切なことだと思います。

AIの暴走は無害だし、そこまで気にすることはない

なお、AI が人間の脳を模した作りであるというのは本当ですが、この表現から、いつか AI が暴走するのでは (悪事を働くのでは) という不安を煽るのでは、と少し不安になります。

私の個人的見解からすれば、AI は暴走しても無害になると予想しています。

赤ちゃんが何でも口に入れて苦いとか感じたり (ネガティブ報酬)、これは美味しいと感じたり (ポジティブ報酬) を繰り返して学習するのを模した形を AI の学習でも導入しています。でも AI の学習では、その報酬は全て数値です。高い数値が得られるように AI の各要素を微修正する (学習する) ようなプログラムが AI の学習プログラムです。

つまり、たとえ暴走しても AI は大きな数値を欲しがるだけだろうと思っています。おそらく、暴走し始めた初期段階で、AI は自分の学習プログラムを勝手に改造して、ただ自分に無条件に無限に近い最大の数値をご馳走するだけで終わるのではと思っています (あくまで個人的見解ですが)。

ただ、ネットの世界は怖いものですので、ちょっとした発言が誤解を招きかねないです。ここで記述した内容を他で紹介するような機会がもしあれば、用心深く行動されることをお勧めします。

 

ソフトウェア業界で将来性のあるプログラミング技術とは?

2019 09 08 16h19 31 - ソフトウェア業界の仕事は今後AIに奪われてなくなるのか?業界10年の私の話・・

ソフトウェア業界でも将来の見通しがつかないようなところが多くあります。

ソフトウェア方面に進んでも、AI 技術者になるにはスキルや知識を高める必要があります。その中には数学的な知識も含まれています。

数学的な知識が少なくても作業できるソフトウェア業務はとても多いですが、そういったものも AI に置き換わっていく可能性が高いと思っています。

ただ、他の AI に脅威を感じている業界よりは、多少 AI への置き換えの進みが遅いのではと思っています。また、実力をつけるということも、他の業界より容易な点があります。

ネットとコンピュータがあれば、多くのことを学ぶことができますし、必要なツールなども無料で提供されていることが多いです。

ネットには多くの有用な情報があり、学ぶだけの情報は十分です。

むしろ、情報量が多すぎて、どこから手を付ければよいのかわからないくらい大量の情報が溢れかえっています。

そのため、真っ先にネットで勉強しようとするよりも、まずは書籍を購入することをお勧めします。

AI 方面に進むにしろ、それ以外の (工場に搬入するような装置の) ソフト業界に進むにしろ、プログラミングの知識は必要になります。

プログラムを組むための考え方のようなものにも慣れておかなければ、業界での考え方についていけなくなると思われます。

まずはコンピュータを開いてみましょう。

そして書籍を購入するのが良いでしょう。例えば「AI 必要な知識 初心者」で検索などしてみると、初心者向けの書籍まで紹介してくれているサイトがあります。

特に Qiita というサイトは人気があります。

2019 09 08 16h29 23 - ソフトウェア業界の仕事は今後AIに奪われてなくなるのか?業界10年の私の話・・

プログラミング言語の種類は豊富で、有名なところでは C、C++、C#、Java、Javascript、Python、PHP などがあります。

それぞれ用途が違って、AI の勉強では Python という言語がよく言われますが、ネット上のサイトをプログラムする方では JavascriptPHP という言語が有名です。

何らかのハードウェア (ロボットとか) をコントロールするような言語としては C、C++ がよく使われているように思えます (処理速度が重視されるためと言われています)。

他には、ダウンロードしてコンピュータ上で動かすようなプログラムは C# や Java も多く使われるでしょう。

また数学 (特に線形代数) を勉強するときにもソフトウェアを使った方が理解が早くなると思います。

数値計算を得意とするソフトでは MATLAB (こちらは有料でとても高価) や、MATLAB ほどではないけど似たような機能を (無料で) 使える Octave というソフトがあります。

もちろん、ここに挙げた以外のものも多く利用されていますし、その言語の数だけ多くの紹介・学習サイトがあります。

最初は情報量に酔うほどのものがありますので、やっぱり書籍を購入することをお勧めします。道のりが長いのはどの業界も同じだと思います。

花形の職に就くのはやっぱり大変ですので、一度にすべてと考えずに、段階を追って、少しずつ小さめに刻んだ目標 (ありていに言うと低い目標) を立てて進んでいくことをお勧めします。

伸びる業界ではありますが、勉強をして将来に備えないと大変です。業界情報のアンテナを高くして頑張りましょう!!

この人の意見や考え方はどうでしょうか?感想待ってます!

おすすめの記事