This is a book that should be required for every .NET developer to read:
Even though some might think this book is only meant for those who write frameworks, I don’t believe this is the only case at all. To me, this is a book to be read by any developer writing ANY .NET code. Every code written should follow standards and conventions. That makes so much easier for people to maintain and use it. Whenever a developer starts creating a class, or a method, etc., it should be done in the most professional way possible (a method you write today to solve a specific problem may be used tomorrow by another developer who happens to be facing the same problem, so you should always be striving to write the code as best as you can).
Reading through the book we learn from the MS developers why some things were done in such a way, and how they’ve managed to improve things based on developers’ feedback. For instance, they mention a usability test they’ve applied to a group of developers, where the task was "simple": to write some code that takes a string and saves it to a file on disk. They had 30 minutes to do so. Something like 9 out 10 developers couldn’t get the job done. They figured it was really hard to accomplish something that simple (and that’s needed quite often), and therefore they’ve come up with easier ways to get to the functionality. Things like that get you thinking about how you’re designing your classes (is it going to be simple enough for other developers – or even myself – to use it?).
That means that besides helping the reader improving how to write better code, the book also helps with understanding better the .NET framework.
Again, this should be a required reading for every .NET developer. 🙂