Recommended Books
Fundamentals
Best Practices
- Extreme Programming Explained: Embrace Change
- Test Driven Development: By Example
- Refactoring: Improving the Design of Existing Code
The craft
- The Pragmatic Programmer: From Journeyman to Master
- The Software Craftsman: Professionalism, Pragmatism, Pride
- Clean Code: A Handbook of Agile Software Craftsmanship
- The Art of UNIX Programming
- The Passionate Programmer: Creating a Remarkable Career in Software Development
Software as a Product
- Working Effectively with Legacy Code
- Beyond Legacy Code: Nine Practices to Extend the Life (and Value) of Your Software
Distributed Systems
Application Architecture