Team Geek

1章 天才プログラマの神話

  • ソフトウェア開発はチームスポーツである
  • 三本柱
    • 謙虚 Humility
      • 「謙虚」は自分の意見を言わずに黙れということではない
    • 尊敬 Respect
    • 信頼 Trust
  • コードレビュー
    • 相手が間違えているのではなく自分が理解できないだけ
  • 早い段階で失敗・学習・反復する
    • Google の社是
      • 失敗は選択肢の1つ
      • 過去に失敗したことな方らそれは革新的でないか、リスクをとっていない証拠である
    • 過ちから学ぶには失敗を文書化する
      • 学習した結果として何を学んだかと何を変更するか
  • 弱さを見せる、ときには「わからない」と言うことが長期的な立場の向上につながる
    • 答えをきみが持っている必要はない
    • 適切な答えを知るより、適切な人を知る方が価値がある

2章 素晴らしいチーム文化を作る

  • 誰かが新しくチームに参加した時は、チームリーダーから文化を教えれもらうのではなくチームメンバーから学ぶ
  • 建設的な批判はエンジニアリングチームの成長や発展に欠かせない
    • Healty Conflicts
  • ミッションステートメント
    • プロダクトが目指すことと目指さないこと

3章 船にはキャプテンが必要

  • サーバントリーダー
    • 執事や召使のようにチームに奉仕すること
    • 必要があればチームが進めるように穴を埋める、自らの手を汚す
  • アンチパターン
    • みんなの友達になる
      • 友人関係とチームをリードすることを混合してはいけない
    • 採用を妥協する
      • 「Aクラスの人はAクラスの人を採用したがるが、Bクラスの人はCクラスの人を採用したがる」という格言
        • 一流の人は、一流の仲間を増やして良い仕事をし、かつ自分を伸ばすことを重視するが、二流の人はライバルを作らないように自分より能力が下の人を採用したがる、という意味
  • リーダーシップパターン
    • 目標を明確にする
      • モチベーションと方向性を与える
    • 正直になる

5章 組織的操作の技法

  • 理想的なマネージャー
    • 自分の責任範囲を広げよう
    • リスクを取ろう

感想

  • 1章の HRT の文脈で「相手が間違えているのではなく自分が理解できないだけ」と言うのはとても納得できるものであった
  • 「謙虚」は自分の意見を言わずに黙れということではない、と言うの意識しておきたい。「自分の意見を言わない」と言うのは、チームに対して信頼がないと言うこと
    • もしかしたらチームをより良くする・前進させるかもしれないのに「言わないことが謙虚」ではない
    • そこは「2章 素晴らしいチーム文化を作る」の「建設的な批判はエンジニアリングチームの成長や発展に欠かせない」につながる
    • そして、心理的安全性の話になる