Books

Currently Reading goodreads.com

Option B Option B by Sheryl Sandberg

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.

  1. Crucial Confrontations - This book changed the way I think about and handle confrontation. It’s helped me immensely in my career and personal life.
  2. Finding Flow - Concise, excellent read. The best book I’ve found explaining “how to feel consistently happy/satisfied in life.”
  3. 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. 😊
  4. 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

  1. 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.
  2. 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

  1. The Pragmatic Programmer - Essential read for any software developer.
  2. Code Complete - Excellent book breaking down many nuances in day-to-day code construction.
  3. The Mythical Man-Month - Oldie, but a goodie. Another essential foundational book for any developer or manager of developers.
  4. Clean Code - Great book emphasizing coding best-practices.
  5. The Clean Coder - How to be an effective software engineer in industry.

Java

  1. 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.
  2. Java 8 in Action - Covers new features in Java 8.
  3. 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

  1. Design Patterns - Foundational GOF book. Must-read for any software developer.
  2. Domain-Driven Design - I’m a big fan of DDD, and this is the original book on the topic.

Other

  1. The Amazon Way - Fast read expanding on Amazon’s leadership principles from a former Amazonian. Lots of fun stories from Amazon’s early days.
  2. 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