技術/組織としてどうスケールするか at GitHub
会社をスケールさせていくために組織面,技術面で何を行ってきたか.以下簡単なまとめ
組織面
従業員をよりhappyにするために,面白い仕組みを導入している.ミーティングがない,オフィスに来なくても良い.やりとりはpull requestとcampfire.
他にも組織として強くなるために,個人に依存しすぎない(知識共有を促進する),internal talk(tech talkみたいなのかな?それとも普通の会話?)は将来の従業員のために全て記録する*1,など.
技術面
- 自動化可能なことを手作業でやり続けることによるコストは,手間だけではない.新規メンバーに学習コストが発生することになる.
- masterブランチは常にデプロイ可能な状態に保ち,1日に5~30回デプロイを行なっている.
- 意味のあるメトリクスをグラフ化しよう.全体でのレスポンスタイム平均がXXXms,というのは意味がない.
- リリース以降今までインフラがどう変遷してきたか.ナイーブな実装だとストレージを無駄遣いしていたので,net-shardというCoWっぽい形で節約できるように変えた.
最後の"Continually refine your process + workflow"は心に留めておきたい.