After my rant about the lack of computer literature that:
...makes you think and challenge the way you work.I thought that I should provide a list of books that have made me start think about what I am doing and how I am doing it. Simply, books that have meant a lot to me. This is by no means a complete list (I am sure I have missed a couple o gems) and the books are listed no particular order. The Pragmatic Programmer: From Journeyman to Master by Andrew Hunt, David Thomas Domain Driven Design by Eric Evans Refactoring to Patterns by Joshua Kerievsky The Art of the Metaobject Protocol by Gregor Kiczales Effective Java by Joshua Bloch Refactoring: Improving the Design of Existing Code by Martin Fowler Concurrent Programming in Java: Design Principles and Pattern by Doug Lea Code Complete by Steve McConnell Programming Pearls by Jon Bentley Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides Agile Software Development, Principles, Patterns, and Practices by Robert C. Martin Patterns Of Enterprise Application Architecture by Martin Fowler Extreme Programming Explained : Embrace Change by Kent Beck Analysis Patterns : Reusable Object Models by Martin Fowler I am always eager to read more good literature. What are your favourite books, which books have meant a lot to you and your career? If you have some suggestions, please comment.