Googleで14年間働いて得た、さらに14の教訓
(addyo.substack.com)1. 最高のエンジニアは適切な問題を選ぶ
すべての仕事に最大限のエネルギーを注ぐことはできない。
2. 何を求めるべきかわからないなら、あなたはその会議の準備ができていない
許可、選択、ブロック解消(unblock)、情報共有(inform)——このどれかを選べないなら、その会議は時間の無駄になる。
3. 「やります」は計画ではない。「火曜日にやります」が計画だ。
具体的な日付を決めると推進力が生まれる。
4. 遅いコードは単なる症状で、本当の原因は遅い意思決定だ。
何かを決めるのに数時間ではなく数週間かかるなら、その理由を見直すべきだ。
5. 信頼性(Reliability)は製品の機能として扱え
製品レビューをせずに機能をリリースしないのと同じように、信頼性の議論なしにシステムをデプロイしてはならない。
6. チーム間のインターフェースが悪ければ、コミュニケーションもうまくいかない
曖昧な境界や不明確な契約(Contract)は、より多くの会議やSlackチャンネルを生み出す。誰が何を責任として持ち、互いにどう依存しているのかが明確であるべきだ。
7. 最高のエスカレーションには提案が添えられている。
問題を提起する人も、問題を解決する人も、どちらもイシューを把握している。しかし信頼と自律性を得るのは片方だけだ。
8. ヒーローを必要としないシステムを構築せよ
1人が継続的に会社やチームを救っているなら、それは栄光ではなく、崩れつつあることのサインだ。
9. 観測可能性(Observability)を機能の一部として捉えよ
「コードが正しく動作することを確認した」を仕事の完了と見なせ。
10. 小さなPRは親切さだ。特にそれがAIによって作られたものなら。
小さなPRは段階的に考えられるようにし、知識を少しずつ積み上げていける。
11. 新しいチームを追加するときに増えるのはノード(Node)だけではなく、エッジ(Edge)でもある
意図的に接続点を減らさなければ、新しいチームを追加してもアウトプットは変わらない。
12. マイグレーションは決して単なるマイグレーションではない
実際に完了するマイグレーションには、3つの共通点がある。継続的に関与するスポンサー(Sponsor)、本当にマイグレーションを主導するチーム、そして誰もが信頼する明確な終了日だ。この3つがすべて揃わなければ、マイグレーションは永遠に「ほぼ完了」のままになり、いつまでも2つのシステムを抱え続けることになる。
13. AIは下書きを簡単にし、センス(Taste)はますます希少になっている。
最も優れたものを選び抜けるエンジニアが、この時代のトップになるだろう。
14. 信頼はレイテンシ最適化だ
約束を守るたびに、ミスを正直に認めるたびに、他人の生活を楽にするたびに、あなたは預金をしているのだ。私は、技術力は平均的でも、皆から信頼されているがゆえに素晴らしい成果を上げるエンジニアたちを見てきた。
2件のコメント
原文を読んでみることをおすすめします。
洞察に満ちた表現や言葉が多く、経験をもとに考えさせられることが多くありました。
内容が長くて圧倒されはするのですが、本当に良い文章で、ここからさらに削るところも、逆に余計に付け足して削ぎ落とすところもないと感じるほどです。
5、9は知っていても見落としがちなもの
12、13、14は印象的なもの