Software Architecture: From Patterns to Practice

Workshop Overview

Are you a software engineer ready to move beyond just writing code and start designing systems? This workshop is for tech leads, aspiring architects, and developers who want to build a solid foundation in software architecture. We'll go beyond the theory of architectural patterns and provide a repeatable, data-driven framework for making and justifying key design decisions. You'll leave with the practical skills to design systems that are scalable, resilient, and aligned with core business goals.

Key Takeaways

  • Understand the role of the software architect and the key responsibilities of the role.
  • Learn how to use a data-driven framework, like the Weighted Scoring Matrix, to evaluate and select the best architectural pattern for a given business problem.
  • Gain practical skills in designing for scalability, resilience, and maintainability.
  • Discover how to document architectural decisions using Architectural Decision Records (ADRs) to improve communication and team alignment.
  • Develop a repeatable process for making sound architectural decisions that you can apply immediately in your work.

Syllabus

The Architect's Mindset

Explore the core concepts of software architecture, including the role of the architect, the importance of quality attributes, and how to transform vague requirements into measurable scenarios.

Architectural Styles and Patterns

Take a deep-dive into common architectural styles like Microservices, Monoliths, and Event-Driven systems, focusing on their real-world trade-offs and how they impact quality attributes.

The Decision-Making Engine

Master the Weighted Scoring Matrix, a powerful and objective tool for evaluating and selecting the right architecture for your needs through a series of hands-on exercises.

Communicating Architecture

Learn how to document your decisions with Architectural Decision Records (ADRs) and effectively communicate your designs to your team and stakeholders.

The Architect's Toolkit & Real-world Challenges

Explore additional tools like Domain-Driven Design (DDD) and Threat Modeling, and discuss the human and organizational challenges of design in real-world scenarios.

Target Audience

  • You're a mid-level to senior software engineer who wants to learn more about software architecture.
  • You're a tech lead who wants to provide your team with a solid foundation in software architecture.
  • You're an engineering manager who wants to improve the architectural skills of your team.

Format

This is a full-day, interactive workshop that can be delivered remotely or in-person. The workshop includes a mix of presentations, group discussions, and hands-on exercises.

Interested?

If you're interested in a private workshop for your team, please get in touch to discuss your needs and how I can help.

Book a Private Workshop