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: determining what to standardize versus what teams should decide independently
- Decomposition basics: defining boundaries and ownership
- Integration basics: API contracts, versioning, and compatibility
- Messaging overview: comparing Kafka vs RabbitMQ and identifying key standardization areas
- Data overview: managing ownership and source-of-truth concepts (MongoDB + SQL Server)
- Common architectural anti-patterns in high-scale systems
- Lightweight decision documentation (concepts of ADR/RFC)
Module 2: Code Architecture in Large .NET Solutions
Objective: Align on practical guidance for making code architecture decisions within large-scale 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: applying separation of concerns patterns
- Code architecture "review lenses": identifying key areas quickly
- Managing exceptions while maintaining consistency
Module 3: Design Reviews that Drive Decisions
Objective: Implement a consistent design review approach that results in clear decisions and shared understanding.
Topics
- Characteristics of effective Principal-level design reviews
- Review workflow: determining what gets reviewed and when
- Review criteria: focusing on the most critical factors
- Facilitation techniques: keeping senior discussions focused and productive
- Decision closure: resolving debates and progressing forward
- Capturing outcomes: documenting decisions and follow-up actions
- Practice review using a short case study (system-level)
Module 4: Influence Without Authority for Principals
Objective: Enhance habits related to mentoring, feedback, and alignment with individual contributors.
Topics
- Mentoring vs. directing: coaching without assuming ownership
- Delivering high-level technical feedback that is clear and standards-based
- Fostering alignment across ICs: practical techniques for collaboration
- Constructively handling disagreement and resistance
- Reusable conversation patterns and scripts for Principals
Requirements
Participants should bring 2–3 anonymized examples of recurring debates (such as decisions on system decomposition, 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.