16 parts · 17 chapters

Software Patterns and the Books

A small shelf of books gives the engineering world most of its shared vocabulary. When a staff engineer says "that is a deep module", "we need a bulkhead here", "this is a bounded context" or "our change failure rate is high", they are quoting one of them. This course gives you each book's ideas that change how you build, shown in an animated figure, applied to frontend and fintech examples, with an honest note on where the book has aged and which chapters to read first.

Part 0 is the pattern vocabulary beyond the frontend: architectural, integration, messaging, resilience and data patterns. Then fifteen books: Designing Data-Intensive Applications, Clean Architecture, A Philosophy of Software Design, The Pragmatic Programmer, Site Reliability Engineering, Accelerate, Team Topologies, Domain-Driven Design, Release It! and Refactoring. These are summaries and applications in our own words, a map to the books rather than a replacement for them. Five more close the shelf for the staff path: The Staff Engineer's Path, Staff Engineer, An Elegant Puzzle, Working Effectively with Legacy Code and Thinking in Systems.

patterns beyond the frontend · DDIA · Clean Architecture · A Philosophy of Software Design · Pragmatic Programmer · SRE · Accelerate · Team Topologies · DDD · Release It! · Refactoring · The Staff Engineers Path · Staff Engineer · An Elegant Puzzle · Legacy Code · Thinking in Systemssenior → staff · anyone who wants the shared vocabulary of software design and delivery
patternsArchitectural, integration, messaging, resilience and data patterns, each with when to use it.
DDIAReliability, scalability, maintainability; storage engines, replication, partitioning, transactions, batch and streams.
Clean ArchitectureBoundaries, the dependency rule, and policy versus detail.
A Philosophy of Software DesignComplexity, deep modules, information hiding, strategic programming.
Pragmatic Programmer, SREThe habits; and the Google SRE book's core ideas.
Accelerate, Team TopologiesThe four key metrics and their drivers; team types and interaction modes.
DDD, Release It!, RefactoringBounded contexts and aggregates; stability patterns; the refactoring catalogue.
The vocabulary behind every other courseDistributed Systems is DDIA in depth; SRE is the SRE book applied; Infra part 6 is Team Topologies; the Architecture and Big-company courses use Accelerate's metrics. This course names the sources.