«    »

Personal Learning via Reading Books

My previous article on online reading described how I use online resources for personal learning. Online articles are usually short and provide only shallow coverage of a topic. To delve deeply into a subject, I find that books are much more effective. Books are easier to read than a computer screen, and can be read off-line - anywhere and anytime. With all of these advantages for books, why are so few developers taking advantage of this great resource?

I've read that the average software developer reads less than one professional book a year (excluding manuals). This means that a significant percentage of developers read no more than a handful of such books over their careers. For a professional, I find that unacceptable. My personal goal is to read at least one professional book every three months. If you want to aim higher, try following Steve Pavlina's advice to read a book a week (although this applies to any type of book, not just professional). By counting the books in my bookshelf at home, I can tell that I've averaged far more than my goal of four professional books a year. So I'm going to share my strategies for conquering obstacles to reading professional books.

The first obstacle is selecting books to read. My strategy is to avoid technology-specific books and focus instead on books covering technology-agnostic concepts and ideas concerning the craft of software development - i.e. object-oriented design, usability, and development practices. Technology (languages, libraries & frameworks, tools, etc.) is always changing. The Java language didn't exist when I was in my undergraduate program in university. Even now that Java is an established language, it is still evolving at a reasonable rate. Books written about specific technologies therefore have the shortest lifespan. While the information they contain may be important for the current project, it quickly loses its relevance. I think it is a waste of personal time to learn this information. I'd rather learn a specific technology at work when I need to use it. By using my personal time to study the craft of software development at a level largely independent of a specific technology, I am able to improve myself as a software developer no matter what technologies I end up using.

How do I select such books? Coworkers and personal blogs have been two of my best sources for book recommendations. I value getting someone's feedback on how they liked the book and what they got out of it. (I remain skeptical of the reviews posted to book selling sites such as Amazon.) To see what I'm talking about, take a look at my own Book Recommendations page, where I list my all-time favorite professional books, summarize their content, and explain why I love them. Two other sites that have an extensive list of book recommendations (although focused more towards management) are: Josh Kaufman's Personal MBA, and Fog Creek's MBA Curriculum. Books I read have also been a good source of book recommendations. If a book contains a particularly positive reference to or discussion of another book, I'll add that other book to my reading list.

Purchasing books can be an obstacle for some. They are relatively expensive, especially the hardcovers, and without a personal recommendation it can be difficult to determine if the book is worth reading, let alone buying. So I suggest borrowing books whenever you can. If your coworker recommends a book, there's a good chance you'll be able to borrow it from him or her. Employers sometimes provide a professional library, or are willing to reimburse you for buying books relevant to your job. I also like to make use of my local public library. They have a good selection of business and management books, but very few software development books. I've also made use of local bookstores. They sometimes have a decent collection of software development books, so I am able to sit down and browse through ones that look interesting. This allows me to evaluate the book and decide if it is worth reading.

Perhaps the biggest obstacle is finding time to read. I personally like to read just before going to bed, although it is sometimes harder to retain information. Other strategies include reading while commuting, reading in the bathroom, and reading while eating. The heart of the issue is time management: figuring out which activities are worth doing, and finding time to do them. If you struggle with this obstacle and frequently find yourself without enough time, then I know some good books like First Things First and Getting Things Done that can help.

If you find this article helpful, please make a donation.

«    »