Decisions that define how systems evolve
Day 1
Architecture Thinking & Documentation
- What architecture actually is — and what architects actually do
- Architecture vs design: where the boundary sits and why it matters
- Quality attributes (non-functional requirements): availability, scalability, maintainability, security, performance
- Architecture trade-offs: no free lunches — ATAM and lightweight trade-off analysis
- Architecture documentation: C4 model — Context, Container, Component, Code diagrams
- Architecture Decision Records (ADRs): capturing decisions with context and consequences
- Fitness functions: automated architecture governance
- Common architecture styles: layered, hexagonal (ports & adapters), pipes and filters, event-driven
- Monolith vs microservices: the real decision criteria, not the hype
- Strangler Fig pattern: migrating legacy systems incrementally
Day 2
Distributed Systems & Resilience
- CAP theorem and PACELC: what they actually mean for system design
- Consistency patterns: eventual consistency, saga, outbox pattern
- Service communication: synchronous REST/gRPC vs asynchronous events — choosing deliberately
- API gateway and BFF (Backend for Frontend) patterns
- Resilience patterns: circuit breaker, bulkhead, retry with backoff, timeout
- Caching strategies at different layers: CDN, API, database
- Data architecture: shared database anti-pattern, database per service
- Security architecture: zero trust, defense in depth, secrets management
- Scalability patterns: horizontal scaling, read replicas, sharding
- Architecture fitness: measuring and maintaining architectural health over time
What your team walks away with
Architects and senior developers who can make and justify architecture decisions — with the vocabulary, patterns, and documentation practices to communicate them clearly.
- Apply quality attribute analysis to make architecture trade-offs explicit
- Document architecture decisions with ADRs and C4 model diagrams
- Design resilient distributed systems with proper failure handling patterns
- Evaluate monolith vs microservices trade-offs based on team and domain — not trend
Book the Software Architecture training
Especially valuable for senior developers stepping into architecture roles, or teams making significant structural decisions.
Get in touch