In the past few weeks, a junior developer asked me for some advice about books. I created this list, and I believe they should be a must-read for everyone involved in the software world:
- The Pragmatic Programmer: Your Journey to Mastery, 20th Anniversary Edition
- Clean Architecture: A Craftsman’s Guide to Software Structure and Design
- Clean Code: A Handbook of Agile Software Craftsmanship
- The Software Craftsman: Professionalism, Pragmatism, Pride
- Extreme Programming Explained: Embrace Change
- Release It!: Design and Deploy Production-Ready Software
- Fundamentals of Software Architecture: An Engineering Approach
- Head First Design Patterns: A Brain-Friendly Guide: Building Extensible and Maintainable Object-Oriented Software
- The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win
- Refactoring: Improving the Design of Existing Code (Second Edition)
A bonus: Lean Customer Development: Building Products Your Customers Will Buy.
I suggest this last one because we need to understand our customers. We build software for others.