🎃
[あと3章]How World-Class Engineers Think 世界一流エンジニアの思考法 読書ノート
目次
はじめに
第1章 世界一流エンジニアは何が違うのだろう?―生産性の高さの秘密
第2章 アメリカで見つけたマインドセット―日本にいるときには気づかなかったこと
第3章 脳に余裕を生む情報整理・記憶術―ガチで才能のある同僚たちの極意
第4章 コミュニケーションの極意―伝え方・聞き方・ディスカッション
第5章 生産性を高めるチームビルディング―「サーバントリーダーシップ」「自己組織型チーム」へ
第6章 仕事と人生の質を高める生活習慣術―「タイムボックス」制から身体づくりまで
第7章 AI時代をどう生き残るか?―変化に即応する力と脱「批判文化」のすすめ
各章
第1章 世界一流エンジニアは何が違うのだろう?―生産性の高さの秘密
- 試行錯誤は「悪」である
- 単に思いつきでいろいろなパターンを試して正解を探しているだけなので、とても時間がかかる上、新しい知識を何も学んでいない
- 手を動かす前に仮説を検証する
- 情報収集(データ集め)-> 仮説を立てる -> 仮説の検証(不十分なら戻って再度仮説を考える) -> 実行(手を動かす)
- 「理解に時間をかける」を実践する
- 「理解は時間がかかるもの」として、急がず、徹底的に理解する習慣をつけていく
- 複雑な技術をコントロールできている感覚を得る
- 「感覚」で判断せずファクトを積み重ねる
- 自分でログなどを検証して問題解決をするようにしないと「思い込み」の穴に落ちてしまう
- 小さなドキュメントをコードの前に書く
- 頭の中に「メンタルモデル」をつくる
- まずエキスパートに頼る
- 一つはのことで2時間以上ブロックされたなら、質問するなり相談するなりして、寝かせておいて、他の仕事をやっておく方が断然生産性が高い
- 既存システムがある場合は、あれこれ考えて調べる前に、まず「エキスパートに頼る」というのはベストプラクティスだと思う
- 「偉大な習慣を身につけたプログラム」になる
- どんな人でも、最初は難しく、理解には時間がかかる
- 自分が仕事をコントロールできているという感覚、何かわからないことがあっても「自分ならやれる」と思える感覚
- 「私は偉大なプログラムではなく、偉大な習慣を身につけたプログラマだ」
第2章 アメリカで見つけたマインドセット―日本にいるときには気づかなかったこと
- 「Be Lazy」
- リスクや間違いを快く受け入れる
- 間違いを厳しく批判したり懲罰したりしない
- 失敗から学ぶ態度
- Fail Fast(try -> fail -> feedback -> update -> try -> ... )
- 実験が推奨されている
- 全員に「現状維持」や「標準」を要求せず、臨機応変が推奨される
- 非難や恐怖感のない環境
- 「思考回路」を形づくる実践
- 「楽に達成できる」計画で仕事をする
- 「無理・断る」練習をする
- 他の文化の視点を学んでみる
- 「結果を出す」から「バリューを出す」へ
第3章 脳に余裕を生む情報整理・記憶術―ガチで才能のある同僚たちの極意
- コールドリーディングのコツは極力コードを読まないこと
- 他のデベロッパーのことを信頼して、実装はちゃんと動くものとする
- いかに脳みその負荷を減らすか
- コードを読むのは本当に必要なことは部分(クラスの役割やパターン、IFの理解)で十分
- 読むことを減らして、脳に余裕を生む
- 人が「自分にとって難しすぎる」と感じるものには2つのケースがある
- 自分の基礎的が学力が足りていないもの
- 自分が無理やりなやり方をしているケースだ
- 仕事の難易度別で考える
- Level1 何にもググらす即実装できる
- Level2 ググれば解決できる
- Level3 スパイクソリューションがあれば何とかなる
- Level4 自分では無理
- 「アウトカム」至上主義が上達を阻害する
- 一日4時間は自分だけの時間を確保する
- 集中する時間を意識的につくり出す必要がある
- There is no magic. It's ok to book your time
- 大前研一氏は何かを変えたいときは、「住むところ」「付き合う人」「時間配分」のいずれかを変えるべきで、それ以外は意味がないという考察をしていた
- 「書く」すすめ
- 人に説明可能な状態にもっていく訓練として最良の手段の一つは、ブログを書いてみることだ
- 「コーネルメソッド」
- 頭の中のみで整理する
- ミーティングの議事をその場で書かない。メモ程度ならOK
- 人の話を聞くときは、他の人に説明することを想定して、聞きながら頭の中で整理する
- 文章を書き出して考えるのではなく、頭の中で考えて、完全に整理し終えてから文章に書く
第4章 コミュニケーションの極意―伝え方・聞き方・ディスカッション
- 「情報量を減らす」大切さ
- 最初から全部説明せず、「情報量を減らす」コミュニケーションの仕方がすごく重要
- 「その場で吸収できることを最大化したい」というスタンスだ
- 複雑なものを一気に提供されてもその場で理解しきれないので、単純にリアルタイムに理解できる適切な情報量が好まれる
- 準備は効く―伝え方のコツ
- 情報を最小にし、「簡単なこと」をしっかり説明する。理解してもらうことに丁寧に時間をかける
- 相手が求めている情報への感度を研ぎ澄ます
- 日頃から人に伝えることを前提とした準備をしておくと、なにか聞かれたさいの工数削減
- コードを「読み物」として扱う
- ミスコミュニケーションのサイン
- クイックコールのすすめ
- 自分にその分野の「メンタルモデル」や「コンテキスト」がなければ、すぐさまエキスパートに聞いたほうがよい
- 最初にコンテキストをエキスパートから得られると、かなりショートカットして物事ができるようになる
- クィックコールされる側もよいことがある
- リプロ(ソフトウェアの問題の再現)に時間をかけたことで、自分が知らない分野を体験することができる
- 「自分が知っているか」に焦点を当てて、学びの機会にしている
- 気軽に聞ける空気の大切さ
- 「気軽に聞ける仕組み」は、「気軽に断れる空気」とセットになっている
- 助けになれない場合は、すぐに「ごめん」でクールに済ませたほうが、聞く方も聞かれる方も気が楽なのだ
- ディスカッションで鍛えられること
- 自分の知らないことを恥じない、知らないことは進んで聞くという精神。
- その場でフィードバックがあるディスカッションは、短い時間で相当高い知識と理解を深めることができる
- ディスカッションは「どちらが正しいか」はどうでもよく、「自分の考えを自分なりに深めるための行為」なので、初心者こそやったほうがいい
- 「間違えたら恥ずかしい」という感覚は一切捨てること
- どちらが正しいとか間違っているとか、意見に賛同する・しないではなく、「相手のことを理解して認める力」
- 意見が対立しても「否定しない」
- 相手のことを理解して、尊重する
- 感謝の気持ちを忘れない
- 楽しんだもの勝ち
- 切り出し方は「自分の意見では~」
Discussion