Matthias Noback

Advanced workshops & training

Affordable workshops for PHP developers
Upcoming workshops:
1-day workshop
An introduction to Docker, Compose and Swarm
September 30th Zeist (NL)
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.

Docker and Docker Swarm

1-2 days

Introduction to containers, Docker, Docker Compose, building, testing, sharing and deploying images

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

An introduction to Docker, Compose and Swarm

1-day workshop
Saturday September 30th, 9:00-17:00

Noback's Office

Zeist (NL)

The ideal occasion to finally get started with Docker! You'll learn everything you need to know to start using Docker in a professional environment. I'll provide some general background information, but we will mainly take the time to make ourselves familiar with the docker command line tool and the Dockerfile configuration format.

To keep your sanity, you'll also need to learn Docker Compose, which lets you define multiple containers and their images as services, with lots of interesting configuration options, all in one silly Yaml file! We'll cover this configuration file format, the docker-compose command line tool, and we'll take a closer look at Docker networking and volumes.

Having some Docker and Docker Compose knowledge in your pocket, you need to consider how you will eventually deploy your services. After all, that's what Docker's promise was to begin with, right? Deploying new container images should be painless and without surprises... During the last part of this workshop you will learn about Docker Machine and how it can help you prepare your servers for container-based deployments. Then you will get yourself acquainted with the Swarm Mode of the Docker Engine. You will deploy services to virtualized servers on your own machine (which is just as easy as deploying to an actual cloud server it turns out). To round off this awesome journey, we will end this workshop with a discussion of some of the tougher aspects of multi-node Docker deployments.


Date Location Title
20-04-2017 Zeist (NL) Integrating Bounded Contexts
17-03-2017 Zeist (NL) Advanced Application Development
02-01-2017 Vlissingen (NL) Integrating Bounded Contexts with RabbitMQ
21-12-2016 Utrecht (NL) Integrating Bounded Contexts with RabbitMQ
19-12-2016 Utrecht (NL) Living documentation
28-11-2016 Utrecht (NL) Software Architecture Diagrams
19-09-2016 Utrecht (NL) DTOs and serialization techniques
07-09-2016 Vlissingen (NL) Tactical DDD (just better OOP)
23-07-2016 Barcelona (ES) Tactical DDD (just better OOP)
04-07-2016 Utrecht (NL) Tactical DDD (just better OOP)
07-09-2016 Vlissingen (NL) An evening with CQRS
03-06-2016 Utrecht (NL) An evening with CQRS
03-06-2016 Utrecht (NL) Hexagonal Architecture training
20-11-2015 Paris (FR) Hexagonal Architecture training
08-09-2015 Amsterdam (NL) Hexagonal Architecture training
21-04-2015 Zürich (CH) Hexagonal Architecture training
18-03-2015 Milan (IT) Hexagonal Architecture training

Subscribe to the mailing list

And receive a notification whenever a new workshop gets scheduled.