I believe books regarding technology, like C#, VB, Visual Studio, ASP, Java and so on, are very important for young developers to get started and up and running. After a year or so, these books become repetitive and redundant. After you have solidified your basics, any new technology is just a matter of reading a bit online and discussions with co-workers on the pros and cons of the specific technology.
Books that I believe that are extremely important are those books that are completely technology agnostic. These books cover the core principles around software development and best practices around using them. The following list are books that I believe are must-reads for any software developer that takes his career seriously:
- Domain Driven Design by Eric Evans
- Applying Domain Driven Design by Jimmy Nilson
- Patterns of Enterprise Application Architecture by Martin Fowler
- Refactoring to Patterns by Martin Fowler
- UML destilled by Martin Fowler
- xUnit test patterns by Martin Fowler
- Enterprise Integration Patterns by Gregor Hohpe and Bobby Wolfe
- Code Complete by Steve McConnell
Take the time, add them to your library and help improve the software industry. The more people learn this, the better quality systems we will provide. Perhaps this list will help some people that have taken me a while to come to grips with.

Great list, thanks Lee.
ReplyDelete