Tidy First?: A Personal Exercise in Empirical Software Design
In theory, there is no difference between theory and practice, while in practice there is.
Book: Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation
Every change should trigger the feedback process.
Book: The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition
The programmer builds from pure thought-stuff: concepts and very flexible representations thereof. ... Because our ideas are faulty, we have bugs; hence our optimism is unjustified.
Book: Thinking in Systems: A Primer
Thinking in Systems: A Primer is a book by Donella Meadows. It is an introduction to the concepts and principles of systems thinking.
Book: Serverless Apps: Architecture, patterns, and Azure Implementation
Serverless Apps: Architecture, patterns, and Azure Implementation is a short (55 pages) free ebook. Like the other books in the Microsoft series (.NET Microservices Architecture for Containerized .NET Applications, Modernize existing .NET applications with Azure cloud and Windows Containers, Dapr for .NET Developers, Blazor for ASP.NET Web Forms Developers), the book is easy to read and fun.
Book: Nonviolent Communication: A Language of Life
Nonviolent Communication: A Language of Life by Marshall Rosenberg is a popular book about a communication method that emphasizes empathetic and compassionate interaction between people. It provides a step-by-step framework for applying NVC (Nonviolent Communication) in various situations, from personal relationships to workplace conflicts and even when talking to yourself.
Book: .NET Microservices Architecture for Containerized .NET Applications
.NET Microservices Architecture for Containerized .NET Applications is Microsoft's free e-book that describes the architecture, patterns, and best practices for building microservices based on Microsft tech stack and Azure. As the name implies, it focuses mostly on building .NET and .NET Core applications with Docker.
Book: Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems is one of my favourite computer science books. Author managed to strike a fantastic balance between academic writing and fun development book (ok, maybe not as fun as O'Reilly's Head First Book Series).
Book: The Lean Startup: How Today's Entrepreneurs Use Continuous Innovation to Create Radically Successful Businesses
The Lean Startup: How Today's Entrepreneurs Use Continuous Innovation to Create Radically Successful Businesses (2011) is a popular book about startups. The main idea behind the book is to focus on testing new ideas and customers as early as possible to learn what customers want.
Book: Just Enough Software Architecture: A Risk-driven Approach
Just Enough Software Architecture: A Risk-Driven Approach is a popular technology-agnostic software architecture book, often recommended as an introduction to software architecture.