Software Architecture – Designing software that lasts
Every application has an architecture; the question is whether it was chosen deliberately. In this training, you'll learn to understand, compare and apply architectural styles, and to substantiate and document your choices, so your system grows with your team and your ambitions.
Deliberate choices as the foundation
Outdated architectures slow teams down, make testing difficult and turn every new feature into building on quicksand. But how do you choose the right architecture for your system, team and organization? And how do you make sure that choice doesn't get lost in the pressures of everyday work?
Software development is about more than writing code. It demands deliberate choices: which structure fits our scalability? Where do we draw the right boundaries within our domain? And how do we build on what's already there, without starting from scratch?
In this one-day training, you'll learn to understand, compare and apply the most widely used architectural styles. From modular monoliths to event-driven systems, from Clean Architecture to Vertical Slice. You'll work with strategic design choices such as Domain-Driven Design and architectural design patterns, and learn to document architectural decisions using Architecture Decision Records (ADRs).
Theory and practice alternate throughout the day, which includes three hands-on workshops based on recognizable scenarios from everyday software development. You'll close with a concrete reflection on your own project: what would you do differently tomorrow? The training is developed and delivered by Betabit specialists who work on business-critical software every day.
🕐 Duration: 1 day (8 hours, including three hands-on workshops; content and pace adaptable to the group's experience).
👥 Target audience: Medior and senior developers and software architects.
What you’ll learn
During this training, you'll work on the architectural choices that truly matter in practice. Theory blocks alternate with three practice-oriented workshops:
- Why architecture matters
- What an ill-considered architectural choice costs your team: in time, quality and job satisfaction
- The six architectural requirements, including performance, scalability and testability
- Discussion: what do you recognize in your own project?
- Before the architecture: design choices
- Domain-Driven Design: bounded contexts and context mapping
- Architectural design patterns: CQRS, Outbox pattern, Result pattern and more
- Security, privacy and compliance by design
- Workshop 1 – Domain modeling: draw domain boundaries for a real business case, sketch a context map and defend your choices
- Understanding and choosing architectural styles
- Monolith, modular monolith and microservices
- Clean Architecture and Vertical Slice Architecture
- Event-driven architecture, serverless, API-first and headless
- Overview of MVC, MVVM and MVP
- Pros and cons per style: when do you choose what?
- Workshop 2 – Architecture selection: choose an architecture for a system with conflicting requirements, sketch the design and defend your trade-offs
- Documentation and decision records
- The C4 model: from System Context to Component diagram
- Architecture Decision Records: why, when and how
- Overview of the 4+1 model and UML
- Re-architecting with the Strangler Fig
- When and how to migrate from A to B without a big bang
- Anti-patterns: the dangers of the complete rebuild
- Workshop 3 – Strangler Fig: design a migration path for a legacy monolith in three phases
- Closing: the right tool for the job
- Decision framework: the five questions you always ask
- Personal reflection: what will you do differently tomorrow?
Architecture that grows with you
After this training, you'll deliberately choose the architecture that fits your system, team and organization. You'll substantiate your choices with a clear decision framework, document them in ADRs and know how to migrate existing systems step by step. That's how you build software that keeps growing with you tomorrow.
Interested? We will contact you shortly.
Interested? Talk to Esther about it!
More training courses
-
Modernizing Apps – Craftsmanship for Mediors
Modernize existing applications step by step. In this training, you’ll learn how to transform outdated software into modern, scalable, and maintainable applications – with a focus on architecture, quality, and collaboration. -
Modernizing Apps – Craftsmanship for Seniors
Modernize with both vision and craftsmanship. In this training, you’ll learn how to lead application modernization as a senior developer or architect, guiding teams and making the right decisions for sustainable software renewal.