Skip to content

Instantly share code, notes, and snippets.

@lagenorhynque
Last active December 8, 2023 09:24
Show Gist options
  • Save lagenorhynque/59797a7e9c623fa34ac6efc0593ae138 to your computer and use it in GitHub Desktop.
Save lagenorhynque/59797a7e9c623fa34ac6efc0593ae138 to your computer and use it in GitHub Desktop.
Team Geek Revisited
#!/usr/bin/env bash
# npm install -g reveal-md
reveal-md team-geek-revisited.md --theme night --highlight-theme monokai-sublime -w $@

Team Geek Revisited


(defprofile lagénorhynque
  :id           @lagenorhynque
  :reading      "/laʒenɔʁɛ̃k/"
  :aliases      ["カマイルカ" "🐬"]
  :languages    [Java Clojure Haskell Python
                 日本語 English français русский]
  :interests    [programming language/linguistics
                 law/politics mathematics]
  :job-roles    [engineering-manager software-architect]
  :motto        "楽しく楽にクールにスマートに"

twitter icon


  1. 私と『Team Geek』

  2. 本編の概要紹介


私と『Team Geek』


『Team Geek ―Googleのギークたちはいかにしてチームを作るのか』

team geek book


  • 2013年7月にオライリー・ジャパンから発売された
    • 「HRTの原則」で有名な本

      • いわゆる「心理的安全性」と関係が深い
    • 当時🐬は新卒入社した会社で2年目

      • SIerの大規模開発プロジェクトで消耗していた時期に書店で見かけて初めて読んだ

      • ITエンジニアとして駆け出しでリーダーやマネージャーの経験もまだないものの、私が望むあり方に重なると強く共感した

    • 最近読み返していて、🐬の基本的な考え方に一致していると再認識した



本編の概要紹介

with 🐬の解釈/連想


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

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

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

  4. 有害な人に対処する

  5. 組織的操作の技法

  6. ユーザーも人間


ミッションステートメント

本書の目的は、プログラマがソフトウェア開発を効果的かつ効率的にするために、他人の理解・コミュニケーション・コラボレーションの能力を向上させることである。


  • プログラマの文脈での例を通して語られているが、あらゆる仕事にチーム/組織で取り組む上で重要な知恵がまとまっている

  • (エッセー形式の読み物が嫌いでない)あらゆる人に勧められるが、とりわけリーダーやマネージャーに読んでもらいたい

  • 自分の経験や取り巻く環境と関連付けて考えながら読むと得るものが多いはず


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

個人に求められるもの


  • 1.1 コードを隠して

  • 1.2 天才の神話

    • 人は個人としての「天才」(スター, 超人, 偉人, etc.)に注目し憧れやすい
      • しかし、偉大な仕事は個人ではなくチームによってなされてきた
      • チームと上手く関わったりリードしたりすることに優れていたからこそ成功があった

  • 1.3 隠したらダメになる

    • 人は(周囲からの批評を恐れて)作るものが立派に完成するまで隠したがることがある
      • しかし、仕上げてから欠陥に気づくよりも早期に共有してフィードバックを得たほうが良い結果に繋がりやすい
        • キーワード: フィードバックループ、バス係数
  • 1.4 チームがすべて


  • 1.5 三本柱
    • ソーシャルスキルの三本柱:
      • 謙虚(humility)
      • 尊敬(respect)
      • 信頼(trust)
    • これらを"HRT" (heart と同音)と呼ぼう
    • 人間関係の円滑化、健全な対話とコラボレーションの基盤に
    • 自分自身、チーム、協力者、組織、ユーザーへと影響の輪を広げよう

  • 1.6 実践 HR T

    • エゴをなくす
      • 謙虚に(自分本位に振る舞うのを避ける)
  • 1.7 批判の配分と対応を学ぶ

    • 建設的な批判と攻撃的な非難は異なる
      • 尊敬を前提とした助言
    • 自身の能力に謙虚になり、他人を信頼する
    • 人格とアウトプット(成果物/発言内容)を同一視しない

  • 1.7 批判の配分と対応を学ぶ (続き)

    • 早い段階で失敗・学習・反復する
    • 失敗に謙虚に学ぶ
      • e.g. ポストモーテム
    • 学習のための時間を残す
    • 忍耐を学ぶ
    • 影響を受けやすくする
      • cf. 君子は豹変す(?)
  • 1.8 次のステップ


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

チームに求められるもの


  • 2.1 文化とは何か
  • 2.2 なぜ気にかける必要があるのか?
  • 2.3 文化と人々
  • 2.4 成功する文化のコミュニケーションパターン
  • 2.5 ハイレベルの同期
  • 2.6 日常的な議論
  • 2.7 課題管理ツールを使う
  • 2.8 エンジニアリングとしてのコミュニケーション
  • 2.9 すべてはコードに通ず

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

リーダー(またはマネージャー)に求められるもの


  • 3.1 自然は真空を嫌う
  • 3.2 @Deprecatedマネージャー
  • 3.3 サーバントリーダー
  • 3.4 アンチパターン
  • 3.5 リーダーシップパターン
  • 3.6 人は植物
  • 3.7 内発的動機と外発的動機
  • 3.8 最後に

4. 有害な人に対処する

チーム文化の防衛/強化策


  • 4.1 「有害」の定義
  • 4.2 チームを強化する
  • 4.3 脅威を特定する
  • 4.4 有害な人を追い出す
  • 4.5 最後に

5. 組織的操作の技法

チームの外側の組織との関わり方


  • 5.1 善玉、悪玉、戦略漢
  • 5.2 理想:チームがうまく機能している会社
  • 5.3 現実:環境が成功の邪魔になっているとき
  • 5.5 プラン B:逃げる
  • 5.6 希望は残されている

6. ユーザーも人間

顧客との関わり方


  • 6.1 一般認識を管理する
  • 6.2 君のソフトウェアはどれだけ使いやすいだろうか?
  • 6.3 ユーザーとの関係を管理する
  • 6.4 ユーザーのことを忘れない

Further Reading


Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment