For a little over a decade I’ve used software to solve business problems. Early on, I was fortunate enough to come in contact with the open source community. Through my connections with this community, I've been able to work on some amazing projects for clients such as Schiphol Airport, Buma\Stemra, and NOS.
I'm the maintainer of a few popular PHP packages; these have been downloaded a total of 653,928,600 times. Based on statistics from Packagist, this comes down to 1 out of every 111 or 0,9048% of all package downloads ever.
My interests lie in distributed systems, message driven architecture, event sourcing, Domain-Driven Design, developer tooling, and system architecture. I love working with people to adopt new paradigms to break through barriers and achieve new heights for the business.
I started working on Flysystem late 2013, trying to fix a problem I had. Working with different types of file storage interfaces had a negative impact on my developer life. By providing a unified interface for interacting with file systems I was able to solve many of these problems. As it turned out, it also solves many problems for other people. Flysystem and all the related packages have been downloaded 453,425,561 times.
The popularity of Flysystem has far surpassed my wildest expectation. Through its success, I've been able to speak about it at conferences all around the world.
Sharing knowledge is an integrated part of my learning process. It helps me understand subjects on a deeper level. By doing so, I ensure I'm not a bottleneck for a team or organization. I believe this attitude, when broadly applied, helps a team scale and become more efficient.
Outside of the workplace, I share my knowledge with the community. I've spoken at several international conferences, such as; Laracon EU, SymfonyLife, SymfonyCon, IstanbulPHP, PHPBenelux, Dutch PHP Conference, New Zealand PHP Conference, and SunshinePHP.
In a more immersive knowledge sharing experience, I've given workshops to teach developers about Event Sourcing, React, and Event Storming.
I try to blog on a regular basis about the things keep me busy at work.
Event sourcing is a very powerful tool you can use to solve problems with software. EventSauce is a tool you can use to implement event sourcing in your application.
The library is beginning to gain some momentum, downloads are rising, a community is forming. EventSauce allows you to take control over event sourcing. It provides as simple base to start creating your event sourced model. It allows you to replace every part and is explicitly designed to get out of your way. It is as much a reference implementation as it is a tool you can use.