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.