Skip to content
Chiify
Thinking Like a Software Architect

Thinking Like a Software Architect

A Hands-On Guide to Modern Architecture Fundamentals, Delivery, and Engineering in Practice

by Tamsin Whitlock

Architecture is the set of decisions you will regret slowly. This book teaches you to make them deliberately.

Most architecture books hand you a catalogue of patterns and leave you to guess which one fits. Thinking Like a Software Architect does the opposite. It gives you a repeatable way of reasoning: turn fuzzy requirements into measurable architecture characteristics, attach fitness functions that fail a build when the system drifts, and measure coupling instead of arguing about it. Components are derived from workflows and data ownership rather than from the org chart, so the boundaries you draw survive contact with real delivery pressure.

Style chapters score modular monoliths, service-based designs, microservices and event-driven topologies against the same criteria on one running system, so the comparison is real rather than rhetorical. From there the book follows the system into production: distributed data and eventual consistency, contracts that version safely, resilience through timeouts and circuit breakers, and the delivery machinery of pipelines, infrastructure as code, progressive deployment and observability. Every chapter ends with decisions you can apply to the system on your desk this week.

What you will learn

  • Define what architecture is, when it matters, and when it is premature
  • Translate quality attributes into measurable architecture characteristics and fitness functions
  • Reason about modularity, coupling and connascence with evidence rather than opinion
  • Identify and decompose components from workflows, data ownership and change patterns
  • Compare monoliths, modular monoliths, layered, service-based, microservices and event-driven styles on one system
  • Handle distributed data, transactions and eventual consistency without losing correctness
  • Design integration contracts and API boundaries that version safely over time
  • Add resilience, scaling and performance trade-offs with timeouts, circuit breakers and load strategies
  • Build security architecture around explicit trust boundaries
  • Take a system to production with pipelines, infrastructure as code, progressive deployment and observability
  • Document decisions with views, diagrams and architecture decision records
  • Apply Conway's Law deliberately and define the architect's role on a real team

Who it is for

This book is written for senior developers stepping into an architecture role and for practising architects who want sharper reasoning and fewer hand-wavy diagrams. It assumes you already write production code and are comfortable with services, databases and deployment pipelines. If you need to justify a design decision to engineers, product managers and operations teams at the same time, the frameworks here will help you do it with evidence.

$79.99