Listmania!
Best books on Software
By an Amazon.com customer
Agile Software Development, Principles, Patterns, and PracticesAgile Software Development, Principles, Patterns, and Practices by Robert C. Martin
Buy new: $52.32 / Used from: $35.00
One of my favorites. This book is worth just for the 6 principles explained by 'Uncle' Bob. No programmer is worth his salt if he does not understand these 6 principles (great programmers would mostly be using these principles without knowing the names). Should be a part of Bachelors degree in Computer Science.
201 Principles of Software Development201 Principles of Software Development by Alan M. Davis
Buy used from: $0.25
A concise dictionary of important software principles that covers requirements, design, and development. It has a number of research references that are equally useful.
Writing Effective Use CasesWriting Effective Use Cases by Alistair Cockburn
Buy new: $35.96 / Used from: $27.00
This is an excellent book to get you interested in what use cases are and how they work. Most use case books are fairly dry, but Alistair has done a great job explaining the concepts.
Design Patterns: Elements of Reusable Object-Oriented SoftwareDesign Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma
Buy new: $38.51 / Used from: $31.00
A default must-have for every person who wants to be a good software designer. I have used many of the patterns in this book (easy to convert to other languages even though the examples are in C) effectively. It makes your code a lot more flexible than you would initially think.
Domain-Driven Design: Tackling Complexity in the Heart of SoftwareDomain-Driven Design: Tackling Complexity in the Heart of Software by Eric Evans
Buy new: $45.77 / Used from: $34.97
Gives a new perspective on how you should design your software components. The emphasis of this book is on how to reflect your business domain in your code, which I feel is very important and creates the 'ubiquitous language' the author talks about.
Enterprise Integration Patterns: Designing, Building, and Deploying Messaging SolutionsEnterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions by Gregor Hohpe
Buy new: $42.50 / Used from: $25.00
Very good if you start getting into distributed applications. Has some great patterns explained in a clear and concise manner. A must if you are into middleware, JMS, etc.
Refactoring: Improving the Design of Existing CodeRefactoring: Improving the Design of Existing Code by Martin Fowler
Buy new: $41.72 / Used from: $36.48
While most common IDEs (like Eclipse, IDEA, etc.) include refactoring tools, this book eloquently explains the concepts behind refactoring.