Modern Application Architecture

Learn how to build reliable applications using modern patterns like Domain-Driven Design, CQRS, Event Sourcing, Microservices, and more.

Course Details

What Will Developers Learn?

In this course, you will learn how to design efficient, scalable, and maintainable applications using proven architecture patterns and modern tools. The central theme is complexity: why it creeps into software, why it makes systems hard to change, and how patterns like Domain-Driven Design, Event Sourcing, CQRS, and Event Modeling help you bring it under control.

You’ll get hands-on experience with presentations, live demonstrations, and practical exercises throughout the two days, working through real design problems rather than just theory. The course is language independent and welcomes developers and architects from any platform or technology stack.

Who is the Target Audience?

This course is designed for software developers and architects who want to level up and learn how to build better, more maintainable applications. It’s particularly valuable for teams working with growing or distributed codebases, including those moving toward microservices, who need a shared vocabulary and toolkit for managing complexity.

Why Take This Course?

  1. Learn patterns for reducing and managing complexity in your applications.
  2. Gain hands-on experience through live demos and exercises, not just theory.
  3. Understand DDD, CQRS, and Event Sourcing well enough to use them.
  4. Build language-independent skills that apply across platforms.
  5. Learn how to design more resilient, maintainable, and scalable systems.

 

What Are The Course Prerequisites?

You should preferably have worked for a few years as a developer in an object-oriented language. No specific framework or platform experience is required, the course focuses on patterns and principles that apply across languages and technologies.

How Long is the Course?

The course takes 2 full days to complete. 

Modern Application Architecture Agenda

In this course, we will cover:

  • Introduction:
    • understanding complexity and why software projects fail
  • Documentation and building shared mental models of your architecture
  • Brainstorming and discovering business processes using event storming
  • Domain-driven design (DDD)
    • bounded contexts, ubiquitous language
    • aggregates and entity design
  • Database theory and choosing between SQL and NoSQL
  • Event sourcing as a pattern for storing state as a sequence of events
  • Event sourcing in practice, with hands-on implementation
  • Separating reads from writes
  • CQRS and the importance of separating commands from queries
  • Testing and Behavior-Driven Development (BDD)
  • Modeling systems using event modeling
  • Core architectural concepts and patterns for distributed applications
  • Application resiliency, circuit breakers, and error handling
  • The monolith: when and why it still makes sense
  • From monolith to microservices, and back again

And much more…

Modern Application Architecture

Article SKU:
T101

Duration:
2 days

Level:
Beginner

Language:
English, Swedish

Price:
Contact me for a price enquiry or to submit interest.

Modern Application Architecture Training FAQs

Do you provide both on-site and remote training classes?

Yes, we provide both types of training.

Do you provide training in both Swedish and English?

Yes, both options are available. All our course materials are in English and we can teach the class in either Swedish or English.

Do you do half-day training?

When we run on-site, we usually do full-day classes. For remote training, we can provide options for both half and full days.

Do you do webinars and shorter talks?

Yes, please visit our Talks page for more details.

Do you provide customized courses?

Yes we do that. Contact me for more information.