広く浅く、全体像のイメージを持つ

伊藤雅人:(スライドを示して)先ほども表示した、弊社の育成アプローチがこちらです。技術面のアプローチでは広く浅く、全体像のイメージを持つこと。組織面のアプローチでは、1人ではなく複数人(チーム)で取り組むことを大事にしています。このチームは既存の立場にとらわれず、既存のチームを横断するようなチームだと、より良くクラウドネイティブへのシフトが進んでいくと思います。それではそれぞれのポイントについて話していきます。

まずはポイントの1つ目です。広く浅く、全体像のイメージを持つことです。意識的にしろ無意識的にしろ、こう進めている方はいるのではないかと実は思っています。「広く浅く、全体像のイメージを持つ」とはどういうことでしょうか。今まではその技術のエキスパートを目指して、1つずつ確実に自分のものにしてきました。

ただし、クラウドネイティブ技術は1歩に時間をかけ過ぎると、例えば基礎的な使い方だけではなく、深堀りして応用方法の調査などをしてそこに時間がかかっていると、バージョンアップなどにより周囲の環境やそれまでの道程が変化して進めなくなってしまいます。また、SaaSはバージョンを指定できないことが多いので、進めないどころか後戻りする恐れもあります。それでは困りますよね。

(スライドを示して)ではそのためにどうするかです。今までのやり方、価値観を変えていきます。エンジニアの価値観として、技術の習得は深く掘り下げるイメージが強いですが、このイメージを広く浅く習得するイメージに変えていきます。

クラウドネイティブ開発の全体像を広く浅く体験することで、クラウドネイティブにシフトした世界観がどのようなものかをイメージが持てます。それにより何から手をつけていけば良いのか道筋がわかり、目指すべき姿もつかめてきます。言い換えると、今どこにいるのか、何をしているのか、何をしたらいいのかというクラウドネイティブの迷子の状況から脱出するためでもあります。

弊社のクラウドネイティブ開発の全体像です。Webアプリケーションを仮想マシン上で構築してからDockerComposeに移行しつつ、テスト自動化やCIを構築して、最終的にKubernetesに移行する流れを体験することでイメージを持ってもらいます。

(スライドを示して)補足になりますが、こうして弊社のクラウドネイティブ開発の全体像を並べてみると、1つずつ学ぶならどれも重い要素だと思います。ただ、狙いはあくまで広く浅く、まずは全体像のイメージを持つことです。どのようなツールやサービスがあって、それらを動かすには何が必要か。各yamlファイルやマニフェストがこの研修には載っていて、コピペでも進められます。

全体像のイメージを持ったあとは、もちろんある程度深堀りできるようにしてあるし、別途専門の研修も用意しています。以上から、まずは広く浅くクラウドネイティブ開発の全体像のイメージを持ちましょう。これがポイントの1つ目でした。

1人ではなく複数人(チーム)で取り組む

次にポイントの2つ目です。1人ではなく複数人(チーム)で取り組むことについて説明します。1人ではなく複数人(チーム)で取り組むとはどういうことか。例えば、自身の役割での価値を上げるために1人でストイックにがんばるのではなく、協力し合いながらチームで取り組まないとクラウドネイティブにシフトすることは難しいです。

なぜならクラウドネイティブの技術範囲は広く、それに比例して影響範囲や関わるエンジニアが増えるため、1人でどうこうできるものではないからです。もちろん1人でストイックにがんばるのも良いことです。ただ、スーパーエンジニアがいたとして、(その人が)大半を担ってクラウドネイティブにシフトしたとしても、その後が続かず、疲弊してしまうかもしれません。

そのため、自身のエンジニアとしての価値を高める、あるいは競争に勝つために、「自分が1人でがんばる」というイメージは捨てます。変えていきます。

どういうことかと言うと、1人ではなく複数人(チーム)取り組むことで、深掘りする余裕が生まれてきます。また、それをチーム内で互いに知識を共有することで「広く浅い」から「広く深い」知識に変わっていきます。ここでチームで取り組むことによって、広く深い知識に変わっていきます。

(スライドを示して)この知識の共有が大事で、この図のように、1人が吸収した知識や手を動かした経験をチームに横展開する。インプットとアウトプットを呼吸するように積み重ねていくことが大事です。

(スライドを示して)1人では、その担当領域すら変えることは難しいです。ただし、複数人で取り組み知識や経験を呼吸のように共有することで、技術の変化を組織の変化につなげられます。

左側の4本柱の図は先ほども見せましたが、各役割が縦割りで存在しています。先ほど述べたとおり、この状況では1人や一部ががんばったとしても、右の図のようにクラウドネイティブにシフトすることは困難でしょう。

そのためにチームで取り組みます。チームで共通の認識、共通の目的を持つことがクラウドネイティブへの推進力となります。また何度も言っていますが、各個人が得た知識と経験をチームに共有することで各役割の相互理解も深まり、より一層クラウドネイティブへのシフトが進みやすくなります。1人ではなくチームで取り組んでこそ、技術の変化を組織の変化へつなげられます。

クラウドネイティブエンジニア育成のアプローチに対するアンチパターン

次にアンチパターンについてです。(スライドを示して)今までに挙げたクラウドネイティブエンジニア育成のアプローチに対するアンチパターンがこちらです。全体像のイメージを持たずに1つの技術を深く掘り下げていると、何がどうつながるかわからず1歩に時間がかかってしまい、パフォーマンスを発揮する前に周囲の状況が変わる恐れがあります。そうすると、深掘りした知識などが活かせないかもしれません。

また、1人でがんばると最悪(の場合)ただの個人努力になってしまい、何も変わらずに終わってしまうかもしれません。もう、ただひたすら報われないですね。報われないです。このような状況は絶対に避けたいです。

2つのアプローチで、技術面の課題と組織面の課題を解決できる

それでは最後のまとめです。クラウドネイティブエンジニア育成のアプローチのまとめについて移ります。

(スライドを示して)ポイントの1つ目は「広く浅く、クラウドネイティブ全体のイメージを持つこと」です。それにより何から手を付けていくべきか、道筋がわかります。また、目指すべき姿も浮かんでくるかと思います。そのためにクラウドネイティブ技術の三角食べをして、広く浅く、それなりに触れる技術領域を広げていきましょう。

「がっつり触れる」ではなく「それなりに触れる」でいいんです。フワッとした言い方なので、実際にどこまで習得しないといけないのかはまた別問題です。大事なところは広く浅く、それなりに触れる技術領域を広げていきましょう。そうでなく1つを食べ尽くそうとしていると、その間にメニューが変わってしまうので注意が必要です。

ポイントの2つ目は「1人ではなく複数人(チーム)で取り組むこと」です。チームでカバーする範囲を広げていくと、その時点でのパフォーマンスが出せます。もちろん得た知識や経験はチームで共有してください。また、1人よりチームで取り組んだほうが早くパフォーマンスを出せるので、ビジネス的にも機会が増えていきます。

以上の2つが、クラウドネイティブエンジニアの育成について弊社が実践していることです。

弊社の育成アプローチ。広く浅く、全体像のイメージを持つこと。もう1つが、1人ではなく複数人で取り組むことです。

それにより、課題として挙げている、技術面の課題と組織面の課題が解決できるのではないかと考えています。

(スライドを示して)特に初めてクラウドネイティブに触る方、取り入れようと思った方は、この4つの課題にぶち当たるかと思います。とにかく技術の範囲が広い。そして、どこから手を付けたら良いのかがわからない状況になります。

また、これだけでもツールやサービスが多いので、比例して情報量が多いです。一つひとつ学んでいこうとしたら、サービスやツールの取得に時間がかかりますね。いつまで経ってもパフォーマンスを出すのが難しくなってしまいます。

だからこそもう1つの課題として、組織面の課題として1人ではなく複数人(チーム)で学ぶことが大事です。

2つの弊社の育成アプローチは、もちろんすべての組織に当てはまるとは考えていませんが、今話した課題やアプローチについて、有効な状況もあるのではないでしょうか。自身の組織に持ち帰って、周りと相談してみてください。まずはクラウドネイティブの全体像をイメージするところから始めてください。

カサレアルの取り組み

最後に弊社の取り組みを紹介して終わりにしたいと思います。(スライドを示して)こちらですね。セッション中、ところどころ話に挙げていましたが、クラウドネイティブ道場という研修を提供しています。全体像を知るクラウドネイティブの基礎の他、左上の緑のところに7つのテーマがあって、これらを深掘りしていくかたちで提供しています。

コンテナ、コンテナ間でのCI/CDや動的な環境でのメトリクス監視、Kubernetesの基本操作、IaCなどがあります。これらのテーマを選んで環境を構築して動かしていきます。

そして、やはり結果の共有ですね。チーム全員で何をしたか、同じ環境を作って動かしたり確認してみたりします。そうすることで複数のツール、サービスを連携させた結果、答えや目指すべき姿を捉えることができるかと思います。

もう1つは自己紹介で説明した、「テクマトリックスNEO」の紹介です。テクマトリックスNEOは、テンプレートを使ったクラウドネイティブ環境の構築サービスです。クラウドネイティブ導入の伴奏者として、初期教育から導入、運用まで幅広く支援をします。

本セッションは以上になります。もっと話を聞いてみたい方や相談したい方は、お気軽にお問い合わせください。本セッションを見ていただき、どうもありがとうございました。