No day younger than today

RubyとかRailsとか蒙古タンメンとか

技術書の読み方と向き合う

現在フィヨルドブートキャンプでプログラミングを学習しています。

bootcamp.fjord.jp

学習の中で技術書を読む機会がそれなりにあるわけなのですが、受講生から「技術書の読み進め方がわからない」という話が定期的に上がります。
確かに僕自身も、技術書の読み方の正解がわからないですし、読んでも全てを理解できてはいません。

とはいえ読むからには何か1つでも得たいですし、今後も技術書を読む機会は多くあるでしょう。

今後のためにも今現在の技術書の向き合い方を言語化して、より意識を持って読書できるようにしたいと思い、この記事を書きます。

はじめに

これは個人の感覚的な話を文章化したもので、万人に通ずる手法でも科学的なエビデンスがあるわけでもありません。
「そういう読み方もあるのかー」程度に読み流してください。

この記事の目的

  • 自分の読書方法を振り返ることで今後の読書に活かす
    • 自分なりの読書方法をオープンにすることで、同じような境遇の方の助けになるかも

自分なりの読み方

今現在、意識してやっていることをつらつらと書き出してみます。

アウトプット前提で読む

この方法は「インプット大全 / 著 樺沢紫苑」という本で読んで知った方法で、読書に限らず実践しています。

端的に言えば、「1つの行動をしたら何かしらのアウトプットをする」ことを前提に行動する、というものです。
僕はこれを読書でも実践しています。

具体的には、「この章を読んだら日報に書こう」とか、「1冊読んだら書評ブログを書こう」とか、何かしら目に見える形でアウトプットするように決めます。
そうすると自然と書くための「ネタ」を探すようになるので、結果的に読んだ内容が頭に入ってきやすくなります。

しかも、それをアウトプットするのでさらに記憶に定着しやすくなる、という理論です。

ハードルをできるだけ低くするのがコツです。
10ページ読んだら全てを理解してアウトプットする、だとハードルが高すぎると思います。
10ページ読んだうちのほんの1行でもアウトプットできれば十分くらいに思っています。

理解できない場所は飛ばす

僕のような初学者は、技術書に書いてあることで完璧に理解できるところの方が少ないです。

ですが、全てを理解するのは無理なので、「よくわからないな」と思ったら思い切って飛ばします。
ただ飛ばすのではなく、「なんとなくこんなことが書いてあったな」くらいだけは記憶するようにして、飛ばします。

しばらくしたら、どこかでその知識が必要になります。
そうなったときに立ち返って、「そういえばあの本にこのこと書いてあったな」と思い出せば良いです。
そのときには、以前理解できなかった内容が、理解できるようになっていたりします(相変わらずわけわからん!ってときもありますけどね)。

これは「インデックス読書術」というQiitaの記事に書いてあったことを実践しています。

qiita.com

プログラミング学習において「必要になったら調べる・学ぶ」っていうのはけっこう本質的だと思っていて、おそらく実務でも、最初から全てを理解した状態でプロジェクトに臨むのではなく、進めながら必要な技術や知識を吸収していくってことをすると思うんです(予想です、違ったらすみませんごめんなさい)。
だから学習も、そういう感じでいいんじゃない?的な軽い気持ちで読書するようにしています。

必要になったらまた読めばいいや、くらいの気持ちなら、読書の心理的ハードルがかなり下がって取り組みやすくなって良いです。

読書管理サービスを使う

僕はブクログというサービスを使っているのですが、サービスはなんでもいいです。
大事なのは自分がどれだけの本を読んだのか可視化できることです。

読書数が増えていけばモチベーションが上がるので。
ブクログの場合、読んだ本が棚に並ぶUIがあるのですが、これがもう個人的に最高です。
「もっと棚に所狭しと本を並べたい!!!」という欲に駆られます。

ブクログ上で読み終わった本を登録すると、自動的にTwitterに投稿してくれるのもいいですね。

ここで言いたいのは、読書のモチベーションを上げる何かがあるといいよね、という話です。
収集癖とかコンプ厨の僕にはこの方法が合っていると思います。

Twitterに読書感想文を載せる

最初の「アウトプットを前提に読む」というのに通ずる部分はあるのですが、ここのポイントは感想を書くのはTwitterであるというところです。
Twtterには140文字という制限があるので、少ない文字数の中でその本の総括的なことを書こうと思うとかなり難しいです。

具体例は↓のような感じです。

上はブクログを通して自動的に投稿されたもので、そのリプライにぶら下げる形で書いたのが下の感想文です。

おわりに

他に何か思いつけば追記するかもしれませんが、ザッと思いつきで書いてみました。
ある程度、自分なりに理論付けして読書をしていることが振り返れて良かったです。

読書方法の良し悪しは人それぞれですし、僕にももっと合う方法があるかもしれません。
読書方法に悩んでいる方には合いそうなものがあれば参考にしてもえたら嬉しいですし、「俺はこんなやり方してるよ!」というご意見もぜひ聞きたいです。

ノウハウを共有しながら楽しくプログラミングをやっていきましょ〜〜〜