Course Outline
Module 1: Architecture Standards that Scale
Objective: Establish a simple, shared set of architecture standards that Principals can refer to in their daily decision-making.
Topics
- Architecture principles: distinguishing what should be standardized 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: concepts of ownership and source-of-truth (including Mongo and SQL Server)
- Common architectural anti-patterns in high-scale systems
- Lightweight decision documentation (concepts like ADR/RFC)
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: modules, layering, and boundaries
- Dependency direction and maintaining architectural visibility in code
- Shared libraries: understanding when they add value versus when they introduce coupling
- Integration boundaries in code: separation of concerns patterns
- Code architecture “review lenses”: quick checks to look for
- Managing exceptions without compromising consistency
Module 3: Design Reviews that Drive Decisions
Objective: Establish a consistent design review approach that yields decisive outcomes and shared understanding.
Topics
- Characteristics of a strong design review at the Principal level
- Review workflow: determining what gets reviewed and when
- Review criteria: focusing on the most critical aspects
- Facilitation: keeping senior discussions focused and productive
- Decision closure: techniques to resolve debates and move forward
- Capturing outcomes: documenting decisions and follow-up actions
- Practical review exercise using a short case study (system-level)
Module 4: Influence Without Authority for Principals
Objective: Enhance mentoring, feedback, and alignment habits with Individual Contributors (ICs).
Topics
- Mentoring versus directing: coaching without taking ownership
- Providing high-level technical feedback that is clear and standards-based
- Driving alignment across ICs: practical techniques
- Handling disagreement and resistance constructively
- Simple conversation patterns and scripts that Principals can reuse
Requirements
Participants are expected to bring 2–3 anonymized examples of recurring debates concerning system decomposition choices, integration approaches, 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.