!slug 1170

!date 2013/09/26

!draft false

!! 現在の情報技術を取り巻く環境を広い視野で見て以下のようにまとめてみました。 ※今回は個別具体的な技術やサービスは触れません。それらを利用してユーザへ提供する方法、それらを追いかけて自分のものにする方法について書いていきます。 * イノベーションが加速している(イノベーションの間隔が短縮傾向) * 多分野に及ぶ融合的なイノベーションが起きつつある(起きている) * クラウドという大きなエコシ…

現在の情報技術を取り巻く環境を広い視野で見て以下のようにまとめてみました。

※今回は個別具体的な技術やサービスは触れません。それらを利用してユーザへ提供する方法、それらを追いかけて自分のものにする方法について書いていきます。

まず、何を以てイノベーションと捉えるかは人それぞれではありますが、クラウドサービスの増加やモバイル端末の普及、更にはビッグデータやオープンデータへの対応など、昨今のエンジニアがカバーすべき範囲が急速に拡がっています。

また、Google Glassに代表されるようなウェアラブルコンピュータや3Dプリンタなど、今後も様々な分野が融合したイノベーションが多数発生することが予想され、将来的に必要な守備範囲が多分野に及ぶことも容易に想像できます。

更に、これらのイノベーションにより形成されつつあるエコシステムの中で、様々なサービスやデバイスを組み合わせたソリューションをエンドユーザへ提供することはもちろん、何を利用し何を利用しないかの判断と自分のコアコンピタンスを見出すための情報収集と取捨選択を行わなくてはなりません。

この取捨選択をする上で必要になるのがインフラやアプリケーションなど各レイヤーに偏らないフルスタックな知識やスキルです。最近はクラウド任せだからと言ってインフラ系技術に疎いとCIやDevOpsの恩恵はもちろん、オープンIaaSやオープンPaaSから予測されるハイブリッドクラウドへの対応にも乗り遅れてしまいます。

また、近年のイノベーションはオープンソースな世界で起きています。そもそも、イノベーションを構成するオープンソースプロジェクトの成果物を検証する環境さえ自ら構築することができないようではスタートラインにも立てません。

更に、最近UX(ユーザエクスペリエンス)で声高に叫ばれている、アプリケーションのユーザ体験への対応も必要でしょう。裏を返せばアプリケーションがユーザ体験勝負にまで成熟したことであり、エンジニアは単に機能を実装するだけでなく常により良いユーザ体験が何か模索しなければいけません。

また、ユーザからビジネスに関するデータを全て吸い上げて様々な判断材料にする要求も増えています。そのために各クラウドサービスやオンプレミスに散らばったデータをかき集めて、分散処理にて短時間で大量なデータを処理して結果をUIへ迅速に提供しなければいけません。

そして、そこから導き出される判断にシステムは柔軟に対応することが求められます。それは往々にして短期間での改善・増設を求められ、確実に成果を得られる品質でなければいけません(ここで言う品質とは単に不具合の少ないシステムという意味だけではなく、システムの目的をどれだけ果たすことができるかのバロメータも含みます)

以上のように、いまを生きるエンジニアに求められる知識やスキルは加速度的に増えていて、具体的に業務として携わっていなくても「やらないといけないのでは?」という危機感を何となく感じている人も多いと思います。