Sometimes we, as software developers, need to sharpen the axe. Over the years, I have been fortunate enough to collect a decent amount of books. Here are my top recommendations, divided into categories.
1. The Pragmatic Programmer: from journeyman to master (Andrew Hunt and David Thomas) – This book is a great resource for teaching and reminding developers how to approach software development and writing code.
2. Clean Code (Robert C. Martin) – This book is a great resource for learning how to write elegant, maintainable code.
3. Code Complete (Steve McConnell) – This is an excellent resource for anyone that wants to write better code with high quality. The author focus on software construction.
1. Head First: Design Patterns (Eric Freeman, Elisabeth Freeman) – This book does a great job of explaining complex topics in a fun way. I recommend this book to anyone looking to get into software architecture.
1. How to Win Friends and Influence People (Dale Carnegie) – This is the de facto book for learning how humans tick.
2. The Passionate Programmer: Creating a Remarkable Career in Software Development (Chad Fowler) – This book changed my career around and has taught me how to look at my career as a whole.
3. The 7 Habits of Highly Effective People: Powerful Lessons in Personal Change (Stephen R. Covey) – This is up there with “How to Win Friends and Influence People” in terms of how highly regarded it is.
4. Don’t Sweat the Small Stuff…and it’s all small stuff (Richard Carlson, PH.D.) – For someone like me, who tends to get anxious and dwell on conflict, this has been a godsend. It is an easy read and useful to have as reference when life gets you down.
What are your opinions? Are there books you would add or remove from this list? What are your favorite books?
Let me know in the comments!