エンジニアの知的生産術 全階層目次
エンジニアの知的生産術 著者公式ページ
2018-07-26
目次全体は分量が多いのでダイジェスト版を エンジニアの知的生産術 目次ダイジェスト に置いています。
2022-02-13
英訳版をScrapbox上で作成する過程で「見出しに一意な番号を振ろう」と考えました。理由:
紙の書籍ではなくデジタルな形だと、ページ番号で参照するのはやりにくい
見出しをタイトルにするのが自然だが「まとめ」などの複数回出現する見出しが存在する
これが便利だったのでこの日本語版の目次も同様にしました
Scrapbox上で言及がある時には青リンクになります
書籍版に含まれてない加筆記事は追加コンテンツとして目次の中に置くことにしました
(0) はじめに
(0.1) この本の目的
(0.1.1) 知的生産とは何か
(0.1.2) この本を読むメリット
(0.2) プログラミングはどうやって学ぶか
(0.2.1) まずは具体的に情報収集する
(0.2.2) 抽象化してモデルを作る
(0.2.3) 実践して検証する
(0.3) この本の流れ
(0.4) 謝辞
第1章:(1) 新しいことを学ぶには 1
(1.1) 学びのサイクル 2
(1.1.1) 情報収集 3
(1.1.2) モデル化・抽象化 3
(1.1.3) 実践・検証 5
(1.2) サイクルを回す原動力:やる気 7
(1.2.1) 生徒としての学びと大学からの学びの違い 7
(1.2.1.1) 教科書が与えられる 7
(1.2.1.2) 学ぶ時間はどれくらいあるか? 8
(1.2.1.3) 学ぶお金は誰が出すのか? 9
(1.2.1.4) 逆風 9
(1.2.2) やる気を維持するには? 10
(1.2.2.1) ゴールは明確に 10
(1.2.2.2) チュートリアルはゴールを近くする 10
(Column) SMART criteria 11
(1.2.3) 大学に入りなおすべき? 12
(1.2.3.1) もっと気軽な方法 12
(1.2.4) 良い参考書を見つけるコツ 13
(1.2.5) 紙の参考書を選ぶコツ 14
(1.2.5.1) 大学の講義の参考図書に選定されている 14
(1.2.5.2) 正誤表が充実している 14
(1.2.5.3) 改訂されている・ロングセラーである 15
(1.3) 情報収集の3つの方法 15
(1.3.1) 知りたいところから 16
(1.3.1.1) 遅延評価的勉強法 16
(1.3.1.2) 「そんなの必要ないよ」YAGNI原則 17
(1.3.1.3) Matzのソースコードの読み方 18
(1.3.2) 知りたいところから学ぶための前提条件 18
(1.3.2.1) 目標が明確化されている 18
(1.3.2.2) 目標が達成可能である 19
(1.3.2.3) 大まかに全体像を把握している 19
(1.3.3) 大雑把に 20
コラム: 見つける力は10年後も必要か? 20
(1.3.3.1) 1,000ページ以上ある資料も、目次はたった6ページ 21
(1.3.3.2) ソースコードを段階的に読む 21
(1.3.3.3) ドキュメントの大まかな構造 22
(1.3.3.4) 英語の論文の大まかな構造 23
(1.3.3.4) 民法の地図 23
コラム: (Column) 民法マップの抜粋 24
(1.3.4) 片っ端から 25
(1.3.4.1) 写経というテクニック 25
(1.3.4.2) 数学 26
(1.3.4.3) 時間を区切ろう 27
(1.3.4.4) 写経は補助輪 27
(1.3.4.5) 再び写経を必要とするとき 28
(1.4) 抽象とは何か 29
(1.4.1) 抽象・abstract 30
(1.4.2) モデル・模型 31
(1.4.3) モジュール 32
(1.4.3.1) 相互作用を制限する 32
(1.4.3.2) 重要でない部分を隠す=重要な部分を抜き出す 33
(1.4.4) モデル・ビュー・コントローラ 33
(1.4.5) パターンの発見 34
(1.4.6) デザインパターン 35
(Column) パターンに名前を付けること 36
(1.4.7) なぜ抽象化が必要か? 37
(1.4.7.1) パターンの発見による一般化 38
(1.5) どうやって抽象化するか 39
(1.5.1) 比較して学ぶ 39
(1.5.1.1) 「同じ」と「違う」の間に注目 39
(1.5.1.2) たとえ話 40
(1.5.1.3) 違いに注目 41
(1.5.2) 歴史から学ぶ 42
(1.5.3) パターン本から学ぶ 43
(1.6) 検証 44
(1.6.1) 作って検証 45
(1.6.1.1) 解説も作ることの一種 46
(1.6.2) 試験で検証 46
(1.6.3) 検証の難しい分野 47
(1.7) まとめ 47
第2章:(2) やる気を出すには 49
(2.1) やる気が出ない人の65%はタスクを1つに絞れていない 50
(2.1.1) 絞るためにまず全体像を把握しよう 51
(2.1.2) Getting Things Done:まずすべて集める 51
(2.1.3) 全部集めて、そのあとで処理をする 52
(2.1.4) どうやってタスクを1つ選ぶのか 53
(2.1.4.1) 部屋の片付けと似ている 53
(2.1.4.2) まず基地を作る 54
(2.1.4.3) タスクが多すぎる 54
(2.2) 「優先順位付け」はそれ自体が難しいタスク 55
(2.2.1) ソートの計算量 55
(Column) 緊急性分解理論 55
(2.2.2) 1次元でないと大小比較ができない 56
(2.2.3) 不確定要素がある場合の大小関係は? 57
(2.2.3.1) 探索と利用のトレードオフ 59
(2.2.3.2) 不確かなときは楽観的に 59
(2.2.3.3) リスクと価値と優先順位 61
(2.2.4) 重要事項を優先する 62
(2.2.4.1) 「通知された」は「緊急」ではない 64
(2.2.4.2) 価値観はボトムアップに言語化する 64
(Column) 7つの習慣 65
(2.2.5) 優先順位を今決めようとしなくてよい 66
(2.3) 1つのタスクのやる気を出す 67
(2.3.1) タスクが大きすぎる 67
(2.3.1.1) 執筆という大きなタスク 67
(2.3.2) タイムボックス 68
(2.3.2.1) 集中力の限界 68
(2.3.2.2) ポモドーロテクニック 70
(2.3.2.3) 見積り能力を鍛える 70
(2.3.2.4) 分単位で見積もるタスクシュート時間術 71
(Column) PDCAサイクル 72
(2.3.2.5) 計測し、退け、まとめる 73
(2.4) まとめ 74
第3章:(3) 記憶を鍛えるには 75
(3.1) 記憶のしくみ 76
(3.1.1) 海馬 76
(3.1.2) 海馬を取り除かれた人 77
(3.1.3) Morrisの水迷路 77
(3.1.4) 記憶は1種類ではない 78
(3.2) 記憶と筋肉の共通点 79
(3.2.1) 信号を伝えるシナプス 80
(3.2.2) シナプスの長期増強 82
(3.2.3) まず消えやすい方法で作り、徐々に長持ちする方法に変える 83
(3.3) 繰り返し使うことによって強くなる 84
(Column) 海馬では時間が圧縮される 84
(3.4) アウトプットが記憶を鍛える 86
(3.4.1) テストは記憶の手段 86
(3.4.2) テストをしてからさらに学ぶ 87
(3.4.3) 自信はないが成績は高い 87
(3.4.4) 適応的ブースティング 88
(3.4.5) テストの高速サイクル 90
(3.5) 知識を長持ちさせる間隔反復法 91
(3.5.1) 忘れてから復習する 91
(3.5.2) ライトナーシステム 92
(3.5.3) 問題のやさしさ 93
(3.5.4) 知識を構造化する20のルール 94
(3.5.5) Anki 95
(3.5.6) 難易度の自動調節 96
(3.5.7) 教材は自分で作る 97
(Column) 知識を構造化する残り15のルール 98
(3.5.7.1) 作る過程で理解が深まる 99
(3.5.7.2) 個人的な情報を利用できる 99
(3.5.7.3) 著作権と私的使用のための複製 100
(3.6) まとめ 101
第4章:(4) 効率的に読むには 103
(4.1) 「読む」とは何か? 104
(4.1.1) 本を読むことの目的 104
(4.1.1.1) 娯楽はスコープ外 105
(4.1.1.2) 情報を得ることが目的か? 105
(4.1.1.3) 情報伝達の歴史 105
(4.1.1.4) 一次元の情報を脳内で組み立てる 106
(4.1.1.5) 本の内容だけが組み立てる材料ではない 107
(4.1.1.6) 「見つける」と「組み立てる」のグラデーション 107
(4.1.2) 「読む」の種類と速度 108
(4.2) あなたの普段の読む速度は? 108
(4.2.1) 読む速度のピラミッド 109
(4.2.2) ボトルネックはどこ? 110
(4.2.3) 速読の苦しみ 112
(4.2.3.1) 続けられるペースを把握する 113
(4.2.4) 読まない 113
(4.2.4.1) 読まずに知識を手に入れる 114
(4.3) 1ページ2秒以下の「見つける」読み方 115
(4.3.1) Whole Mind System 117
(4.3.1.1) ❶準備 117
(4.3.1.2) ❷プレビュー 117
(4.3.1.3) ❸フォトリーディング 117
(4.3.1.4) ❹質問を作る 118
(4.3.1.5) ❺熟成させる 118
(4.3.1.6) ❻答えを探す 118
(4.3.1.7) ❼マインドマップを作る 119
(4.3.1.8) ❽高速リーディング 119
(4.3.1.9) 5日間トレーニング 119
(4.3.2) フォーカス・リーディング 120
(4.3.2.1) 速度を計測しコントロールする 121
(4.3.3) 見出しなどへの注目 123
(Column) 時間軸方向の読み方 125
(4.4) 1ページ3分以上の「組み立てる」読み方 126
(4.4.1) 哲学書の読み方 126
(4.4.1.1) 開いている本・閉じている本 127
(4.4.1.2) 外部参照が必要な本 127
(4.4.1.3) 登山型の本とハイキング型の本 128
(4.4.2) 1冊に40時間かけて読む 128
(4.4.2.1) 棚を見る 129
(4.4.2.2) 読書ノートに書きながら読む 129
(4.4.2.3) わからないことを解消するために読む 130
(4.4.3) 数学書の読み方 130
(4.4.3.1) わかるの定義 132
(4.4.3.2) わかることは必要か? 132
(4.5) 読むというタスクの設計 133
(4.5.1) 理解は不確実タスク 133
(4.5.2) 読書は手段、目的は別 134
(4.5.2.1) 大雑把な地図の入手 134
(4.5.2.2) 結合を起こす 135
(4.5.3.3) 思考の道具を手に入れる 136
(4.5.3) 復習のための教材を作る 137
(4.5.3.1) レバレッジメモを作る 138
(4.5.3.2) Incremental Reading 139
(4.5.3.3) 人に教える 140
(4.6) まとめ 141
第5章:(5) 考えをまとめるには 143
(5.1) 情報が多すぎる? 少なすぎる? 144
(5.1.1) 書き出し法で情報量を確認 145
(5.1.1.1) 質を求めてはいけない 146
(5.1.1.2) 実践してみよう 146
(5.1.1.3) 100枚を目標にしよう 147
(5.1.1.4) 100枚目標のメリット 147
(5.1.1.5) 重複は気にしない 148
(5.2) 多すぎる情報をどうまとめるか 149
(5.2.1) 並べて一覧性を高くする 149
(Column) 書き出し法の実例 151
(5.2.2) 並べる過程で思い付いたらすぐ記録 152
(5.2.3) 関係のありそうなものを近くに移動 152
(Column) ふせんのサイズ 152
(5.2.3.1) KJ法の流れ 153
(5.2.3.1-1) Exploration before starting the KJ method (追加コンテンツ)
(5.2.3.1-2) Group organization
(5.2.3.1-3) Illustration and documentation
(5.2.3.1-4) Effect of changing format
(5.2.4) グループ編成には発想の転換が必要 155
「グループ編成には発想の転換が必要」加筆案 (追加コンテンツ)
(5.2.4.1) グループ編成は客観的ではない 155
(5.2.4.2) グループ編成は階層的分類ではない 156
(5.2.4.3) 既存の分類基準を使うデメリット 157
(Column) フレームワークによる効率化 158
(5.2.4.4) 事前に分類基準を作るデメリット 159
(5.2.4.5) 分類で負担を減らすメリット 159
(5.2.4.6) 家族的類似性 (追加コンテンツ)
(5.2.5) 関係とは何だろう 160
(5.2.5.1) 類似だけが関係ではない 160
(5.2.5.1-2) Not "related pieces" but "pieces likely to be related" (追加コンテンツ)
(5.2.5.2) NM法は対立関係に着目する 160
(5.2.5.2-2) Conflict is not only one (追加コンテンツ)
対立は一つだけではない
(5.2.5.3) 話題がつながる関係 161
(5.2.5.4) Group organization is similar to method extraction (追加コンテンツ)
(5.2.6) 束ねて表札を付け、圧縮していく 162
(5.2.6.1) 表札作りのメリット・デメリット 163
(5.2.6.2) 表札を作れるグループが良いグループ 163
(5.2.6.3) ふせんが膨大なときの表札作り 164
付箋が膨大な時の表札作り加筆案 (追加コンテンツ)
(5.2.6.4) 「考えがまとまらない」と「部屋が片付かない」は似ている 165
(Column) 表札とふせんの色 166
(Column) 知識の整合性 167
(5.2.7) 束ねたふせんをまた広げる 169
(5.2.8) 文章化してアウトプット 169
(5.3) 社会人向けチューニング 170
(5.3.1) ステップの省略 171
(5.3.2) 中断可能な設計 171
(5.3.3) A4書類の整理法 172
(5.4) 繰り返していくことが大事 173
(5.4.1) KJ法を繰り返す 174
(5.4.2) 繰り返しのトリガ 174
(5.4.3) インクリメンタルな改善 174
(5.4.4) 過去の出力を再度グループ編成 175
(5.4.5) 電子化 176
(5.5) まとめ 177
第6章:(6) アイデアを思い付くには 179
(6.1) 「アイデアを思い付く」はあいまいで大きなタスク 180
(6.1.1) アイデアを思い付く3つのフェーズ 180
(6.1.1.1) 耕すフェーズ 181
(6.1.1.2) 芽生えるフェーズ 181
(6.1.1.3) 育てるフェーズ 181
(6.1.2) 先人の発想法 181
(6.1.2.1) Youngのアイデアの作り方 182
(6.1.2.2) 川喜田二郎の発想法 183
(6.1.2.3) Otto Scharmerの変化のパターン 185
(6.1.2.4) 芽生えは管理できない 186
(6.2) まずは情報を収集する 187
(6.2.1) 自分の中の探検 187
(6.2.2) 言語化を促す方法 188
(6.2.2.1) 質問によるトリガ 189
(6.2.2.2) フレームワークのメリットとデメリット 189
(6.2.2.3) 創造は主観的 191
(6.2.3) 身体感覚 191
(6.2.3.1) 絵に描いてみる 193
(6.2.4) たとえ話・メタファ・アナロジー 194
(6.2.4.1) NM法とアナロジー 195
(6.2.4.2) Clean LanguageとSymbolic Modelling 197
(6.2.5) まだ言葉になっていないもの 200
(6.2.5.1) 暗黙知:解決に近付いている感覚 201
(Column) 二種類の暗黙知 202
(6.2.5.2) 違和感は重要な兆候 203
(6.2.5.3) Thinking At the Edge:まだ言葉にならないところ 204
(6.2.5.4) 辞書との照合 204
(6.2.5.5) 公共の言葉と私的な言葉 205
(6.2.5.6) KJ法も違和感に注目 206
(6.2.6) 言語化のまとめ 207
(6.3) 磨き上げる 208
(6.3.1) 最小限の実現可能な製品 208
(6.3.1.1) 誰が顧客かわからなければ、何が品質かもわからない 209
(6.3.1.2) 何を検証すべきかは目的によって異なる 210
(6.3.2) U曲線を登る 210
(6.3.3) 他人の視点が大事 212
(6.3.4) 誰からでも学ぶことができる 213
(6.3.5) タイムマシンを作れ 215
(Column) 知識の分布図 216
(6.3.6) 再び耕す 217
(Column) 書籍とは双方向のコミュニケーションができない 218
(6.4) まとめ 219
第7章:(7) 何を学ぶかを決めるには 221
(7.1) 何を学ぶのが正しいか? 222
(7.1.1) 数学の正しさ 222
(7.1.2) 科学と数学の正しさの違い 224
(7.1.3) 意思決定の正しさ 226
(7.1.3.1) 繰り返す科学実験と一回性の意思決定 226
(7.1.3.2) 事後的に決まる有用性 227
(7.1.3.3) 過去を振り返って点をつなぐ 227
(7.2) 自分経営戦略 228
(7.2.1) 学びたい対象を探す探索戦略 229
(Column) 選択肢の数が意思決定の質にもたらす影響 229
(7.2.1.1) 探索範囲を広くする 230
(7.2.2) 知識を利用して拡大再生産戦略 230
(7.2.3) 卓越を目指す差別化戦略 231
(7.2.3.1) 他人からの知識の獲得はコストが安い 232
(7.2.3.2) 他人から得た知識は価値が低い 232
(7.2.3.3) 卓越性の追求 234
(7.2.4) かけ合わせによる差別化戦略 235
(7.2.4.1) ふたこぶの知識 236
(7.2.4.2) 連続スペシャリスト 239
(7.2.4.3) 新入社員の戦略案 240
(7.2.5) 組織の境界をまたぐ知識の貿易商戦略 240
(7.3) 知識を創造する 243