2019/01/28

武器としてのソフトウェア

今後10年かけて、ソフトウェアエンジニアリングのエッセンスは日本の企業で普及し、各職種に溶け込んでいくと私も思う。今もどんどん進んでいる。

きっと表計算を使っていない会社はもはや存在しないだろうし、業務プロセスにソフトウェアが何も介在しない会社というのは大きい規模では存在しないだろう。しかしなぜか慣習によってソフトウェアの世界のスピードを取り入れられれず、中にいる社員は普段からテクノロジーに触れているというのに自分の会社はなかなか進まず、世の中から遅れているように感じる。自社がソフトウェアを作っているか否かに関係なく、ソフトウェアが世界を変えるスピードについていけてないギャップが襲いかかってくる。資本主義の世界の中で、世界先端のテクノロジーをつかうエンドユーザは自社の社員であり、会社のプロセスだけが残されていく。

これはもう2011年から話されていることで、2019年にこの記事を書いている私もどうなのかな、と書きながら思っている。世界から取り残されているのだ。

自分は今後10年のなかで、ソフトウェアエンジニアリングの仕事は専門化と一般化の二極化が進むと考えている。専門化はそのままで、クラウドコンピューティングのバックグラウンドを支えるためのネットワークやOS、あるいは仮想化技術といった領域の進化。そしてデータ基盤を構築し、モデリングし、ロジックを組むことのスペシャリスト。こういう領域は引き続き進化していく。一般化は技術が容易に扱えるようになり、低コストで実世界に応用するという範囲の広がりのことをさしている。例えば音声認識がブラウザから簡単にできるようになったり認証認可・データ保持・分析をする環境がすぐに立ち上がるようになったりする。「簡単にできることを知らない」人や企業に向けてそれを導入し、理解し、プロダクトや業務プロセスの中に取り入れてもらうという仕事はより広がりを見せていく。2011年のときよりもさらに、ソフトウェアは容易にできることを増やしてくれている。市場は素晴らしい。

先々週の次世代WebカンファレンスのAdセッション(動画)でyamazさんが話されていたように、広告の世界でもオペレーションというのはまだまだ課題がある。テクノロジードリブンに進んできたようにみえるであろうマーケティング + テクノロジーの世界においても、複数プラットフォームをまたいで多種多様なキャンペーンと広告枠を運用する上では業務プロセス改善とプロダクト生態系の進化の速さにギャップが有り、エージェンシーやプラットフォーマも人手で対応しなければいけないことも多い。そうした課題というのは今後他の業界でも違った形で顕在化するだろうし、今DXを進めなければといわれている業界であれば必ず将来同じ構造の問題に直面する。業務のデジタル化に生まれるデータは自社だけでなく複数サービスと連携し、そこではじめてWebプラットフォームで動くソフトウェアと競える環境になり、投資する合理性が生まれるからだ。

ソフトウェアエンジニアであるあなたが日々の手元足元の仕事を見渡したとき、果たして今の業務をどのように捉えられているだろうか。ただただ神エクセルをRDBに移すだけの仕事だと思うのか、業務プロセスごとリデザインして効率化し、かつ他のプロセスでも利用可能なサービスに発展的進化をさせると捉えるのか。そのスタート時点での見通しによっては、ソフトウェアが生み出せる最大価値は低いままになってしまう。

ソフトウェアエンジニアリングの武器は、抽象である。抽象化ができるから、ソフトウェアは実世界をつなぎ、具体に新しい面を見出し、問題として設定し、解くことができる。様々な業種でソフトウェアエンジニアリングの力が活きるというのはつまり、ソフトウェアとして解ける問題に現状を落とし込むことでレバレッジが効く状況を仮定しているということに他ならない。一介のソフトウェアエンジニアとしては、組織の投資戦略が果たしてどのようにソフトウェアにかけようとしているのかを見極め、どのような費用対効果が見込めるか(資産となるか)を実行し得るようにするというのがまた次の10年を面白くしていくだろうと思っている。