At the end of September I travelled to Dresden for the PHP Developer Days 2018. The conference, organized by the Dresden PHP User Group, took place for the fourth time, but for the first time on two days: a workshop day and a conference day. On the day of the conference I was at the International Congress Center, but had already arrived the evening before to stroll through the Neustadt district of Dresden.
I had visited the Saxon state capital only once a few years ago and touched the old town and the new town a little bit. This time I was only in the Neustadt, but a little longer. I ate delicious Czech "Knödel" with goulash and enjoyed some delicious beers in the Hopfenkult craft beer store and in the Zapfanstalt before returning to the hotel in the evening.
After biking cross the Elbe to the venue and checking in, I could say hello to some friends from the PHP community before the event launched with the keynote by Jenny Wong, "Going backstage on Community trends: Bug or feature?". As you would expect from a good keynote, it was inspiring and kind of set the tone for the rest of the conference day.
Jenny gave some insights into the PHP community and especially German user groups, and the struggle that many user group organizers around the world face: Making everybody feel welcome, finding speakers, attracting an audience/participants, finding venues, doing the whole thankless work
I have taken some ideas for our own user group from her presentation. And I know now that everybody has the same or similar problems.
After the first and vital coffee break, Rafael Dohms talked about "Application Metics (with Prometheus examples)". The most important takeaway for me was the concept of "Service Level Indicators", "Service Level Objectives", and "Service Level Agreements". Unless you know what you want to achieve and why, it's really hard to collect the right metrics. I will keep that in mind for future projects.
James Titcumb explained the Abstract Syntax Tree in great detail, and although I read about the AST a log when it came out for PHP, I still learned about some new bits and pieces. He also brought some elePHPants, but I'm afraid I couldn't catch one.
Next up, lunch, and aftewards Ondřej Mirtes of PHPStan fame gave a very exciting talk about "Zero Downtime Database Migrations and Deployments". Especially the database parts contained some interesting aspects and best practices, e.g. the separation of database and application migrations, or how to add, change, or remove database columns.
As someone who thinks that the SPL has long been under-noticed, I enjoyed Mark Baker's talk "Does the SPL still have any relevance in the Brave New World of PHP7?" Many parts of the SPL are more or less obsolete these days, while others remain absolutely essential.
Thankfully, Stephan Hochdörfer stood in for a cancelled talk with his experience report: "From dev to prod with GitLab CI" I'm currently evaluating CircleCI, and am quite happy so far, but I might give GitLab another chance after I had some issues with it a good while ago.
Finally, Théo Fidry convinced me to give mutation testing a shot in a current project. "Mutation testing: better code by making bugs" gave a good explanation of the method, and the Inspection project, but I still have a lot to learn when it comes to interpreting the results of mutation tests.
A list of all talks and slides for most of them can be found on joind.in.
As it should be, the social event aka WurstCon in the evening was a really nice way to end the event, chat people up, and talk shop about PHP. Later I followed the remainder of participants to the bar of the nearby hotel but didn't stay very long. Instead, I grabbed ahold of the next rental bike and pedalled along the river for some refreshing kilometers before turning around and finding my way back to the hotel.
The conference was flawlessly organized (except maybe there was no wifi), the talks were exciting and educational, and the general mood was excellent! Thank you to the organizers and to all sponsors.
I highly recommend the PHP Developer Days to everyone who is interested in a community-based, international conference that is particularly affordable and of a very high quality. I learned a lot and talked to even more awesome people, so I'm pretty sure I will come back next year.