The following is a list of books about software development I like most. If possible, I included links to Amazon, but
this is just for your convenience and does not imply any recommendation for this particular online book store.
- First of all,
by the "Gang of Four": Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides. Probably the book that
influenced me most in the last decade, for it showed me that reusable software building blocks are possible if you
only transfer the idea from "code" to "concept".
UML distilled - second edition by Martin Fowler and Kendall Scott. Great and concise
workbook on UML. See also his homepage!
Refactoring another Martin Fowler et al. If you are relatively new to software
development, here you can find many years of experience about coding style condensed into one book.
For old-timers it is a good confirmation of the own experiences.
eXtreme Programming explained by Kent Beck.
One of the key books to "eXtreme Programming".
Smalltalk - Best Practice Patterns another Kent Beck.
Another great book about Refactorings and Design patterns. Some of them are specific to the Smalltalk language, but most
presented ideas hold true for programming in general.
An Introduction to Database Systems by C. J. Date.
Very good and deep introduction to the fundamentals of relational databases.
- My current favourite is
Patterns of Enterprise Application Architecture by Martin Fowler.
A vast number coding tips from the expert along with very useful patterns for enterprise applications that will likely
help you also in many other software domains.