These are the books I have at work, which mostly reflect the various projects I’ve worked on over the years. Some are useful, some are not.
- Design Patterns, GoF: Recommended, but first read Head First Design Patterns. These two books togther kicked my brain into being able to think critically about design decisions.
- The Pragmatic Programmer: I like it, though I think it’s worth less now in the light of robust discussion of these topics on blogs.
- Peer Reviews In Software: Haven’t opened it. Got it from a mandatory training class that didn’t impress me.
- Lean Software Development / Implementing Lean Software Development: Barely cracked them. Put on my desk by my boss, but I think this particular movement (in our organization, anyway) is going to pass before I need to care too much about it.
- Extreme Programming Explained: Barely cracked, though I bought it myself. Once I started reading it, I realized I already learned the content on the web.
- The C++ Programming Lanuage: Essential if you’re using the language.
- Effective C++/More Effective C++/Effective STL: Also essential if you’re using the language. Other books tell you how to write code, but these books tell you how to right GOOD code.
- Effective C#: Doesn’t live up to its namesake. Perhaps there are fewer gotchas in C#?
- Java Performance Tuning: I got this for $5 and learned one or two things from it. But I think it’s about Java 1.1, so it’s more than a little out of date.
- Interprocess Communication in Linux: useful when I needed it, but I no longer need it.
- Programming .Net components: This is a bit of a weird one. I was hoping it would explain the mysterious System.ComponentModel namespace, but I never got into it enough to fully understand what’s going on. I could probably learn a lot from this book if I got into it, but I’m not motivated to do it anymore.
- Java development with Ant: I like this one. Useful whenever I need to do ant, which is more often than one might think. And my copy is autographed!
- Applications=Code+Markup: Meh. Not that impressed. If you want a WPF book, get:
- Windows Presentation Foundation Unleashed: This is the one you want. It’s smaller than the previous book, but it has better explanations about the things that matter.
- Debugging Microsoft .NET 2.0 Applications: This book has saved my ass on multiple occasions. If you’re developing for .NET, you need to know how to use your debugging tools.
What does your bookshelf look like? Are there any bacon-saving books you’d recommend?