読書との付き合い方

多くの人が、新しい知識をつけるためには読書をすべしと言うけれど、読書によって知識を身につける、というのはかなり難しいことなんじゃないかな、と思っている。特にエンジニアの世界では、 エンジニアになったらまずはこれを読め、みたいな技術書信仰がある気がしており、違和感を感じることがある。

たとえば僕はWebエンジニアになってまだ日が浅い頃に、DDDやらTDDやらSREやらの著名な本を読んだけれど、はっきり言って全くの無駄だったと言っても良いほど、その読書からは何も身につかなかった。書いてあることが頭に入っているのだが、本質的なところは全くわかってなく、人に説明することもできないという状態になってしまう。

書いてある文字を必死に読んではいるのだが、それを読み取る下地がないので何も吸収できず、何よりそういう読書はやっていてとても辛い。

じゃあ読書には何の意味があるのかというと、今まで経験してきたことを帰納して、より一般的な法則を得たり、今までの経験のちょっとだけ延長にあるようなものを身につけるのに有効なんだと思う。

プログラミングの例で言うと、いくつか開発案件をこなす中で、スパゲティコードを生み出してしまった失敗経験であったり、逆に綺麗なコーディングができたという成功経験をまず詰む。その上で、設計に関する体系的な書籍を読めば、設計の重要さやプラクティスがごく自然に頭の中に入ってくる。もちろんその中で新しい知見を得ることもあるけど、あくまで既存の経験のほんのちょっとだけ延長にある事までだと思う。

数学や哲学など、理論で完結するような知識は教科書を読んでいるだけで身につくと思うので、そういう世界では読書によって新しい知識を身につける、というのは確かに成り立つ。けれど、実世界で役に立つような多くの知識は、本を読むだけで、言わばショートカット的に身につけることはできず、地道な経験を積み重ねるしかないのかなと思っている。