デジタルビジネス時代、エンジニアとして「求められ続ける」ために必要なこと:特集:IoT、FinTech時代、「求められるエンジニア」になるためには(1)
IoT、FinTechトレンドに顕著なように、テクノロジの力で新たなサービス価値を生み出すITサービス競争が国内でも活発化している。これに伴い、既存のビジネスプロセスが変わり、業界構造の破壊すら引き起こされつつある。ITの力によってビジネスのルールが大きく変わりつつある中で、これからも「求められる企業」「求められるエンジニア」であり続けるためには、いったい何が必要なのだろうか?
企業の在り方、エンジニアの役割が大きく変わるデジタルビジネス時代
市場環境変化が速く、グローバルで企業競争が激化している近年、ニーズの変化に応える「スピード」が差別化の前提条件となっている。特にWeb、モバイルが浸透し、収益・ブランド向上を狙う主戦場が「ITサービス」に変わりつつある今、その傾向は一層顕著になっているといえるだろう。
重要なのは、これに伴い、サービスに一層の利便性、独自性が求められていることだ。例えばIoT、FinTechトレンドに顕著なように、「これまで存在しなかったサービス」「既存のサービスを組み合わせて新しい価値を創出したサービス」などが市場から評価され、実際に受け入れられている。それどころか、「スマホ1つで迎えに来て、料金も安いUber」のような“新たな価値”が、業界のビジネスプロセスを変え、既存のプレーヤーを脅かすことにつながっている。およそ全てのビジネスをITが支え、ITが重要な顧客接点となっている今、「テクノロジを使いこなす力」が、ビジネスのパフォーマンスを決定付ける大きな要因となっているのだ。
こうした中で、エンジニアの役割も変わりつつある。従来のように、「決められた通りに作る・運用する」といったスタンスではなく、自らビジネスゴールを見据え、積極的にゴールにコミットするスタンスが強く求められている。
というのも、ITサービス競争は「企画」と「スピード」が勝負。しかも競争が激しくニーズの変化が速い中では、何が正解か分からない。こうした中では、ウオーターフォール型のアプローチで「最初に要件を固める」ことは難しい。リリース後の細かな設定変更や機能追加にも、いちいち「数十万円単位のお金と1週間以上の時間」がかかるようでは、コスト面でもスピード面でも大いに不利となる。
従って、着実に勝てるサービスを作る上では、ビジネス部門と共にサービス企画を考え、いち早くリリースし、市場の反応を受けて迅速に改善する――すなわちトライ&エラーを高速で回すDevOpsのアプローチが不可欠となる。テクノロジの力がビジネスのルールをも変えてしまう“デジタルディスラプション”の波が高まりつつある中で、ビジネスの在り方、IT活用の在り方、そしてエンジニアの在り方が、大きく変わりつつあるのだ。
ITサービス競争に不可欠な3つの「仕組み」
こうした認識は国内でも広まりつつあり、IoT、FinTechに限らず、例えぱ「ファッションTech」「不動産Tech」といった具合に各業種でITサービス開発が活発化している。これに伴い、DevOpsの重要性があらためて認識され、内製化を検討する動きも高まりつつあるようだ。
ただ、「トライ&エラーを高速で繰り返し、ビジネス価値を創出するまでのリードタイムを短縮する」ためには、それなりの「仕組み」が不可欠となる。前述のように、ITサービスは「スピード」が差別化の条件。加えて、サービスは何が当たるか分からない。従って、最初から時間とコストを掛けて“作り込む”のではなく、スモールスタートして、様子を見ながらスピーディに改善/撤退できる必要がある。リリース後は、サービスに対する需要の波を予想することが難しい以上、トラフィックの増減にも耐え、安定的にサービスを運用できなければならない。
こうした“前提条件”をクリアする上では、サービスの開発・展開基盤としてクラウドが不可欠であることは当然として、大きく3つがポイントとなるとされている。
1つはデプロイパイプラインを仕組み化すること。サービスをいち早くローンチするためには、「本番環境にデプロイするまでの時間」を短縮しなければならない。しかし、アジャイル開発やCI(継続的インテグレーション)によって開発を高速化できても、開発環境と本番環境の構成の違いにより、本番環境へのデプロイには、複雑なプロセスを持つ人手作業が発生し、どうしても時間がかかってしまう。従って、デプロイのための人手作業を自動化する――つまりCD(継続的デリバリ)によって、開発成果物をクリック1つで本番環境に展開できるような「仕組み」が求められる。
この点で、コンテナ技術が注目されているのは周知の通りだ。CIではテストサーバへのアプリケーション導入とテストを自動化できる。ここで、例えばオープンソースのコンテナ仮想化ソフトウェア「Docker」のコンテナイメージを使えば、テストされた「確実に動作する環境」をイメージ化して、そのまま本番環境に展開できる。また、オープンソースのコンテナオーケストレーションフレームワーク「Kubernetes」などを使って、コンテナイメージの配信を自動化することも「スピード」を担保する上では重要なポイントとなるといわれている。
2つ目はアプリケーションのアーキテクチャをマイクロサービス化すること。ITサービスは、リリース後、ニーズの変化に迅速に対応していくことが求められる。従って、細かな機能変更・追加などが頻繁に発生するわけだが、従来のようなモノリシック(一枚岩)なアーキテクチャでは、変更に対する影響範囲が大きく、アップデート版を安全にリリースするまでに時間がかかってしまう。従って「単一の機能を持つ既存サービスを組み合わせて1つのサービスを作る」マイクロサービスのアプローチが不可欠となる。
3つ目はロックインの回避だ。ニーズの変化に応じてサービスを迅速に改善・発展させる上では、「パブリッククラウド上でスモールスタートして、需要が伸びたらオンプレミスに移して本格展開する」など、アプリケーションのポータビリティを担保する必要がある。そのためには、コンテナ技術などを使って「環境移行のためにアプリケーションの改修が必要となる」ような事態を避け、ベンダーや環境に縛られず「サービスのインフラを適材適所で選べる仕組み」が不可欠となる。
「サービスをスピーディに開発・リリース・改善する」と言葉で言うのは簡単だが、それを実行するためには、このようにさまざまな技術を使いこなして、開発・運用の在り方そのものを変えていく必要があるわけだ。
今エンジニアに求められる「クリエーター」としての役割
前述した“競争の前提条件”を考えれば、こうした「仕組み」を持っているか否かが勝負を分かつ大きなポイントになることは、明白といえるだろう。だが、最終的にビジネス価値を生み出すのは「仕組み」ではなく「人材」であることは言うまでもない。
市場が求めているのは「さらなる利便性」だ。「技術や仕組み」は手段にすぎず、主役はそれらを使いこなして価値を生み出すエンジニアに他ならない。現に多くの米国企業は人材獲得にも進んで投資している。デジタルトランスフォーメーションが本格化するに従い、国内でもエンジニアの価値があらためて見直されていくことは、間違いないといえるだろう。
だがこれは同時に、「決められたことしかしない、できない」エンジニアの価値が年々低下していくことも意味する。前述のように、今求められているのはビジネス部門と協働し、あらゆる技術を使いこなして共に価値を創出できる「クリエーター」としてのエンジニアだからだ。
特に、エンジニア人口の中心を占めるJavaエンジニアといえば、フレームワークはStruts 1、開発環境はEclipse、テストはJUnit、ビルドはAnt、CIはHudson(Jenkinsの前身)と使うツールはほぼ決まっていたと言っても過言ではない。しかし現在は、Struts1のサポート終了や、各種ツールの多様化、前述のような開発プロセスの自動化、インフラ運用の自動化、さらにはJava言語以外の習得など、テクノロジの進化に伴い、押さえるべき範囲が広がっている。
デジタル時代も「求められるエンジニア」であり続けるためには、こうしたあらゆる選択肢から目的に最適なテクノロジを選び、使いこなせるよう、自身のスキルやスタンスを、時代に合わせてモダナイズしていくことが求められる。いわば「決められたこと、言われたことをルールにのっとり確実にこなす」モード1のスタンスから、「自ら発想、実践する」モード2のスタンスに切り替えていく必要があるのだ。
参考リンク:日本の企業とエンジニアが「クラウドでコスト削減」に失敗し続ける本当の理由
では各業種で熾烈なITサービス競争が繰り広げられるデジタル時代に、「求められるエンジニア」であり続けるためには、具体的にはどのような考え方を持ち、どのようなスキルを身に付けていけばよいのだろうか?――本特集では国内のITサービス開発・運用をリードするキーパーソンにインタビュー。「エンジニアとして、デジタルトランスフォーメーションに対応するために自身をどうモダナイズしていくべきか」、具体的に掘り下げていく。ぜひ参考にしてほしい。
特集:IoT、FinTech時代、「求められるエンジニア」になるためには 〜デジタルトランスフォーメーションにどう対応するか〜
物理の世界とテクノロジを結び付け、新たな価値を創出する「デジタルトランスフォーメーション」が進む中で、ITサービス開発競争が国内外で激化している。これを受けて、今ビジネスの主役は、まさしくエンジニアとなりつつある。だが同時にこのことは、「スピード」を担保できない、「価値」を生み出せないエンジニアは活躍の場が縮小していくことも意味する。もはや従来型のスキル、スタンスだけでは対応できない時代が、すぐそこまで来ているのだ。ではIoT、FinTechにとどまらず、各業種でサービス開発競争が激化する中、「求められるエンジニア」であり続けるためにはいったい何が必要なのか? 本特集ではキーパーソンの声を通じて、「いま身につけるべきエンジニアのスキルセット」を明確化する。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- PaaS、Docker、OpenStack――すでにここまで実現できる“変化に強い”インフラの作り方
これまで開発側の視点で語られることが多かったDevOps。今回はレッドハット クラウドエバンジェリストの中井悦司氏にインタビュー。DevOpsに必要な考え方と仕組みについて、インフラ側の視点で話を聞いた。 - FinTechとは何か? エンジニア、金融業に、不可欠となる技術要件は何か?
「FinTech」が社会一般の注目を集めている。この一大トレンドの中、「決済」をはじめ、あらゆる金融サービスに利便性を求める人々の強いニーズが、今エンジニアたちの創造力を開花させようとしている。 - 『The DevOps 逆転だ!』著者に聞く、「DevOps」や自動化よりも大切なこと
前回は国内DevOpsトレンドをけん引してきたベンダーキーパーソンによる座談会により「DevOpsとは何をすることか」を明確化した。今回はそこでの話も基に、『The DevOps 逆転だ!』の著者の一人、ジョージ・スパッフォード(George Spafford)氏に話を聞いた。