Sunday, May 24, 2009

How to read a technical book

If you're anything like me, you've gone to a bookstore, found a good book on programming or some other technical subject, taken it home all eager to read it, and fallen asleep three pages into the second chapter. The book then finds a place in your bookshelf where you pick it up from time to time with renewed energy to read it from start to finish, and you get two pages further than your previous attempt. Eventually the book just ends up on your bookshelf and any technical brilliance within remains undiscovered.

I have a few tips to take more from these books:
  1. Open the book somewhere in the middle and start reading. The first few chapters usually contain filler material to pad out the number of pages. This filler involves justifying why the book exists and provides introductory information that you probably already know. If you open the book somewhere in the middle you will likely land right in the middle of the technical information you actually bought the book for. Read through one of these middle chapters and at the very least you will get a sense of what the book will eventually provide you if you restart reading from the beginning. Better yet, read that middle chapter in the bookstore before you buy it and you may save you some money.
  2. If you do read from start to finish, don't rush it. Take your time. Paper is a relatively robust medium and won't expire before you can absorb the information printed thereon. Reading a technical book is usually a marathon, not a sprint. In The Pragmatic Programmer the recommendation is to read one technical book per quarter; not per week or per day. It takes time to really read a technical book. Once you have developed a habit for reading technical books you can increase the frequency to per month if you so desire.
  3. Unless you are buying them for reference, don't buy books in bulk. Buy one at a time and read through it. Having more than one book to read can be a distraction.
  4. Don't be afraid to give up reading a book if it is just not doing if for you. This is risky as you might miss something that is presented later in the book. But if the cost of reading is not being repaid through information you are obtaining, feel free to put it down. I'd recommend flicking through the unread chapters to see if there is something that is informative.
  5. Actively read. Have a notebook and pen nearby and actively take notes of things you think are key in what you are reading.
  6. Related to the previous, have whatever you need to get hands on with a technology at hand as you read about it. Most technical books will include examples you can follow along with and exercises for you to do. Follow along with the examples by actually manually recreating them on your own computer. And do the exercises, don't just download the solutions from the books website. Do download later to review how the author completed them, but make an effort first.
Following these tips I have read more technical books in the past six months than I have in the past six years. Perhaps that says more about my character, but I honestly think I was sitting at about the median when it comes to programmers. I now feel I am slowly moving to the right in the bell curve.

0 comments: