arveltのソフトウェア技術メモ

Arvelt's software technology memo

エンジニアの知的生産術読書メモ

読んでたけどメモほっぽりっぱなしだったので放出。エンジニアなら大なり小なりやっていることを、明確に言語化せしめたのは素晴らしいことだと思う。間違いなくエンジニアに限らない、誰でもためになる良書。なにかに取り組む前にさっと目を通して備えられるように、自分の中に積みあげておきたく感じる。

学び

  • やる気の維持
    • 小さいゴール
  • 良い参考書を選ぶコツ
    • 大学の講義の参考図書に選定されている
    • 正誤表が充実
    • 改定されたロングセラーである
  • 学習のサイクル
    • 情報収集→モデル化→検証
  • 情報収集
    • 知りたいと思うところから学ぶ
    • ソースコードの読み方 by Matz
      • 全体を読もうとしない
      • 目的を持って読む
    • 達成可能な目標。明示的な目標を掲げる
    • 大雑把に全体を把握する
    • 写経が再び必要になるとき
      • 写経の必要もなくすんなり理解できたとおもったのなら、それはすでに学んだことで構成されていて、新しいことを学べていないということ
    • どうやって抽象化するか
      • 比較する。同じ箇所と違う箇所の間を見る
      • 例える。どこが同じでどこが違うのかを明確にする
      • 違いに注目する
      • 歴史から学ぶ。以前と以後で何が変わったか
      • すでに抽象化されたパターンから学ぶ。ただし、自分の言葉で、自分の経験として、自分の目的に使えるか?

やる気

  • やる気がでないのは、やることを絞れていないせいである
  • 絞るためにはまず全体像を把握する
  • 優先順位付け自体が難しい
    • トレードオフスライダー
    • 探索と利用のトレードオフ → 不確かなときは楽観的に
    • フィーチャーの判断基準。金銭価値、コスト、新しい知識、リスク
    • 緊急と重要のマトリクス
  • タスクが大きすぎる

記憶

  • アウトプットで記憶が鍛えられる
    • 覚えている自信がなくてもテストを繰り返すと成績は高くなる
  • 忘れてから復習するのは長期の記憶に役立つ
    • ライトナーシステム
    • supermemo
  • 間隔反復法
  • 知識を構造化する20のルール

読書

  • 「読んでない本」は、先に概要を調べる・読んだ人に聞くなどして、読むべきかどうかの判断ができる
  • Whole Mind System
    • プレビューする。
      • 5分ほどで目次やキーワードについて把握する。
    • 質問を作るためによむ。
      • ○○せよと書いてあるが、これは具体的にどういう行動か?
    • 答えを探すために読む
    • マインドマップでメモする
  • フォーカス・リーディング
    • 読む速度をコントロールすることで理解度を測る
  • どちらも見出しに注目する
  • 難解な本を読む技術
    • 本棚を見て分野の全体像をスケッチする
    • 読書ノートを作る
      • わからないことを記録する
      • 何度も出現する単語を記録する
      • 概念や理由の関係性を矢印でつなぐ
    • わからないことを解消するために読む
  • 読むという行為の目的はなにか
    • 必要なときに読み返せるように頭の中に地図を作る
    • 本の内容とそのほかの知識を結びつけるために読む。Syntopic Reading
    • 概念の名前を知ることで思考の道具を手に入れる
  • 復習のためのメモを作る

思考

  • 書き出し法
    • テーマに対して書き出す
    • 質ではなく量
    • 重複も気にしない
  • 情報をまとめる
    • KJ法
    • ふせんに書き出し並べて一覧性を上げる
    • 関係ありそうなものをまとめる。
    • グループ化して表札をつける
    • 分類できないと思ったときは分類の基準が間違っている。
    • 既存の分類を使うのではない
    • 階層は作らない
  • 短縮化
    • 表札は作らずとも良い
      • 中断可能であるように工夫する。ふせんをはるのはA4用紙にするなど

ひらめき

  • 3つのフェーズ
    • 耕す
    • 芽生える
    • 育てる
  • 「アイデアのつくりかた」ジェームズ・W・ヤング
    • 資料集め
    • 資料の加工
    • 努力の放棄
    • イデアの誕生
  • 「発想方」川喜田二郎
  • 情報を収集する
    • 言語化を促す
    • 言葉になっていないもの
  • 磨き上げる
  • 最小限の実現可能な製品
  • 他人の視線