I enjoy speaking at conferences and usergroup meetings every once in a while, to share what I know and to exchange thoughts with all the interesting people that are usually there. Below you find a list of presentations I've given in the past and upcoming presentations.

Software architecture in an agile age

In an age where agile development methods are widely adopted, properly designing the architecture of software on beforehand seems to have become a lost art. After all, there’s much to say for just starting off with a small piece of working code and building upon that - while refactoring if needed. However, such theories are often (wrongly) interpreted as an excuse to never design anything ever again, and the refactoring step is often being ‘forgotten’ because the focus on the bigger picture is lost. This means your little gem is likely to eventually turn into an enormous out-of-control behemoth, that nobody can either understand or maintain.

In the past we’ve seen that it’s pretty much impossible to design entire applications into detail, but thinking about what you’re about to build (even if it’s just by drawing some quick sketches for a module you’re working on) can often be very revealing for yourself, helpful for your coworkers, and can mean the difference between software that’s easy to work with or a nightmare to maintain.

Date Occassion Feedback Media
Dutch PHP Conference - Amsterdam
PHPNW - Manchester Video

A Hands-on Introduction to Unit Tests Using PHPUnit

A lot of people will tell you that unittesting is easy, but in practice it’s one of the hardest disciplines to get right. When you’ve never written unittests before you’ll probably have a million questions really fast; your code has got a lot of dependencies, runs queries on your database and sends out e-mails, and there seems to be no way to write reliable tests for this code that you can actually use time after time. No worries! Harrie is here to help :-)

This talk is a hands-on introduction to writing unittests using PHPUnit. We’ll be writing some actual unittests for (sometimes problematic) pieces of code that you could come across while testing real-life applications. I’ll explain how you could apply TDD and how to use it into your advantage, and I’ll come with some suggestions on how you could convince your boss that unittesting is important and actually worth the effort on the long run.

Date Occassion Feedback Media
php[tek] - Chicago
PHP UK - London Video

Recognizing smelly code

The way the code of an application is organized greatly influences its maintainability, extendability and testability. Finding flaws in your object-oriented design as early as possible can therefore make the difference between an awesome application and a not so good one. Luckily there are a lot of indicators to look out for while you are coding, telling you that you should probably consider refactoring – often without even looking at your actual code! This session is an introduction to the most common code smells and some of the related anti-patterns in OO PHP projects. You will learn how to recognize indicators of deeper underlying problems in your application, and how to prevent these problems from happening in the first place.

Date Occassion Feedback Media
PHPNW - Manchester Video
PHP Benelux usergroup meeting May 2012 - Houthalen
PHP UK - London

Database version control without pain

We’ve all read the textbooks and are using version control systems for our code, but our databases are left out in the cold. Every team has their own workaround, ranging from patch files to SQL snippets in the bugtracker, but none is really robust.There isn’t a silver bullet solution, but this talk shows different approaches and solutions that you can use in different kinds of projects, helping you to handle the changes in your database structure in a more sophisticated way.

Date Occassion Feedback Media
PHP South Coast - Portsmouth
phpDay - Verona
php[tek] - Chicago
PHP Benelux usergroup meeting May 2011 - Breda
PHP Barcelona - Barcelona
PHPNW - Manchester Video
Dutch PHP Conference - Amsterdam
PF Congres 2010 - Zwolle


This was my first talk ever! Back in the days when HTML5 wasn't really a thing yet and FLEX seemed to be a reasonable way to build applications. It was an introduction to FLEX, especially written for – and from the perspective of – a PHP developer. It shows you how to create a basic FLEX application and how setup communication with your PHP service layer using the Zend_AMF component in Zend Framework.

Date Occassion Feedback Media
PHP BBQ - Leusden