Recommended Reading
Every now and then, I get questions about books I recommend on topics. These are the books I can stand behind and recommend (until I find out that there’s a reason I shouldn’t).
Software Architecture
- Fundamentals of Software Architecture: An Engineering Approach
- Software Architecture: The Hard Parts: Modern Trade-Off Analyses for Distributed Architectures
- Software Architecture Patterns
- Communication Patterns: A Guide for Developers and Architects
- Strategic Monoliths and Microservices
Systems Thinking
Software Development
- Head First Design Patterns
- Inclusive Design Patterns – Coding Accessibility Into Web Design
- The Pragmatic Programmer
- Communication Patterns: A Guide for Developers and Architects
- Software Engineering at Google
- Dependency Injection in .NET
Algorithms
DevOps
- Grokking Continuous Delivery
- Accelerate
- The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win
Legacy Code
- Refactoring: Improving the Design of Existing Code
- Working Effectively with Legacy Code
- Beyond Legacy Code
Distributed Systems & Concurrency
- Software Architecture: The Hard Parts: Modern Trade-Off Analyses for Distributed Architectures
- Concurrency in C# Cookbook
- Grokking Concurrency
- Strategic Monoliths and Microservices