How to read a tech book
Original article is here.
There are three types of tech books:
- Books on languages, java, C, Python, etc...
- Books on algorithms
- Books on certain topics, OS, Linux, networking, etc....
For books on languages, the key is to practice. It's much less efficient to just read or listen how to code because it's passive learning. When you finish a Java book, you should write code based on examples in the book, for more than one time.
For books on algorithms, the key is to understand. It's naturally harder to understand how algorithms work because they are abstract, and even if you think you understand them, after couple months you will forget most of it. Thus, we need to use it in real examples. Try some ACM OJ so you can leverage algorithms you learned into real examples, which strenthen your understanding of those algorithms.
For books that are very theoretical, read it three times.
For the first time, read it fast, don't fall into a specific detail, as the main goal is to get the overall structure and key information of the each chapter.
For the second time, read it slowly, try to understand every single aspect without any care on progress. If there is something really hard to understand, mark it and deal with it later (you can always go back to it, and search online, or ask other people). It's not recommended to write notes as you read it, instead, when you finish a chapter, think about what you learned from it, and record them. Writting blogs is a good way to keep track of your summaries of knowledge.
For the third time, presumably it will be easier to read now. You can strengthen your understanding of topics and may even have new ideas. Also, it's useful to practice based on the examples in the book, and read some source codes.