Books are great for learning and referencing in software development. I think access to good library of books is great value for any software development team. Its also not uncommon for development teams to have recommended reading book lists so everyone in the team has a common baseline understanding.
Choosing what books to buy and read can be difficult. There are so many combinations of target audiences due to the range of topics, languages and difficulty levels.
At thinkgroup developers can choose books to be added to the library every month, I think its a great policy and a lot of the books on the page we choose through that system.
The Pragmatic Programmer
The Pragmatic Programmer is a language agnostic development books that I think all developers should read. It has excellent tips to becoming a pragmatic programmer. Its easy to read, and while some tips may seem obvious, its often good to have common sense in writing for reference.
Hard Code

A collection of internal Microsoft blog posts from Eric Brechners alter ego I M Wright. I M Write is brutally honest about good and bad aspects development process and management mythology at Microsoft. I think this is a great books for managers and developers.
Beautiful Code
A collection of short articles by "master coders" discussing a piece of code they consider beautiful. All the articles have the same theme but are independent. The book is not an easy read as each chapter describes a different problem in a different context with different languages.
While the book doesn't offer much advise about becoming a better developer, it does expose the reader to a wide range software development problems and an elegant solution in a specific language.
I wouldn't recommend this books to everyone, but I really enjoyed reading most of the chapters.
High Performance Web Sites
From the authors role as Chief Performance Yahoo! Steve Souders describes 14 surprisingly simple rules for improving front end performance of web sites. Most professional web developers should know most of the best practices, but might also pick up a tip or two. The rules are justified with quantifiable test results, which is great when you're trying to convince a manager its worth while implementing front end improvements.
Practices of an Agile Developer
Similar to the Pragmatic programmer but from an agile perspective. I love the little devil and angles used in the book to describe good and bad ideas. The devil is always trying to convince you to cut corners and skip process while the angle encourages you to do things right.
Patterns of Enterprise Application Architecture
A great first chapter about the problems faced developing enterprise software and how using software patterns helps. For each pattern Martin Fowler describes the problem it solves and how it solves it. Martin Fowlers definitions of patterns are regularly used when discussing enterprise architecture.
Refactoring Databases
We bought this at thinkgroup after buying Patterns of Enterprise Application Architecture, which I thought was a great book. Unfortunately I've got nothing good to say about this book. While this may be because I find patterns more interesting than database refactoring, I just really didn't find this book at all useful.
Soul of a New Machine
This is a pretty old book now, but a book I really love. It tells the story of engineers at Data General designing and building a new 32-bit minicomputer. It does a great job describing the passion and hard work of the engineers involved.
Building Scalable Web Sites
TODO
Other books I want add to this list
Development
- Code Complete 2
- Refactoring
- Refactoring to Patterns
- Introduction to Algorithms
- Lean Software Development
- The Art of Computer Programming
Process
- Test Driven Development
- Extreme Programming Explained
- Agile Software Development with
- Scrum
- Agile Estimating and Planning
- Mythical Man month
UI/Web
- Don't Make me think
- Building Scalable Websites
- Javascript
Design/Architecture
- Head First Design Patterns
- Applying UML and Patterns
- UML Distilled
- Integration Patterns