Course Outline
Module 1: Scaling Architecture Standards
Aim: Establish a concise, shared set of architectural standards that Principals can utilize for everyday decision-making.
Key Topics
- Architectural principles: Distinguishing between items to standardize and those left to team discretion
- Decomposition fundamentals: Defining boundaries and ownership
- Integration fundamentals: API contracts, versioning, and compatibility
- Messaging overview: Comparing Kafka and RabbitMQ, and determining what to standardize
- Data overview: Thinking about ownership and single sources of truth (Mongo + SQL Server)
- Frequent architectural anti-patterns in high-scale systems
- Lightweight decision documentation (ADR/RFC concepts)
Module 2: Code Architecture in Extensive .NET Solutions
Aim: Align on practical guidelines for making code architecture decisions within large-scale solutions.
Key Topics
- Structuring large .NET solutions: Modules, layering, and boundaries
- Dependency direction and maintaining architectural visibility in code
- Shared libraries: Evaluating when they add value versus when they introduce coupling
- Integration boundaries in code: Applying separation of concerns patterns
- Code architecture \"review lenses\": Identifying key areas for quick assessment
- Managing exceptions while preserving consistency
Module 3: Design Reviews that Drive Decisions
Aim: Implement a consistent design review process that yields clear decisions and collective understanding.
Key Topics
- Characteristics of a robust Principal-level design review
- Review workflow: Determining what is reviewed and the timing
- Review criteria: Focusing on the most critical aspects
- Facilitation: Keeping senior-level discussions focused and productive
- Decision closure: Strategies for resolving debates and progressing
- Capturing outcomes: Documenting decisions and follow-up actions
- Practical review exercise using a short system-level case study
Module 4: Influence Without Authority for Principals
Aim: Enhance mentoring, feedback, and alignment practices with individual contributors.
Key Topics
- Mentoring versus directing: Coaching without assuming ownership
- Providing high-level technical feedback: Ensuring it is clear and standards-based
- Driving alignment across ICs: Effective practical techniques
- Addressing disagreement and resistance constructively
- Reusable conversation patterns and scripts for Principals
Requirements
Attendees should prepare two to three anonymized examples of recurring technical debates (such as system decomposition strategies, integration methods, or code structure rules). Sharing any 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.