生産性を高めるためのマイクロソフトのエンジニア(一流エンジニア)の思考法が述べられている。
本書の特徴は以下
・一流エンジニアが実践している方法であり、具体的なので効果的であり実践しやすい
・プログラマ・エンジニアに限らない考える際に共通的に利用できる思考方法が書かれている
コミュ二ケーション、記憶術、チームビルディング等の多岐に渡ることが書かれているので、本書は自分の生活に利用できる思考方法のヒントを得る使い方をしたら良いと思う。
特に有用だと感じた思考方法は以下
【小さなドキュメントをコードの前に書く】
・ドキュメントを書くことで自分の頭が整理され、考え漏れにも気づく
・コーディング前に思考した内容を整理しておくと、それをドキュメントとして活用できる → コーディング後にドキュメント作成が不要
※ブックレビューにも有効。読む前に本の目次を見て、レビューの構成を書いておけば、重点的に読む箇所が明確になり、メンタルモデルの叩き台を作ったうえで本を読み進められる。
【WIP(work in progress)=1 今手を付けているタスクを一つに限定】
・具体的には、会議で自分に関係ない話が続く時も一切ほかの作業をしない。 → 会議で問題になっていることをその場で解決するためのステップを進める(問題のあたりをつける、方針を考える)。
※全く別のことをするよりは会議中は関連のある事柄について考えるている方が効率が良いということだろう。
【質問時は情報量を減らす】
・短く質問して相手から質問があれば再説明する。
・具体例:アプリでエラー発生時に原因を質問する時
–本書の方法:このエラーメッセージが出てるけど何か知ってる?
–長い質問:エラー内容、自分が試行錯誤したこと、原因特定のポイント(落とし穴等)を全て質問
【一番重要な一つだけをピックアップ】
・本書の方法:複数項目の一項目だけを実施 ※全部はやらない
・従来の方法:優先順位を付けて、全部やろうとする。
【メンタルモデルによる理解で記憶アップ】
※メンタルモデルは脳内のイメージのことであり決まった形式はない。具体例は右記:アプリにおける、入力、出力、各モジュールの処理の流れ頭の中で絵として想像
・自作したコードでも細部を説明できないことがある。理解の浅さが原因と著者は考えた。
・メンタルモデルを使った理解のためには細部の理解が必要であり、少なくとも「説明可能か?」というセルフチェックを入れる。
【試行錯誤せずにメンタルモデルを使って仮説を立て証明する】
仮説を立ててから手を動かすから、無駄な試行が減りタイムロスも減る。
仮説を立て切る根気、試行して何かにしらの結果を早く出したい欲勝つことに実践の難しさがありそう。

コメント