Magnolia Tech

いつもコードのことばかり考えている人のために。

一冊の本をじっくり読み込み、知識を吸収するためにはどうすればいいのか

blog.shibayu36.org

先日、id:shiba_yu36さんのブログで、同じジャンルの本を複数同時並行で読み、気になったキーワードを繰り返し選別していって、読書ノートにまとめることで知識の吸収速度を上げる、という内容のエントリが話題になっていた。


確かに同時並行で同じジャンルの本を読むことで、同じキーワードでも複数の視点で考えるきっかけになって、より理解し易いという効果が有ると思う。一方で、自分は元々一冊の本をじっくり最後まで読み切るのが苦手で、だんだんと読み方が雑になって、後半は流し読みくらいになってしまうことがよく有る。

では、どうすれば1冊の方をじっくり読み切って、かつ知識を吸収することができるか、ということを考えてみた。


  • 「目次」と、「はじめに」をじっくり読む
  • 前半部分は並列に読む
  • 中盤まで行ったら最初に戻る
  • メモできる環境を用意する
  • 分からないキーワードは都度調べる
  • 構造化しながら読む
  • 感想を雑に書く
  • 自分の経験とリンクさせる
  • 実践する
  • 誰かと一緒に読む、誰かに感想を話す
  • 一度に読み切ろうとしない
  • 関連書籍を読む

「目次」と、「はじめに」をじっくり読む

ある程度の分量の文章を書いた経験が有る人であれば分かるけど、いきなり最初から書き始めて最後まで一直線に書き切ることはまずない。全体の構成を考え、トピックの順序や、ボリュームを調整しながら書いていく。その工程が一番強く、ダイレクトに「目次」に現れるはずなので、まずは「目次」をじっくり読むことで全体を俯瞰する。

また、当然だけど「はじめに」みたいな導入部分には書かれている内容や、その書く上での背景・動機、想定読者など、色々な基礎情報が詰まっているので、それもしっかり読み込んでみる。

この時点で、「読めない」と思ったり、あまり読む気が起きなければその時点で読むのを打ち切る。

前半部分は並列に読む

特に技術書に多いのだけど、ある程度の種類の概念やキーワードの理解が揃って初めて最低限の理解が始まることがある。

いくら基礎的な所から始まっても、それらが統合して理解できていないうちは、どんな簡単な、基礎的なトピックでも頭に入ってこないときがある。こんな時は、元々そうゆうものだと割り切って、特に基本的な概念や、基礎的な機能が解説される前半は、各トピックを並列で少しずつ読み進める。

あくまで、本来並列で同時に理解すべきものが直列に並んでいる、書籍というフォーマットの特性、制約なんだと思い、決して理解力が不足しているなどと思わないこと。

中盤まで行ったら最初に戻る

前半を終わって、本を読み進めるための統合的な理解ができたら、最初に戻ってもう一度読み直してみる。理解度が変わった状態で読むと、最初に読んだときと全然違う理解や、吸収が発生する。

つまり…

1章→2章→3章→

ではなく…

1章  ->
2章  ->  -> 統合理解 -> 一度最初に戻る
3章  ->

という流れで読む。

どこまで行けば中盤かは、本によるけど、だいたい1/3過ぎまで一気に読むのは、進み過ぎと言える。

せいぜい2割くらいで一度止めてみる。

メモできる環境を用意する

手書きでも電子的にでも、必ずメモできる環境を用意する。一つのトピックが終わって、メモが無かったら、やり直し、くらいの気持ちで。

分からないキーワードは都度調べる

まずはその書籍の用語集は必ずチェックする。ネットの検索の前に、キーワードをメモに一度書き出すことを忘れずに。検索だけして分かった気になって、結局分かっていない、ということが多々ある。

構造化しながら読む

書籍自体はフォーマット上、直列に進むが、一定の分量が有れば、そこには必ず「構造」があるはず。

その構造を読み取り、例えば四角と矢印だけでもいいから、各トピックの「関係」に着目して図式化しながら読むことで理解が立体的になる。

関係を書き出せないとしたら、まだ理解が浅い、足りていないと言える。

感想を雑に書く

感想を雑にツイートしたり、ブログに書いたりすることで、理解度を自分で確かめることができる。

誰かに感想を話そうとすると、相手を意識しすぎて構えてしまうので、一方的に書ける方法が良い。

自分の経験とリンクさせる

メモや、感想を書き出すときに、なんでもいいので、必ず自分の過去の経験とリンクさせて書いてみる。

そうすると、より深く考えられるので、記憶に残り易い。

実践する

思想書でも技術書でも実践してみることで理解が深まる。実際の行動に落としてみる。技術書であればコードを書いてみる、サービスを動かしてみる。書かれている通りにやる、独自に変えてやる(別の言語で実装する、もある)……いろいろなアプローチがある。

ただ、マネージメント論みたいな、相手が有ってこその場合は、そのまま実践できないこともあるし、あからさまに書籍の通りにやることが逆効果になる場合もある(相手がネタバレで興醒めすることもある)。そのような場合は、敢えて「◯◯という本に書かれていたことを試しにやってみます」と宣言してやる方法もある。

そもそも全然実践できる環境ではないこともある(経営していないけど、経営論を読んでいる時とか)。そんな時は、自分だったらどうするか、想像してみるくらいか。

誰かと一緒に読む、誰かに感想を話す

読書会などを開いて、誰かと一緒に読むことで自分以外の視点や論点が引き出せる。ただし、その本に対する関心度合いは、人によって違う点に注意。

感想ブログや、書評ブログを眺めるだけでも、良い。

また、誰かに感想を話すために整理することで、より理解が深まることがある。読書会のような、その本に対する関心レベルが一定以上揃っていない場で話をするときは、相手の興味の具合に合わせてほどほどに。

本の感想を他人に話すだけの会話で、あまり長い会話にならないと思えるので、ほどほどが良いかも(一方的に本の内容だけを語られても…ということもある)。

一度に読み切ろうとしない

ここまで書いてきた内容を実践しようとすると、1冊の本を読むために相当の労力を費やすことになる。無理をせず、一度に読み切ろうとせず、少しずつペースを決めて読んでいく。

例えば300ページくらいの技術書だったら3ヶ月以上かかって当たり前、くらいの心構えで。

関連書籍を読む

結局一冊の本だけでその分野のことが深く理解できることはあまり無いし、重要なテーマであれば関連する書籍も多数出ているはずなので、1冊をじっくり読んだら、そこを出発点に関連書籍を拾い読みしていく。


読み返してみて、まずは本を読む時間を作ることが一番大事なのかもしれないなって思った。

皆さんの読書法をぜひ教えて下さい。コメントとか、引用ツイートとか、ブクマに書いてもらえると嬉しいです。片っ端から返信します。