Ok, so it will have a strong web programming bias! This list is different to most others, I'm going to assume you basically know how to code in .NET enough to get a senior developer job in most companies. From a very rough poll I'm also going to assume a fair number of you don't have strong University / College CS / Software Engineering backgrounds (I don't). These are the books that over the years I've found useful in filling in / updating bits of my development brain.
Design / General Practice
- Algorithms in a Nutshell
- Applying Domain Driven Design and Patterns - with examples in C#
- Agile Principles and Practices in C#
- Patterns of Enterprise Application Architecture
- Working Effectively With Legacy Code
- Domain-Driven Design: Tackling Complexity in the Heart of Software
.NET - go deep!
- The CLR via C# (3rd Edition)
- Advanced .NET Debugging (NOT READ THIS YET, PLEASE REVIEW FOR ME!)
TDD, learn, master!
- Test Driven Development By Example
- The Art Of Unit Testing
- xUnit Test Patterns : Refactoring Test Code
- Even Faster Web Sites: Performance Best Practices for Web Developers (previous book is in the next section...this one focuses on JS perf / techniques)Â
CSS / HTML
- Pro CSS and HTML Design Patterns
- CSS: The Missing Manual
- High Performance Web Sites: Essential Knowledge for Front-End Engineers