Course Outline
Module 1: Architecture Standards that Scale
Objective: Establish a simple, shared set of architecture standards that Principals can reference in daily decision-making.
Topics
- Architecture principles: distinguishing what should be standardized from what teams should decide
- Decomposition fundamentals: defining boundaries and ownership
- Integration fundamentals: API contracts, versioning, and compatibility
- Messaging overview: comparing Kafka and RabbitMQ, and determining standardization opportunities
- Data overview: focusing on ownership and source-of-truth strategies (MongoDB + SQL Server)
- Common architectural anti-patterns in high-scale systems
- Lightweight decision documentation (introducing ADR/RFC concepts)
Module 2: Code Architecture in Large .NET Solutions
Objective: Align on practical guidance for code architecture decisions within large solutions.
Topics
- Structuring large .NET solutions: managing modules, layers, and boundaries
- Dependency direction and maintaining visible architecture in code
- Shared libraries: understanding when they add value versus when they increase coupling
- Integration boundaries in code: applying separation of concerns patterns
- 'Review lenses' for code architecture: identifying key areas quickly
- Managing exceptions without compromising consistency
Module 3: Design Reviews that Drive Decisions
Objective: Implement a consistent design review approach that yields clear decisions and shared understanding.
Topics
- Characteristics of strong Principal-level design reviews
- Review workflow: determining what gets reviewed and when
- Review criteria: focusing on the factors that matter most
- Facilitation techniques: keeping senior discussions focused and productive
- Decision closure: resolving debates and enabling forward momentum
- Capturing outcomes: documenting decisions and follow-up actions
- Hands-on review practice using a short case study (system-level)
Module 4: Influence Without Authority for Principals
Objective: Strengthen habits related to mentoring, feedback, and alignment with individual contributors.
Topics
- Mentoring versus directing: coaching without taking ownership
- Delivering high-level technical feedback (clear and standards-based)
- Driving alignment across ICs: practical techniques
- Constructively handling disagreement and resistance
- Reusable conversation patterns and scripts for Principals
Requirements
Participants should bring two to three anonymized examples of recurring debates (such as system decomposition choices, integration approaches, or code structure rules). Sharing existing internal standards is optional.
Testimonials (2)
Trainer knowledge, involvement, and rapport
Adam Kuklewski - GE Medical Systems Polska
Course - Technical Architecture and Patterns
I liked the exercises that helped to open the mind and gain new insights into software architecture.