概要
この記事は、私が『世界一流エンジニアの思考法』を読んで、私の理解をまとめたものです。
マイクロソフトのソフトエンジニアの著者がマイクロソフトで学んだ、一流エンジニアの思考法が述べられています。
第1章
- マイクロソフトのエンジニアはなぜ生産性が高いのか?
- コードやシステムの理解に時間をかけている
- コード修正で試行錯誤しない
- 原因の仮説を立ててから行動するので速い
- 理解に時間がかかるのは頭の良い人でも同じ
- 頭の中にメンタルモデルを作るとスピードが上がる
- メンタルモデルとは、考え方や行動の仕方の様式
- 一流エンジニアのメンタルモデルを参考にする
- まずシステム全体のイメージ図を作って理解する、分からなかったらすぐ人に聞く
- コードやシステムの理解に時間をかけている
第2章
- 『Be Lazy』(『より少ない時間で価値を最大化するという考え方』)を意識している
- やることを減らす、という考え方から来ている
- 具体例
- 優先順位をつける(=1つだけピックアップして、それ以外はやらない)
- 持ち帰りをやめて、その場で解決する
- 納期を絶対としない。価値を最大化することを考える
第3章
- コードリーディングを速くするには?
- レベル1『何も見ずに即座に実装できるもの』とレベル2『ググれば解決するもの』は違う。
- レベル1を増やすと、開発が速くなるだけでなくコードリーディングも速くなる
- なぜ一流エンジニアは記憶力が高いのか?
- 理解して、説明可能な状態にしているから
- ミーティングで頭の中だけで整理することが訓練になる
- 他人にどう説明するかを意識しながら人の話を聞くと良い
第4章
- 生産性の高いコミュニケーションのコツは?
- 補足情報のような余分な情報を付けずに最小限だけ聞く
- 相手(ドキュメントを読む人も含む)が欲しい情報は何かを意識する
- クイックコールを活用
第5章
- 生産性の高いチームにするには?
- サーバントリーダーシップ
- 子供扱いしない(あれもだめ、これもだめ、としない)
第7章
- 新しいことは、原理的にAIにはできない
- インテグレーション(システム結合やテスト)はAIには難しい
- 技術が身についたり実現したりするには時間がかかる (ChatpGPTで7年)