「Training Site Reliability Engineers: What Your Organization Needs to Create a Learning Program」を読んでみた
はじめに
先日のSRE Gapsを視聴して、Googleが無料で公開しているSREに関するドキュメントがあることを知った。その中で「Training Site Reliability Engineers: What Your Organization Needs to Create a Learning Program」というドキュメントがあったので、読んだ。本ドキュメントで気になった部分だけ、感想を書いてます。
より詳細を見たい方は、以下参照してください。
Training Site Reliability Engineers: What Your Organization Needs to Create a Learning Programとは
GoogleのSRE教育チームがどのようにSREを教育していった方がいいのかを事細かに説明している。例えば、
などが説明されている。
SREトレーニング技術
以下、大まかに5つのレベルで説明されている。日本語訳は、主観的でイメージがわきやすいように翻訳してます。
- Sink or Swim: 一か八か
- Self-Study: 自己学習
- Buddy System: ペアプロやペアトラブルシューティング
- Ad Hoc Classes: 別チームとのディスカッション
- Systematic Training Program: 組織的なトレーニングプログラム
トレーニングをする労力が上に位置するほど低くなり、下に位置するほど高くなる。
Sink or Swim: 一か八か
これはチームに新しく入ってきたメンバー自身に対して、資料やトレーニングプログラムを持たずに物事を学んでもらう方法が当てはまると思う。最も労力が少ないが、ストレスがたまり、自信がつかない方法(Imposter syndrome)でもある。日本の企業だと、現場に入れた後、放置プレイで仕事してもらう方法に当てはまることができる(通称、OJT)。
Self-Study: 自己学習
メンバーに学んでもらいたい項目をチェックリストでまとめて、提供する方法。各項目の学習媒体としては、ドキュメント、ビデオ、技術演習などである。しかし、技術が古くなり、内容のメンテナンスする必要が出てくる。またメンテナンスを怠ると、メンバーに対して学習時間の無駄な浪費につながる。
Buddy System: ペアプロやペアトラブルシューティング
オンコールなどの実務に対して、経験者とメンバーでペアを組んで取り組む方法である。この際に、Self-Studyで使われた学習媒体とつけ合わせてすることで、より効率的な学習方法になると言われている。
Ad Hoc Classes: チーム単位によるディスカッション
指導者と小さなチームが参加したディスカッション方法である。この際に、ホワイトボードを使い、システム図などを描写しながら、ディスカッションをすることで、より効果的な学習に繋がる。新しいメンバーに既存のメンバーでさえ知らない最新の技術やトピックを学んでもらうことにより、全体的なチームの底上げにも繋がる。
Systematic Training Program: 組織的なトレーニングプログラム
モニタリング、インシデント対応、ポストモーテムの作成などの実務により近い形で学ぶトレーニング方法であり、最も労力がかかる。
所感
新メンバーにどうやって学んでもらうか悩んでいたことがあったが、個人としてBuddy Systemまで対応できると思えた。Ad Hoc ClassesやSystematic Training Programにおいて、組織的に動く必要があるので、マネージャークラスが考慮することだと思えた。しかし、トレーニングもエンジニアリングの必要不可欠な要素なので、今後のキャリアのために、頭の隅に入れておくと役に立つのかもしれない。