Matthias Noback

Advanced workshops & training

Affordable workshops for PHP developers
Integrating Bounded Contexts

1-2 days

Bounded contexts, commands, domain events, enterprise integration patterns, (de)serialization, (de)coupling, messaging

Domain-Driven Design Building Blocks

1 day

Aggregates, consistency, domain invariants, entities, value objects, domain events, application services, transactions.

APIs and Serialization

½ day

DTOs versus domain objects, encoding formats, extracting serializable data, versioning, upcasting, reflection library.

CQRS & Event Sourcing

1 day

Commands, queries, events, event-sourced write models, read model projections, query optimizations, transactional versus eventual consistency.

Ports & adapters - Hexagonal architecture

1 day

Clean architecture, layered architecture, screaming architecture, domain model, application services, infrastructure, ports & adapters, project structure.

Other topics...

To be determined

TDD, Architecture diagrams, Living documentation, Dependency injection, Symfony bundle design, OSS Package development.


1795,- /day

  • query_builder1-3 days
  • settingsCustomized workshop
  • businessAt your favorite location
  • supervisor_accountUp to 15 participants

247,- pp./day

  • query_builder1-3 days
  • settingsCarefully selected program
  • businessSomewhere in Europe
  • supervisor_accountAt least 5 participants



My workshops are well-balanced: they contain equal portions of theory and practice. You can start implementing advanced concepts right-away and verify the correctness of their results with the trainer.

Classes are limited to 15 participants to give everybody an equal opportunity to learn.


Concepts in plain sight

When explaining a technical concept, it will not be buried beneath a pile of framework code or implementation details. The concepts are in plain sight, ready for you to grasp.

Sandbox projects contain back-to-basic PHP code, so when you've finished your training, you can then use any framework you like to let your code blossom.


Advanced topics

I offer lots of advanced workshop topics. We don't focus on the basics, we dive straight to the core of a concept.

There are a lot of different subjects we can cover, it's up to you to select which will be most useful for you or your team.

Upcoming workshops

Advanced application development

2-day workshop
Friday March 17th, 9:00-17:00
Saturday March 18th, 9:00-17:00

Noback's Office

Zeist (NL)

This 2-day workshop covers all of the three layers from what is known as a layered architecture: the domain, application and infrastructure layer. You'll learn how to:

  • Design a clean domain model
  • Model your application's use cases as application services
  • Connect those well-designed layers to the world outside

Protecting your high quality domain model can be accomplished by applying a so-called ports & adapters or hexagonal architecture. And you'll find out how your application's design really starts to flourish when you use CQRS with Event Sourcing.

Some of the keywords for this workshop: aggregate design, domain events, application services, commands, queries and events, event sourcing, projections, eventual consistency, layered architecture, ports & adapters, hexagonal architecture.

Integrating Bounded Contexts

2-day workshop
Thursday April 20th, 9:00-17:00
Friday April 21st, 9:00-17:00

Noback's Office

Hilversum area (NL)

This 2-day workshop takes a closer look at the communication that happens between the applications in their larger environment. We take insights from Strategic Domain-Driven Design, about Bounded Contexts and Context Mapping. We'll combine those with the accumulated knowledge about Microservice architecture and draw from the catalogue of Enterprise Integration Patterns to design services that communicate in a reliable fashion.

Some of the keywords for this workshop: commands, queries, domain events, event sourcing, projections, eventual consistency. bounded contexts, enterprise integration patterns, (de)serialization, (de)coupling, messaging, DTOs versus domain objects, encoding formats, extracting serializable data, versioning, upcasting, reflection.


Date Location Title