Learn Software Development By Reading Books

Published on by David VanDusen.

Software developers new to the field often reach out for guidance on how to reach the “next level” in their career. Beyond correcting the assumption that expertise in a field is stratified into discrete levels, I often extol the virtues of reading books over web resources. Why? Because that’s what works for me. But also, my explanation is usually met with a-ha’s, and produces action.

The rationalization I give includes the following factors that contrast learning from books to learning from forums, blog posts, magazines, tutorials, and the like.

Having said all that, I admit: there are some topics that are less ideal to learn from books, and some there just aren’t books about! I’ve used numerous technologies during my career that were still in development. Their APIs were in flux, and there the audiences were too small for books to be economically viable.

Another gotcha is the time it takes to read a book versus the pressure of implementing a technology on the job. It pays to be in the habit of thinking ahead a few weeks about what unfamiliar technologies will be used in upcoming projects.

I also recommend reading books on familiar subjects. Advanced books on known topics can be put to use immediately, and that helps lock in the knowledge.

One consequence of my belief in the utility of books is that I read a lot of books aimed at beginners in order to know what the best, most up-to-date titles to recommend are. An interesting benefit of that is that I get exposed to new ways of teaching concepts which is invaluable when mentoring devs.

I don’t recall ever thinking that a book I had read was a waste of time. Even when the text didn’t flow, or there were typos, or I disagreed with the author about an opinion they expressed, I always came away a better dev. And, even if I don’t have the capacity to read every day, always having a next tech book to read keeps me motivated to become a more knowledgeable professional. 📚