Books that most influenced the way I think about software development
- R.C. Martin: Clean Code – A Handbook of Agile Software Craftsmanship(2008)
- The essential importance of testing
- All the basic principles of good code: Don’t Repeat Yourself (no copy&paste!), Single Responsability Principle, code cohesion, size of classes & methods, the importance of naming
- M. & T. Poppendieck: Implementing Lean Software Development – From Concept to Cash(2006)
- This book persuaded me that lean/agile development is the only feasible way to develop software – and showed me how to do it
- ? Specification by Example
Other inspiring reading lists:
- Poppendiecks: Recommended Readings – this list by the gurus of lean thinking is something that you *must* check!
- Jiri Novotny: 30 books everyone in software business should read (and why) – I guess that tips for some interesting books can be found there
The talk how we decide helped me to understand that different decision making modes are suitable in different situations and how important it is to understand and be aware of our own thinking/deciding process. Another talk taught me that the most important thing to succeed is to know (and communicate) why. Finally I got support for my opinion that what motivates us isn’t money, but purpose, mastery, autonomy. I summarize these talks in the post The 3 Most Important Things I’ve Learned This Year (2011).
- Books Our Developers Should Read
- Top 5 Java programming books – Best of lot (actually 8) – 1) Head First Java, 2) Effective Java, 3) Thinking in Java, 4) Head First Design Pattern, 5) Concurrency Practice in Java, 6)Java performance, 7) Java Puzzlers, 8) Head First Object Oriented Analysis and Design.