cndjp_13_cloud_native_team

D1b28ca276bee52e56ba11785f70d2d6?s=47 makocchi
November 28, 2019

 cndjp_13_cloud_native_team

cndjp #13 の発表資料です
「Cloud native ぽいチーム作りを目指す」

D1b28ca276bee52e56ba11785f70d2d6?s=128

makocchi

November 28, 2019
Tweet

Transcript

  1. Presented by @makocchi 1 CloudNative Developers JP #13 Cloud Nativeチーム作りを目指す

    ぽい
  2. Presented by @makocchi cndjp #13 2 今日のお話はちょっと技術から離れて チーム作りのお話です なお、ほとんどが個人的に思っていることなので 参考程度に聞いてください

  3. Presented by @makocchi cndjp #13 3 Makoto Hasegawa Working at

    // AI Division, CyberAgent, Inc Currently // Develop and maintain private OpenStack cloud. Develop and maintain Kubernetes as a Service platform. CKA (Certified Kubernetes Administrator) CKA-1700-0150-0100 CKAD (Certified Kubernetes Application Developper) CKAD-1800-0005-0100 Job Title // Technical Lead Infrastructure Engineer WHO am I Twitter // @makocchi Facebook // makocchi0923 Hobby // Playing bass
  4. Presented by @makocchi cndjp #13 4 TODAY’S AGENDA Cloud Nativeなチームとは

    7つの行動指針 努力していること まとめ
  5. Presented by @makocchi cndjp #13 5 Cloud Nativeなチームとは

  6. Presented by @makocchi cndjp #13 ͘Β͏ͲͶ͍ͯ͌Ϳ 6 Cloud Native なチームとは

    まずは "Cloud Native" とは何なのかおさらいしましょう CNCF Cloud Native Definition v1.0 より一部抜粋 スケーラブルなアプリケーションを構築および実行するための能力 回復性、管理力、および可観測性のある疎結合システム
  7. Presented by @makocchi cndjp #13 ͘Β͏ͲͶ͍ͯ͌Ϳ 7 Cloud Native なチームとは

    まずは "Cloud Native" とは何なのかおさらいしましょう CNCF Cloud Native Definition v1.0 より一部抜粋 スケーラブルなアプリケーションを構築および実行するための能力 回復性、管理力、および可観測性のある疎結合システム この考え方はチーム作りにも活かせるのでは?と思ったわけです
  8. Presented by @makocchi cndjp #13 ͘Β͏ͲͶ͍ͯ͌Ϳ 8 Cloud Native なチームとは

    スケーラブル、回復性 チームにおいて人数を増やせばそれだけチームのパフォーマンスが上がる 誰が作業してもクオリティが変わらない 特定の人に作業が偏らず、誰かが忙しい時でも誰かが代わりに作業することができる 結果として誰かが抜けてもチームとしてもパフォーマンスが下がりにくい 人材は流動するもの「できるだけ人が抜けないようにするよりは抜けてもパフォーマンスが下が らないチーム作り」が必要 疎結合 チームという言葉と相反することになるが、ここでは各自が自立できている状態と捉えてみる 自立できている = 自らやるべきことを探し、実践することができている状態
  9. Presented by @makocchi cndjp #13 9 努力していること

  10. Presented by @makocchi cndjp #13 ͘Β͏ͲͶ͍ͯ͌Ϳ 10 努力していること (目指せ Cloud

    Native チーム) 自分の役割はチーム内の "テックリード" テックリードに求められることは何か? (自分なりに思っていること) チーム力の底上げ (先程のスケーラブル&疎結合なチームを作る!) 何かを選択しなかればならない時に迷った場合に、その背中をそっと押してあげる 技術の選定 チームメンバーが新しくチャレンジできる機会の創出 チームメンバーがエンジニアとしてのモチベーションを保つ為に、他社の事例や新しい技 術の情報などを定期的にチームにインプット 他社のエンジニアと交流する機会を作って刺激を与える
  11. Presented by @makocchi cndjp #13 ͘Β͏ͲͶ͍ͯ͌Ϳ 11 努力していること (目指せ Cloud

    Native チーム) 自分の役割はチーム内の "テックリード" テックリードに求められることは何か? (自分なりに思っていること) チーム力の底上げ (先程のスケーラブル&疎結合なチームを作る!) 何かを選択しなかればならない時に迷った場合に、その背中をそっと押してあげる 技術の選定 チームメンバーが新しくチャレンジできる機会の創出 チームメンバーがエンジニアとしてのモチベーションを保つ為に、他社の事例や新しい技 術の情報などを定期的にチームにインプット 他社のエンジニアと交流する機会を作って刺激を与える テックリードは大変だ
  12. Presented by @makocchi cndjp #13 ͘Β͏ͲͶ͍ͯ͌Ϳ 12 努力していること (目指せ Cloud

    Native チーム) 自分の役割はチーム内の "テックリード" テックリードに求められることは何か? (自分なりに思っていること) チーム力の底上げ (先程のスケーラブル&疎結合なチームを作る!) 何かを選択しなかればならない時に迷った場合に、その背中をそっと押してあげる 技術の選定 チームメンバーが新しくチャレンジできる機会の創出 チームメンバーがエンジニアとしてのモチベーションを保つ為に、他社の事例や新しい技 術の情報などを定期的にチームにインプット 他社のエンジニアと交流する機会を作って刺激を与える でもこれは自分で決めたことなので 突き進むしかない
  13. Presented by @makocchi cndjp #13 13 具体的な施策その1 定期的なチーム内勉強会の開催 目指せ Cloud

    Native チーム
  14. Presented by @makocchi cndjp #13 ͘Β͏ͲͶ͍ͯ͌Ϳ 14 努力していること (目指せ Cloud

    Native チーム) 定期的なチーム内勉強会の開催 フリーなテーマで毎週 or 隔週でチーム内で発表する時間を作る 初めは自ら発表して勉強会の文化を根付かせていく 毎回違うテーマで発表するのはなかなか大変・・・ でも自分の為にもなるので頑張ってやる Linux早押しクイズ 各種参加イベントの Recap Systemd 勉強会 Consul 入門 Prometheus 入門 などなど・・
  15. Presented by @makocchi cndjp #13 ͘Β͏ͲͶ͍ͯ͌Ϳ 15 努力していること (目指せ Cloud

    Native チーム) 定期的なチーム内勉強会の開催 慣れてきたらチーム内で発表者を募り、発表してもらうようにする 「なんか発表してよ」って頼んでも現実的には「発表できるのない」って言われることが ほとんどだと思われるけど、根気よくやっていく 時には一緒に発表テーマを考える 知識をアウトプットすることで整理され、より理解が深まる "発表すること" と "資料を作ること"に慣れてもらう そうすることで社外での登壇に対する心理的なハードルを下げてもらう 最終的には社外での登壇をどんどんやってもらいたい
  16. Presented by @makocchi cndjp #13 16 具体的な施策その2 人間カオスエンジニアリング 目指せ Cloud

    Native チーム
  17. Presented by @makocchi cndjp #13 ͘Β͏ͲͶ͍ͯ͌Ϳ 17 努力していること (目指せ Cloud

    Native チーム) 人間カオスエンジニアリング 質問に返事する時に 100% の答えを返さずに、ヒントのみ与えることで質問してきた人の 成長を促していく、なんてことはよくやられていることですが・・ "あえて" 困っている人を放置したり、質問に対する答えをすぐに返事しないようにする テックリードという立場上、頼られることが多いことになるが心を鬼にしてみる チームメンバーが困っている時に他のチームメンバーがサポートすることができる状態へ 導いていく
  18. Presented by @makocchi cndjp #13 ͘Β͏ͲͶ͍ͯ͌Ϳ 18 努力していること (目指せ Cloud

    Native チーム) 人間カオスエンジニアリング 質問に返事する時に 100% の答えを返さずに、ヒントのみ与えることで質問してきた人の 成長を促していく、なんてことはよくやられていることですが・・ "あえて" 困っている人を放置したり、質問に対する答えをすぐに返事しないようにする テックリードという立場上、頼られることが多いことになるが心を鬼にしてみる チームメンバーが困っている時に外のチームメンバーがサポートすることができる状態へ 導いていく やりすぎ注意! やりすぎると信頼されなくなるぞ 容量・用法を守って正しく放置してください Caution!!
  19. Presented by @makocchi cndjp #13 19 7つの行動指針

  20. Presented by @makocchi cndjp #13 ͘Β͏ͲͶ͍ͯ͌Ϳ 20 7つの行動指針 (目指せ Cloud

    Native チーム) 行動指針とは? いろいろな解釈があるけども、個人的には「エンジニアとしてこういうことを念頭に置い て行動していれば、いつかいい感じのエンジニアになれる!」というもの 企業として行動指針を出しているケースが多いけども、自分が考えたのは企業に拘らずに 個人的にどう成長していけばいいのか?を言葉にしたもの チームが成長する為の手助けになればいいな 企業の行動指針で有名なものとしては AWS 「Our Leadership Principles」 Google「Ten things we know to be true」 Microsoft 「10 Behaviors for Inclusion」
  21. Presented by @makocchi cndjp #13 ͘Β͏ͲͶ͍ͯ͌Ϳ 21 APPENDIX - AWS

    Our Leadership Principles • Customer Obsession • Ownership • Invent and Simplify • Are Right, A Lot • Learn and Be Curious • Hire and Develop The Best • Insist on the Highest Standards • Think Big • Bias for Action • Frugality • Earn Trust • Dive Deep • Have Backbone; Disagree and Commit • Deliver Results https://aws.amazon.com/jp/careers/culture/
  22. Presented by @makocchi cndjp #13 ͘Β͏ͲͶ͍ͯ͌Ϳ 22 APPENDIX - Ten

    things we know to be true • Focus on the user and all else will follow. • It’s best to do one thing really, really well. • Fast is better than slow. • Democracy on the web works. • You don’t need to be at your desk to need an answer. • You can make money without doing evil. • There’s always more information out there. • The need for information crosses all borders. • You can be serious without a suit. • Great just isn’t good enough. https://www.google.com/intl/ja/about/philosophy.html
  23. Presented by @makocchi cndjp #13 ͘Β͏ͲͶ͍ͯ͌Ϳ 23 APPENDIX - Microsoft

    10 Behaviors for Inclusion • Include and seek input from people across a wide variety of backgrounds • Listen carefully to the person speaking until they feel understood • Make a habit of asking questions • If you have a strong reaction to someone, ask yourself why • Address misunderstandings and resolve disagreements • Act to reduce stressful situations • Understand each person’s contribution • Examine your assumptions • Ensure all voices are heard • Be brave https://cloudblogs.microsoft.com/industry-blog/en-gb/cross-industry/2019/05/14/10-inclusive-behaviours/
  24. Presented by @makocchi cndjp #13 ͘Β͏ͲͶ͍ͯ͌Ϳ 24 7つの行動指針 (目指せ Cloud

    Native チーム) AWS とか Google とか Microsoft とか行動指針があってカッコいい! なんか自分も作ってみたい! ってなりますよね?
  25. Presented by @makocchi cndjp #13 25 それでは makocchi 的行動指針発表します

  26. Presented by @makocchi cndjp #13 26 7つの行動指針 #1 技術の循環 Circulation

    of Technologies
  27. Presented by @makocchi cndjp #13 27 7つの行動指針 (目指せ Cloud Native

    チーム) #1 技術の循環 過去に得た技術は未来で手にする技術の基本となる。 未来で新しい技術を手に入れる為に、過去に得た技術を活かしていく。 また、自らの技術を周りに循環させることでチームの力を上げる。 「技術は他の人に教えることができて初めて技術と言える」が自分のモットー。 Circulation of Technologies
  28. Presented by @makocchi cndjp #13 28 7つの行動指針 #2 広く深く Stay

    broad, Stay deep
  29. Presented by @makocchi cndjp #13 29 7つの行動指針 (目指せ Cloud Native

    チーム) #2 広く深く 知識は広く浅くではなく、狭く深くでもなく、広く深くを目指す。 エキスパート領域を増やす。 (Jobs の名言「Stay hungry, Stay foolish」を拝借しました。) Stay broad, Stay deep
  30. Presented by @makocchi cndjp #13 30 7つの行動指針 #3 期待を超える Do

    more than is expected
  31. Presented by @makocchi cndjp #13 31 7つの行動指針 (目指せ Cloud Native

    チーム) #3 期待を超える 期待されていることをあと一歩超えてみよう。 そうすることで信頼感がグッとあがり、次の機会につなげることができる。 Do more than is expected
  32. Presented by @makocchi cndjp #13 32 7つの行動指針 #4 常に信頼される Always

    gain the trust
  33. Presented by @makocchi cndjp #13 33 7つの行動指針 (目指せ Cloud Native

    チーム) #4 常に信頼される みんなから頼られる存在になる。 そうすることで自分の価値を上げていく。 Always gain the trust
  34. Presented by @makocchi cndjp #13 34 7つの行動指針 #5 自分で前に進む Go

    advance by oneself
  35. Presented by @makocchi cndjp #13 35 7つの行動指針 (目指せ Cloud Native

    チーム) #5 自分で前に進む やるべきことを自分で考え、自分で進む。 自分だけで進めていくというわけでは無い。 まわりをうまく巻き込んでリーダーシップを持って物事を進めていく。 Go advance by oneself
  36. Presented by @makocchi cndjp #13 36 7つの行動指針 #6 楽しむを忘れない No

    work without fun
  37. Presented by @makocchi cndjp #13 37 7つの行動指針 (目指せ Cloud Native

    チーム) #6 楽しむを忘れない たまには遊んだっていいじゃない。 息抜きに試してみたり、遊んでみたりした事が新しい発想のネタになることもある。 困難な状況も解決する楽しさの方に重点を置いて考えてみよう。 息抜きの一貫として、過去には普段聞いているミュージシャンについて、他人がどう思おうが関 係なくドヤる音楽LT大会を業務時間後にやったり。 No work without fun
  38. Presented by @makocchi cndjp #13 38 7つの行動指針 #7 他人を楽にする Make

    someone happy
  39. Presented by @makocchi cndjp #13 39 7つの行動指針 (目指せ Cloud Native

    チーム) #7 他人を楽にする 他の人が楽になる施策や仕組みを作ることで、チームの生産性を上げていく。 Make someone happy
  40. Presented by @makocchi cndjp #13 40 7つの行動指針 (目指せ Cloud Native

    チーム) 7つの行動指針のまとめ Circulation of Technologies Stay broad, Stay deep Do more than is expected Always gain the trust Go advance by oneself No work without fun Make someone happy 技術の循環 広く深く 期待を超える 常に信頼される 自分で前に進む 楽しむを忘れない 他人を楽にする
  41. Presented by @makocchi cndjp #13 41 7つの行動指針 (目指せ Cloud Native

    チーム) 補足 実はこの行動指針ですが、1 つ増やそうかなと思ってます 最近聞いた話でなるほどなーと思ったのが「正解より別解」という言葉 確かに正解を求めることは大切ですが、そこで終わりにせずに「実は他のもっといい正解が あるんじゃないか?」を考えることがとても大切なのではと思いました 「正解より別解 Find another better way」
  42. Presented by @makocchi cndjp #13 ͘Β͏ͲͶ͍ͯ͌Ϳ 42 7つの行動指針 (目指せ Cloud

    Native チーム) 行動指針を根付かせる為にはどうするべきか? まさに今現在悩んでいる問題 行動指針はあくまで行動指針に過ぎないので、強制力は無い 打ち合わせや雑談時にちょこちょこ行動指針を引用したりしてアピールしたりするのがいい のだろうか?(ちょっとウザいかも?) いっそのことポスターにして貼り付けるとか (恥ずかしい) 月次や年次で「この人のこんな行動が素晴らしかったで賞」みたいなのを作るか? いろいろ考え中
  43. Presented by @makocchi cndjp #13 43 みなさんの行動指針 是非教えてください!

  44. Presented by @makocchi cndjp #13 44 まとめ

  45. Presented by @makocchi cndjp #13 45 まとめ Cloud Nativeなチームとはスケーラブルで各メンバーが自立(疎結 合)し、メンバーお互いでサポートができる回復性のあるチーム

    Cloud Nativeなチームを目指して様々な施策にチャレンジしてい る • チーム内勉強会 • 人間カオスエンジニアリング • 7 つの行動指針 重要なのはテックリード自ら行動すること (偉そうなこと書いたけど、絶賛試行錯誤中)
  46. Presented by @makocchi 46 CloudNative Developers JP #13 Cloud Nativeチーム作りを目指す

    ぽい Thank You For Your kind Attention