積極的後進

後ろ向きに全力ダッシュ

Team Geekを読んだ

以前から気になっていた Team Geek を読んだ。

感想

書籍の発行から10年近く経っており触れられる技術は当時感がある ( subversion とか ) が、本題は現代でも全く色褪せない内容で読み応えがあった。エンジニアチームの一員として自分自身がどうしていくべきかが書かれており、ルーキーからベテランまで幅広い層がハッとする内容になっている。内容自体はごく当たり前のことだが、だからこそそれが出来ていない、という気づきを得る人も多いと思う。定期的に読み返すと良さそう。最高ではなくて最善のリーダーを目指す、というどこかで聞いたワードが頭をよぎった。 とても良著だが、個人的には kindle で手に入らない点だけが難点。

抜粋

  • エンジニアチームで成功するためには、自分が「謙虚・尊敬・信頼」の原則に基づいて行動できている必要がある
    • この3つを指して HRT という
  • ソフトウェア開発はチームスポーツ
  • 自分が一番重要な人物であるかのように振る舞う人と一緒に仕事をしたくない
  • 過去に失敗したことが無いのであれば、革新的でないか、リスクを取っていないか
  • 文化は育つことで初めてチームはバリューを生み出すことが出来、文化が貧弱だと新参者などの外来菌に打ち負かされる
  • 文化は最初期からいる人が作る。 単体テストドキュメンテーション、コードレビュー、チームランチ、飲み会、etc…
  • 文化が弱い場合、強烈な個性を持つ新参者が来ると彼の文化が根付いてしまう。それが良いものであればよいが、おそらくそうではない
  • チームリーダーが文化を作る、というのは勘違いでチームメンバーが文化を育てる
  • 文化に一致している人を迎え入れたい、素直に面接で聞くのも一つの手段
  • 優秀なエンジニアは自分でバスを運転したい。そのため合意ベースのコミュニケーションやマネジメントでなければならない
  • コミュニケーションの原則は同期ではなく非同期。出来るだけ多くの人がドキュメントなどから情報を拾い切れることが重要。
  • 地理的障害があるチームでも合意ベースを忘れない工夫があれば大丈夫、ただしフェイストゥーフェイスの帯域を過小評価してはいけない
  • チームを子供扱いしてはならない、HRTを忘れずに
  • マネージャーはどうやって仕事を終わらせるか考える、リーダーは何が出来るかを考える ( How はメンバーに任せる
  • チームリーダーは技術的側面だけでなく人間的側面も担当する
  • チームの幸せと生産性を高めることがマネジメントの仕事の指標、リーダーはエンジニアとは違ったものを作っていることを忘れるな
  • サーバントリーダーの最大の使命は、HRTの空気や文化を作り出しチームに浸透させること
  • 自らの手を汚すのがサーバントリーダー
  • どうやって成長させるか。足を痛めた人のリハビリのように、一時的なマイクロマネジメントが必要になる。その際に、HRT ( 特に尊敬 ) が前提にあることを忘れてはいけない。
  • 期限 ( 2 ~ 3 ヶ月 )を決めて達成したい目標を決めて、少しずつ大きくしていく。毎週会って進捗を確認する。マイルストーンには明確な期待を設定し、成功か失敗かを判断する。
  • チームを子供や囚人のように扱えば、チームに信頼していないことが伝わる。マイクロマネジメントしたり、能力をけなしたり、仕事の責任を与えなかったり。これらが必要なシーンが出てくるということは、そもそも採用に失敗している。
  • チームリーダーにとって個人のエゴは特に禁物。リーダーの役目はチームの合意形成。エゴを無くすにはまずチームメンバーを信頼すること。質問を歓迎すること。
  • リーダーは何でも把握していて全てに正しく回答できる必要があると思いがちだが間違い。逆に信頼を失ってしまう。翻って、その仕事についてリーダーより詳しいメンバーがいる状態が健全。
  • ミスをしたときに謝ること。失敗したときに謝罪できるリーダーは尊敬される。何も言わなくてもいずれチームメンバーにミスは露見する。
  • あらゆることに楽観的である必要はないが、懐疑的な言葉は慎んだ方が良い
  • チームをリードするときは、自分の考えを伝えて平静を保つこと。メンバーは意図しようとしまいとリーダーの反応や行動をみているから。
  • リーダーならば問題解決モードに突入するのではなく、エンジニアが彼自身の手で問題解決をすることを手伝うこと 、エンジニア自身の答えを見つけることを手助けすること。そうすることで当事者意識や責任を養うことが出来る。
  • リーダーは障害を直接取り除くのではなく、適切な人を知っていることの方が価値がある
  • チームに変化を引き起こす方法の一つに、安心感を与えてリスクをとれるようにする方法がある。賢く失敗するためにも、失敗しても良いことをチームに知らせれば良い。断じて、みんなの前で個人を批判してはならない。
  • リーダーにとって難しい状況は、自分ならすぐ解決できる問題に若手が時間をかけている状況。自力で学ばせることが重要という前提の上で最も大切なことは、新人がどれだけの支援を必要としているかを適切に読み取る能力。
  • リーダーにとってチームの目標を明示することは大事だけども実践されていないテクニックの一つ。同じ方向にトラックを引っ張っているか?
  • 褒めのサンドイッチでは、本当に伝えるべきフィードバックが伝わらない可能性がある。メッセージが正しく伝わっているか、相手を防御的にする伝え方をしていないか。オブラートに包まず、それでいて失礼のないように。
  • チームを長期的にわたって生産的な状態に保つには、チームの幸福を測る。1on1 の後に「何か必要なものはあるか?」と質問するのが良い。
  • オフィスの外にあるチームの幸せにも目を向ける。プライバシーの詮索ではなく、プライベートの状況も勘案する。誰もが考えている長期的な目標を明確化すること。
  • 委譲せよ、ただし手は汚せ。たとえ自分がやった方が早くてもチームメンバーに仕事を任せることが、リーダーが正気を保つ唯一の方法。あとは、誰もやらないような仕事を引き受けること。
  • 新しいことに挑戦したがるメンバーがいるとした時、やり直しができることなら OK を出してしまう。優秀なリーダーは、取り返しがつくかどうかの判断に優れている。