6 Books That Should Be On Every .NET Developers Bookshelf

You may also like...

8 Responses

  1. I would also recommend "Design Patterns in C#" by Metsker.

    Specifically for C# folks, of course. 😉

    Great post!


  2. Bob Saggett says:

    I’ve got most of these though Code Complete is first edition. I have to disagree on Pro C# though. This is a terrible book that was a complete waste of money. There are far better C# books out there.

  3. Chuck says:


    The Troelson book has its strengths and weaknesses, but I like that it covers a broad spectrum of the .NET framework and I think that the middle chapters are particularly important/significant as it covers just enough of the nitty-gritty of the CLR and .NET including somewhat advanced topics like reflection and dynamic assemblies. The chapters on eventing and multi-threading are also well written, IMO.

    There’s also something subtle about the examples. I like that changes from one example to another are highlighted with bold. I the end, you could probably substitute this book with another .NET/CLR book, but I chose it for its readability and breadth of content.

  4. Mark Rendle says:

    I have 5 of the 6 (haven’t got Pragmatic Unit Testing) and I agree that they are all essential. The one book I would add, and this is regardless of your language or platform, is Uncle Bob’s "Clean Code". That book has had the greatest positive impact on my coding in 20 years.

  5. Jef says:

    Great books list, thanks for the post.

  6. Rob Bowley says:

    5 massive books missing in my opinion, all actually dealing with more real world situations and application of knowledge:

    1. Agile Software Development, Principles, Patterns, and Practices by Robert C Martin
    2. Refactoring by Martin Fowler
    3. Working Effectively with Legacy Code by Michael Feathers
    4. Refactoring to Patterns by Joshua Kerievsky
    5. Clean Code by Robert C Martin

    All of these are much more likley to inspire and improve a junior developer’s skills than something like GoF which, whilst a seminal work, is frankly quite dry and difficult. Patterns, when incorrectly applied are worse thanusing none at all.

  7. Eric Smith says:

    I’m surprised that no-one has mentioned The Pragmatic Programmer by Andrew Hunt and Dave Thomas.

  8. Chuck says:


    While I’m also a big fan of the book, I think that it’s a bit less practical and immediately useful.

    Perhaps a bit of context is necessary for this list: Since about the middle of April, I’ve been dispatched to a client to clean up a mess of a project that was supposed to be delivered in January. Part of the reason for the failure is that the project was staffed with three, fresh out of college, _business majors_.

    It’s pretty amazing that they’ve made it this far and completed what they have, but this list was really a result of me trying to figure out the next steps for these guys if they planned on staying in the implementation side; this was meant to be a guide for their professional development and to prepare them for future projects to stave off failures and missed deadlines.

    Now of course, this reading list isn’t just for junior devs; in fact, it’s probably even _more_ important for senior devs and technical architects. I think that a lack of understanding of basic software construction techniques, language/platform features, and design patterns (which would have been particularly useful in this case in terms of untangling the web of spaghetti code) would have helped in terms of leaving the client satisfied, delivering the project at least a bit closer to the scheduled release date, and creating a more maintainable codebase.

    — Chuck