ちょっと話題の記事

【レポート】0の状態からたくさんのAWS認定エンジニアを得る方法 #reinvent #ENT210

2017.12.05

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

Classmethod CANADA オペレーションチーム 塩谷です。
re:Invent 2017のセッション「ENT210 - How to Get from Zero to Hundreds of AWS-Certified Engineers」に参加しました。
そちらのセッションレポートです。

画像

セッション概要

For many organizations, a perceived lack of cloud skills in their staff can limit their move to the cloud. Proper training of your engineers and developers can speed the pace of adoption, cloud migration, and delivery of business benefits by effectively operating the AWS Cloud. In this session, we discuss field-proven, prescriptive steps for reskilling and scaling your technical teams so that you can use the AWS Cloud securely, efficiently, and effectively.

セッション資料

レポート

オンプレミス環境をクラウドに移行するときの、技術の話・・・というより中の人(エンジニアについて)のお話になります。

システムをクラウドに移行したいわけですが、それを誰がやるのか?
2つの選択があります。

・New Hire(新しい人を雇う)
・Train existing(エンジニアのスキルアップ)

新しく人を雇うのにはそれなりの時間が必要です。
募集をかけてハイヤリングして、トレーニングをして一人前になるまでに時間がかかります。
そのため、現在使用されているシステムに関わっているエンジニアのスキルアップをした方が効率が良いです。
現在働いているエンジニアをトレーニングすればハイヤリングをするより時間も早いしコストも高くありません。

以下は、「Train existing」にフォーカスした内容となっています。
スピーカーの方の経験を元にお話されています。自分の意見も入れつつ、わたしなりにまとめてみました。

全体的にスケールするためのアプローチ(12のステップ)

Step1 Acceptance

画像

さあ、オンプレミスで稼働しているシステムをクラウドへ移行しましょう!
と言っても、すぐに出来るものではないです。

新しい何かが始まるときに、よしやるぞ!と前向きな人もいれば、少し否定的になる人もいるかと思います。
否定的な気持ちがある人は、その気持ちを持ちつつもチームが動けば始めざるを得ないわけですが、
どんどんストレスも溜まっていき、モチベーションも無くなっていきます。

否定的になる気持ち、わたしも少しだけわかります・・・。
モチベーションが無くなるまではいきませんが、わからないことが多いとストレスは溜まります。
ですが、続けていくうちに自分の中に知識がたまり、そうすると楽しくなっていきますね!
そうして得た自分の知識や経験を、他のメンバーとシェアすることも出来るようになります。

Step2 Training

画像

AWSをよく知るにはトレーニングコースを受けるのが良いです。
1日コースからあります。

Step3 Safe hands-on Time

画像

ハンズオンも大事です。
チームメンバーに勉強/経験/テストができるサンドボックス環境を用意しましょう。
(環境を用意する際に、適切な予算を決めることも大事です!)

Step4 Two-pizza team

画像

ピザの画像のみが出てきたときは、「???」でしたがお話を聞いて納得しました。

チームメンバーの規模のお話です。

2枚のピザを分けることができる人数がちょうど良いということです。
2枚のピザをチームメンバーで分けることができないなら、チームは大きすぎます。
つまり、8〜10人ですね。(このくらいの規模の方がコミュニケーションが取りやすい。)

・プロダクトマネージャー/エンジニアリングマネージャー
→技術的な部分を担当するリーダー
→EQの部分を担当するリーダー
・Infrastructure engineers ×2
・Security engineers ×2
・Operation engineers ×2
・Application Engineers ×2

Step5 Bring in experts

画像

世界中に何千という素晴らしいパートナーがいるため、エキスパートに協力してもらいましょう!

スピーカーの方が実際に行ったことは・・・
・パートナー会社のエンジニアに自社のチームにジョインしてもらった
・ペアプログラミングを実施してCloudformationを作成
・チームメンバーの不明点や質問は、ジョインしてもらったパートナー会社のエンジニアに助けてもらう

Step6 Make it real

画像

あるプロダクトを作成しなければいけないとします。
・そのプロダクトはビジネスにとって、とても重要なものだけどクリティカルなものではない
・クリティカルなものではないので、デッドラインは決まっていない

お客様よりプロダクトのデッドラインは指定されていませんが、いつまでに完成させるか目標は決めましょう。
12週間までに終わらせることができないと予想された場合、問題が発生して解決しない場合はリーダーに相談して
問題点を取り除くことが大切です。

Step7 Scale the learning by splitting teams

画像

ここで、チームを分けます。
メンバー全員がエキスパートである必要はなく、チームの中にエキスパートを入れます。

Step8 Certification

画像

AWS認定試験を取得することは本当に重要で、エンジニアの助けとなってくれます。

勉強方法は・・・
・Step2で出たAWSのトレーニングコース
・Cloud guru
・他のトレーニングサイト など

Step9 Scaling certification and associated leadership

画像

メンバーの資格取得率を10%にすることがキーです。

なぜ10%なのか?
・ レンセラー工科大学
「10%の人達の信念的なものは常に大多数に採用される」

Step10 Recognize and reward experties--loudly!

画像

メンバーが資格を取得したり、スキルアップをしたことがわかったらメンバーをしっかり評価しましょう!
メンバーが成長するほど、あなたのチームに経験や知識を蓄積することができます。

Step11 Take the challenge yourself

画像

チャレンジをすることが大事です。
みんながやるなら自分もやる!
チームを大きくするために、メンバー同士でそれぞれ違う学習方法、違うアイディアがあると効果的です。

Step12 Create unifying job family portfolio

画像

自分の組織(チーム)をどのようにすれば良いか?

ポートフォリオを作成しましょう!

おわりに

クラウドへ移行するときのスキル不足をどう補うべきか?の内容ではありますが、良いチームを作るために共通する点も多いと思います。
上記で記載されているステップを全て取り入れることは難しい場合もありますが、是非参考にしたいです。