技術書を積んでおこう。
自分の本棚に買った技術書がどんどん増えている。全部読めているわけではない。だいたい読むペースの3倍くらいのスピードで増えているので、増える一方だ。 積んだだけで読んでない本、かつ、心のどこかに引っかかっていていつか読もうと思っている本がたくさんある。
- マーティン・ファウラーの「リファクタリング」
- エリック・エヴァンスの「ドメイン駆動開発」
- 「すごいHaskellたのしく学ぼう」
- 「レガシーコード改善ガイド」
- 「30日OS開発」
- 「nand2tetris」
- 「SQLアンチパターン」
- 「effective java」
- 「SICP」
これ以外にもたくさんの本が本棚に眠っている。
リストに上がっているのは結構難しくて読むのに時間がかかる本ばかりだ。 でも、積んでおいて意識のうちに置いておくと凄く良いと思っている。
何故かというと、買ってみて読んでみて理解できなかったとしても、本棚に眠らせておくといつの間にか理解できるようになっていることが多いからだ。 もちろん、ただ眠らせておくだけでウィスキーが熟成するみたいに勝手に読みやすくなるわけじゃない。熟成されるのは本じゃなくて自分自身だ。 あの本をいつか読めるようになろうと意識して関連分野を勉強しているうちに、そのうち知識が身についてきて、 「あ、そういえばあの読みたかった本、本棚にあるじゃないか」と思って本棚に手を伸ばした時、驚くほどスラスラ読めるようになっていることがあるのだ。
これは実体験としてある。
恥ずかしながらエンジニアになって半年くらいのころに結木浩先生の「デザインパターン入門」を買ってみて、読んでみて、全く理解できなかった。 コードは何を書いているかわからないし、説明も全くわからなかった。 この本が理解できるようになる気もしなかった。 でも、それから1年半くらいたって、オブジェクト指向設計実践ガイドを読んでみたり、クリーンアーキテクチャを読んでみたり、 RubyとJavaのコードをたくさん書いてみたあと、ふと本棚に目をやった時、「デザインパターン入門」が目についた。 読んでみて驚いた。前は全然わからなかったのにスラスラ分かる。しかも内容が本当に面白くて、役に立つのがよく分かる。 どこかで見たパターンがいくつも書いてあって、あのコードはこのパターンを使っていたのか!というのがよく分かる。 いつの間にか、理解ができるレベルに達していたようだ。
こういう経験ができるととても楽しくて、自分の成長が実感できる。
だから、難しい本を積もう。今は読んでも理解できないOSSのレポジトリをブックマークしておこう。
いつか読めるようになるから。