Course Outline
Module 1: Scalable Architecture Standards
Objective: Establish a simple, shared set of architecture standards that Principals can reference for daily decision-making.
Topics
- Architecture principles: Distinguishing between what to standardize and what teams should decide
- Decomposition fundamentals: Defining clear boundaries and ownership
- Integration fundamentals: Managing API contracts, versioning, and compatibility
- Messaging overview: Evaluating Kafka versus RabbitMQ and identifying areas for standardization
- Data overview: Approaches to ownership and source-of-truth strategies (Mongo + SQL Server)
- Common architectural anti-patterns in high-scale systems
- Lightweight decision documentation (ADR/RFC concepts)
Module 2: Code Architecture in Large .NET Solutions
Objective: Align on practical guidance for making code architecture decisions within large solutions.
Topics
- Structuring large .NET solutions: Organizing modules, layering, and boundaries
- Dependency direction and maintaining architectural visibility in code
- Shared libraries: Determining when they provide 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
Objective: Implement a consistent design review approach that yields clear decisions and shared understanding.
Topics
- Defining what constitutes a strong design review at the Principal level
- Review workflow: Determining what gets reviewed and at what stage
- Review criteria: Focusing on the most critical factors
- Facilitation: Keeping senior-level discussions focused and productive
- Decision closure: Strategies for resolving debates and moving forward
- 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
Objective: Enhance mentoring, feedback, and alignment habits with individual contributors.
Topics
- Mentoring versus directing: Coaching without assuming ownership
- Providing high-level technical feedback that is clear and standards-based
- Driving alignment among ICs: Applying practical techniques
- Handling disagreement and resistance constructively
- Simple conversation patterns and scripts that Principals can reuse
Requirements
Participants should prepare 2–3 anonymized examples of recurring technical debates, such as decisions regarding system decomposition, integration strategies, or code structure rules. Any existing internal standards may be shared on an optional basis.
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.