Talks & Workshops

DDD in unexpected places (and ways)
talk

Welcome to the Age of Static Analysis and Automated Refactoring
talk

Moving Forward with Legacy Code
Progress is possible
workshop

Static Analysis and Automated Refactoring
Using PHPStan and Rector
workshop

Rector Fireside Chat
The Power of Automated Refactoring
talk

Design patterns for modernizing legacy code bases
talk

Decoupling from infrastructure
Design a no-framework, no-database application test-first and domain-driven
workshop

Advanced Web Application Architecture
Layers, ports & adapters (for web applications)
talk

Building Autonomous Services
Get acquainted with the basics of asynchronous integration, CQRS, event sourcing and integrating bounded contexts.
workshop

Advanced Web Application Architecture training
This workshop covers all of the three layers from what is known as a layered architecture: the domain, application and infrastructure layer.
workshop

Practicing Domain-Driven Entity and Value Object Design
Learn to model domain concepts as entities and value objects
workshop

A testing strategy for hexagonal applications
Unit, adapter, use case, and system tests
talk

Domain-Driven Aggregate Design
You'll go back to the basics of object-oriented programming and learn to apply core principles of Domain-Driven Design to your domain objects.
workshop

Advanced Application Testing
Set a standard for your web application test suite
workshop

Beyond design patterns and principles - writing good OO code
In this talk I’ll cover many of these coding guidelines, which aren’t usually covered by patterns or principles books. Some of the subjects that we’ll discuss are: state, mutability, CQS, one-method objects, domain-first, API-driven, functional programming influences, object boundaries, (de)serialization, and many more!
talk

Brutal refactoring, lying code, the Churn, and other emotional stories from Legacy Land
Table flips allowed.
talk

Designing for Autonomy
A talk about the fascinating world of asynchronous communication
talk

Docker & Docker Swarm
The ideal occasion to finally get started with Docker.
workshop

Continuously delivering containerized, highly available microservices with proper context boundaries and messaging integration
Let’s have some fun while we entertain the idea that maybe - just maybe! - a microservice architecture would be a great fit for our (next) project.
talk

Docker Festival
Spend a full day learning about Docker and related tools with Matthias Noback and Lucas van Lierop.
talk

An introduction to Docker Swarm
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.
workshop

Service Integration
This 2-day workshop takes a closer look at the communication that happens between the applications in their larger environment.
workshop

Living documentation
In this talk, I'll cover the Principles of Living Documentation. I'll show you many ways to make your documentation activities effortless and more fun.
talk

Living documentation (workshop)
A mini-workshop on maintaining a "Living documentation" for your software projects.
workshop

An introduction to Docker Compose
You know the Docker command line tool and the Dockerfile configuration format. You have familiarized yourself with containers and images. Now it's time to use Docker to develop a real-world application.
workshop

An introduction to Docker
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.
workshop

Tactical DDD (just better OOP)
Aggregates, entities, repositories, value objects, domain events, domain services, application services...
workshop

Integrating Bounded Contexts with RabbitMQ
Bounded contexts, domain events, commands, enterprise integration patterns, (de)serialization, (de)coupling, messaging, RabbitMQ
workshop

Software Architecture Diagrams
Based on the book "Visualizing Software Architecture" by Simon Brown.
workshop

Coding Dojo
A coding dojo is all about a programming challenges called a code katas. To solve them, you need pair programming and TDD.
workshop

Please Understand Me
I’ll share with you everything I know that will be of vital importance to improve your relationship with any manager nearby. Trying to understand each other (including the omnipotent “customer”) will be key to your personal process of becoming the dev that’s worth their own weight in gold.
talk

DTOs and serialization techniques
DTOs, serialization, (de)normalization, en-/decoding, API design, Reflection
workshop

An evening with CQRS
Commands/queries, write/read models and optimization, domain events, projections, transactions and eventual consistency
workshop

Programming with Cmdr. Chris Hadfield
There’s a great number of things that we, developers, can learn from Chris’s perseverance, his optimism, his way of life and the rules and procedures he applies to prevent major incidents.
keynote

Agile Lego
At the Agile Lego® Workshop we’ll play, uhm, work in teams, creating Lego® structures based on requirements you’ll get from The Stakeholder.
workshop

All the Cool Kids...
I will quickly guide you along some of the most fascinating topics in modern PHP development: DDD, BDD, TDD, hexagonal architecture, CQRS, event sourcing and micro-services.
talk

The Quest for Global Design Principles
In this talk we’ll look at software from many different perspectives, and while we’re zooming in and out, we’ll discover some of the deeper principles that lie beneath proper object-oriented design.
talk

Hexagonal Architecture - Message-oriented Software Design
We take the hexagonal approach to software architecture. We look at messages, how they cross boundaries and how you can make steady communication lines between your application and other systems, like web browsers, terminals, databases and message queues.
talk

How Symfony Changed My Life
We’ll look at pieces of code, the Symfony ecosystem, the people behind it, the things that have been written about it, and the experience that I have with it.
talk

Principles of (PHP) Package Design
You will learn how to make good decisions about your package design and release reliable, highly usable and therefore highly esteemed packages of (PHP) code.
talk

Hexagonal Architecture training
During the Hexagonal Architecture training you'll learn to think in terms of boundaries and cores. You'll learn to apply hexagonal architecture and DDD principles and patterns to your code, which will become simpler and better testable.
workshop

A Healthy Dose of Dependency Injection
I'll tell you all about the design principles behind dependency injection (like Inversion of control and Dependency inversion).
workshop

A Series of Fortunate Events
In this talk we start with a straightforward command-only piece of code. We extract events from it and start moving the event handling code out, trying different design patterns along the way.
talk

Advanced Symfony Application Architecture
As the application (and your team) got bigger, you started looking for a way to prepare your application for a long and prosper life. Still, after reading about DDD, BDD, events, command buses, layered and hexagonal architecture, you are still wondering: how can I apply these cool ideas to my Symfony applications?
workshop

The Naked Bundle
In this talk I take a bundle, containing all those different types of classes, configuration files and templates, and strip it down to the bare necessities. And I promise that after moving many files out of the bundle, at the end everything still works.
talk

Diving Deep into Twig
I will demonstrate the inner workings of Twig: from the loader, to the lexer, to the parser, to your own token parser, to creating nodes, filtering nodes using a node visitor and finally to the compiler, which transforms all nodes to plain old PHP.
talk

Dependency Injection Smells
In this talk I will describe a couple of very recognizable and also very well fixable Dependency Injection Smells.
talk
The Symfony Security Component
talk