Books
Currently Reading
Option B by
Recommended Reading
This is a list of books I recommend reading. If this list seems overwhelming, try the marathon strategy I describe in Tips for New Software Developers. Establish a routine of reading for 20-30 minutes a day. What works best for me is to have a set time each day that I read, but there are other strategies as well. If 20-30 minutes seems too intimidating, make Mini Habits the first book you read.
I’ve enabled comments on this page so feel free to add your own recommendations!
Personal/Career Development
I’m putting personal development books first, because developers tend to prioritize them last. However, I’ve found that improving yourself as a person makes you a better developer, not to mention more satisfied with your job and life in general.
- Crucial Accountability and Crucial Conversations- These books changed the way I think about and handle confrontation and have helped me immensely in both my career and personal life. Read my article on Handling Conflict in a Healthy Way for more details.
- Finding Flow - Concise, excellent read. The best book I’ve found explaining “how to feel consistently happy/satisfied in life.”
- The Power of Vulnerability - Great counterargument to the “gladiator culture” of the stereotypical male-dominated technology workplace. You don’t have to be an asshole to be a successful developer. 😊
- Self Compassion - Are you sensing a theme here? Yes, the software industry is filled with a bunch of Type A, overachievers who set high expectations on themselves and struggle with Imposter Syndrome. However, the pressure people put on themselves as a result can become counterproductive and lead to burnout. If this sounds like you, read this book.
Productivity
- Deep Work - I read this after writing my article on Productivity Tips, and this book does a great job of providing the psychological research to back up why the methods I use work so well. It also gave me ideas on how to take my productivity to the next level. It includes a lot of good food for thought on limiting social media use and measuring the value of that time spent vs your long term goals.
- Mini Habits - While Deep Work advocates for extremely long periods of focus, many struggle with the willpower to do this. Mini Habits provides a great strategy for short-circuiting the intimidation and fear of failure that can paralyze you from taking steps toward your life goals. It’s a quick read and the author takes an entertaining, conversational tone.
Software Development
- The Pragmatic Programmer - Essential read for any software developer.
- Code Complete - Excellent book breaking down many nuances in day-to-day code construction.
- The Mythical Man-Month - Oldie, but a goodie. Another essential foundational book for any developer or manager of developers.
- Clean Code - Great book emphasizing coding best-practices.
- The Clean Coder - How to be an effective software engineer in industry.
Java
- Effective Java - Must read for any Java developer, however its information is only current to Java 1.5, so doesn’t include new Java features.
- Java 8 in Action - Covers new features in Java 8.
- Java Concurrency in Practice - Great book for getting a deep understanding of just how hard concurrent programming is. I think the best reason to read this book is as a means of steering you away from quickly jumping to writing your own concurrent, shared-memory (buggy) solutions to problems. Use a framework! 😊
Architecture/Design
- Design Patterns - Foundational GOF book. Must-read for any software developer.
- Domain-Driven Design - I’m a big fan of DDD, and this is the original book on the topic.
Other
- The Amazon Way - Fast read expanding on Amazon’s leadership principles from a former Amazonian. Lots of fun stories from Amazon’s early days.
- The Checklist Manifesto - I’m a huge fan of checklists as a low-cost way to ensure consistent behavior when required. This book covers why they are so helpful and what elements go into an effective checklist. The author is a surgeon who shares several fascinating (and sometimes unsettling) anecdotes from the medical world, showing how checklists can effectively minimize human error.
Leave a Comment