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