International PHP Conference, Berlin 2025

In early June, I had the please of giving a talk at the International PHP Conference in Berlin. My talk was a technical one, all about idempotency - why it matters, how it makes our APIs more resilient, and what can go wrong when you forget about it!
My Talk

My talk as "Avoiding Deja Vu: Building Resilient APIs with Idempotency". It introduces the concept of idempotency - what it is, why it matters, and how many big players like Stripe, AWS, and co are using it without you ever noticing. It's a talk I'd given before, though tweaked a little based on feedback from the previous event. Overall I was happy enough with how the talk went. The conference is a hybrid one, between in-person and online, which means that the presentation is run through Zoom for the online attendees. The IPC run a platform, devm.io, for streaming events, and collecting questions along the way from online attendees. When trying the technical setup before the talk, my Google Slides-based presentation didn't play well with the full screen share on Zoom. As a consequence, I had to run the presentation without my speaker's notes.

I'd practiced it a lot, so knew the flow pretty well. However in all honesty there were 3-4 moments where the slide transition is a pay-off - a joke punchline, an "a-ha" moment, etc, and while some of these went ok, without the speaker notes there were a couple which I didn't lead into as well as I'd hoped. In any case, the talk drew a decent crowd, and had some really detailed questions afterwards. It's always very validating as a speaker to not only get questions afterwards, but get thoughtful and detailed ones - a good sign that at least some of the ideas have been communicated well!
The Conference
As with any of the IPC events, the conference programme was packed with interesting sessions.

I particularly enjoyed:
- Derick Rethans on the fediverse, and why owning our content matters (summary published here).
- Peter Kröner's session ranking anti-features in Javascript was great fun - eye-opening and terrifying in equal measures. I also hadn't seen his code.movie tool for enhancing code visuals in a presentation, but will definitely be using that in future!
- Timo Körber's deep dive into enums was a great reminder of how underused and powerful they can be.
- Cristian Varela had a nuanced take on the role of AI in development workflows, and picking the right model for the job.
Also loved the hallway track, some brilliant chats throughout, and always great to catch up with Anna Filina.

The City
My father used to travel a lot for work. When I'd ask him about the different places he'd seen, he'd often say that he could tell me all about the airport, the conference centre, and the train between them, but precious little beyond that. As a result, when I'm travelling to new places, I like to find a bit of time to see the city itself - or at least something outside of the hotel! This was my first time in Berlin, a really interesting and historic city to explore.
I grew up watching way too many films and programmes about WW2 and the Cold War, so it was fascinating to walk around the former site of the wall, Checkpoint Charlie, and all the places I'd read about over the years. I had a bit of time after landing, so went for a 2 hour walking tour. I'd highly recommend this as a way to see the centre of the city, it was a great afternoon.

In the evening after my talk was finished, I went for a short run to burn off the excess post-talk adrenaline. I took a turn near the Reichstag, and somehow ended up in the middle of a few hundred people doing what I think was a Berlin 10k race! I don't speak German, but am pretty sure I do now know what "Get off the track, idiot" sounds like in context 😅 Still, as finishing arches for a run go, the Brandenburg Gate takes some beating!


All in all, a fantastic conference - already looking forward to next year!
IPC Munich 2025
In October 2025, I'll be speaking at the International PHP Conference in Munich. I'll be talking about Modern PHP Features You’re Probably Not Using (But Should Be). Expect real-world examples, practical takeaways, and a deep dive into cleaning your code while making your life easier!
Get your ticket now and I'll see you there!