We, developers, never stop learning1 and we do it from disparate sources. Apart from learning by pairing, from code reviews, copy-pasting snippets from Stack Overflow, online tutorials and asking a friendly coworker, we rely on books.
As a medium, books have great strengths that other media lack. A good book on a technology you want to master will have an introduction providing more context than any fast response on a QA2 site, it will be a more thorough reference that your coworker as it will be written by a presumably world-class expert on the subject.
What are the cons? On one hand, a book will demand some time and focus from you, so don’t expect solving your mission-critical burning bug by leaving through a chapter on that topic.
On the other hand, what you read, even if deeply understood, will dissipate from your memory pretty fast if you just read it. Think about a technical book you read last year or before and try to recall their main points to make you feel pretty uneasy about it.
As Scott Young explains in his blog, there is a big difference between recognizing what you have read before and being able to recall it. You can improve recall by being more active when reading:
- Lookahead and recall while reading. Skim section titles, figures and highlighted sentences of the chapter you are about to study to contextualize what you read. Then, after reading a section or a page, close the book and ask yourself, “what is the main point of what I’m reading?”
- Take notes. Write the very same questions you ask yourself as notes for further study. Just writing them down helps with memorization but you can nail them to your brain by using spaced-repetition systems like Anki.
- Practice what you read. This is not always possible, at least on the short term, but there deliberately practicing what you have read is paramount to check your understanding and make it more memorable.
Paraphrasing George Santayana, “Those who cannot remember the key ideas of their books are condemned to reread them.”