Course Outline
Module 1: Architecture Standards that Scale
Objective: Establish a simple, shared set of architecture standards that Principals can reference in their daily decision-making.
Topics
- Architecture principles: distinguishing what to standardize versus what teams should decide
- Decomposition basics: defining boundaries and ownership
- Integration basics: API contracts, versioning, and compatibility
- Messaging overview: comparing Kafka and RabbitMQ, and identifying standardization opportunities
- Data overview: focusing on ownership and source-of-truth concepts (utilizing Mongo and SQL Server)
- Common architectural anti-patterns found in high-scale systems
- Lightweight decision documentation: understanding the ADR/RFC concept
Module 2: Code Architecture in Large .NET Solutions
Objective: Reach alignment on practical guidance for code architecture decisions within large-scale solutions.
Topics
- Structuring large .NET solutions: managing modules, layering, and boundaries
- Dependency direction: ensuring architecture remains visible in the codebase
- Shared libraries: recognizing when they add value versus when they introduce coupling
- Integration boundaries in code: applying separation of concerns patterns
- Code architecture 'review lenses': key areas to focus on during quick reviews
- 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 a strong design review at the Principal level
- Review workflow: determining what gets reviewed and when
- Review criteria: identifying the most critical factors
- Facilitation: keeping senior discussions focused and productive
- Decision closure: strategies for ending debates and moving forward
- Capturing outcomes: documenting decisions and follow-up actions
- Practical application: conducting a review using a short system-level case study
Module 4: Influence Without Authority for Principals
Objective: Strengthen habits related to mentoring, feedback, and alignment with Individual Contributors (ICs).
Topics
- Mentoring versus directing: coaching without taking ownership
- Delivering high-level technical feedback that is clear and standards-based
- Driving alignment across ICs: practical techniques for consensus building
- Constructively handling disagreement and resistance
- Reusable conversation patterns and scripts for Principals
Requirements
Participants should bring two to three anonymized examples of recurring technical debates, such as those regarding system decomposition, integration approaches, or code structure rules. Sharing existing internal standards is optional but welcomed.
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.