From Backend Dev to Front and Center: A First-Time Speaker's Journey to PHP UK 2024

First time speaking at PHP UK

PHP UK is a vibrant, welcoming, developer conference which I have enjoyed attending many times in the past. This year was a little different, as I took to the stage for the first time! While I've spoken before at a number of dev meet-ups and expert panels, this was my first time delivering a talk live to such a large audience. It was an exciting experience, but also pretty nerve-wracking and exhausting, with a lot of panic in the build up! Mixed in with the nerves and the excitement, there were some valuable lessons learned and a lot of fun to be had.

Why put yourself forward?

This is a question I asked myself numerous times since being selected! In my day job at Square1, I've given a number of internal talks, and usually enjoyed the process of preparing and delivering them. I've also been an attendee at PHP UK for many years, and I've always been impressed by the quality of the talks and the friendly atmosphere. A number of times I've seen someone deliver a compelling talk in front of a large crowd, and thought "I'd love to give that a go". Last October when I saw the Call For Proposals go out, I thought "why not?", and put together a couple of talk outlines. I was thrilled when one of them was accepted, but that thrill quickly gave way to panic as the reality of preparing and delivering the talk set in.

Preparation Process

The talk proposal which got selected was "Boosting Frontend Speed: Quick Wins for Backend Developers". As a developer whose comfort zone is far more on the backend rather than frontend side of web dev, I'm very familiar with the feeling of dread and panic which can come when a backend dev is asked to leave the comfortable world of APIs, CLIs, and backend code, and to step into the somtimes-exotic world of frontend dev! Dealing with node and npm version issues, bundling problems, CSS misbehaviour, the vagaries of cross-browser device support - it's a world away from the comfortable world of PHP and Laravel.

Talk title
A bit of a mouthful!

But for many devs, it's a necessary step to take at some point, as very often the bulk of page speed issues encountered on a web site will need to be addressed on the frontend side of things. At Square1, we do a lot of work with online publishers via our Publisher Plus offering, where we've seen first-hand the impact that frontend performance can have on user engagement, google rankings, and revenue. I wanted to share some of the things I've learned about frontend dev, and how backend devs can make a big impact on frontend performance with surprisingly little effort.

The conference was scheduled for February. With the proposal approved in October, my plan was to put the talk together before Christmas, do a couple of dry runs internally, make a few minor tweaks based on that feedback, but ultimately have the talk locked down and ready to go in plenty of time. This was the plan, and I was going to stick to it, for a stress-free run-up to the conference!

Ron Howard voice: "He did not stick to the plan, or have a stress-free run-up to the conference."

My aim was to make the talk useful and engaging, with lots of simple code snippets attendees could take away and try immediately. Who doesn't love an "actionable item", eh? But at the same time I have to make sure that the concepts I am explaining are understood well-enough for the snippets to make sense. My main challenge was timing - for a one hour slot, my initial dry runs were coming in at around 1 hour 15 minutes. Major surgery needed - I don't want to be one of those guys getting yoinked off the stage by the comedy shepherd's crook for having overrun!

Wrap it up!
Wrap it up!

It's a funny thing when creating something new - be it a presentation, some code, even a blog post - you can get awfully attached to some sections of it, in a way which makes it hard to cut them when you need to. This is where the internal dry-runs with the team in Square1 were really helpful for me. I got a lot of specific and direct feedback, which helped me to trim a lot of the fat from the talk, and to focus on the most important parts. This did lead to me chopping out some of the sections I enjoyed most, but I think the talk was ultimately better and more focused as a result - maybe those bits will resurface in another talk in the future!

At that point, I had a talk that's concise, engaging, and most importantly, under an hour long! The next step was to practice the delivery over and over so that it becomes embedded in my brain. By nature I'm quite introverted and withdrawn, and expecting to be a bag of nerves on the day, so my goal was to develop as much "muscle memory" of the talk as possible - something to fall back on if my brain goes into shut-down mode on the day!

Speaker support

I've attended many conferences as an attendee, but never been a speaker before. I was really impressed by the level of support that PHP UK offered to speakers. The organisers were very responsive to any questions I had, and made sure that I always knew what was going on, for everything from travel arrangements to the mechanics of the presentation setup on the day. As a side bonus, I know now significantly more about remote slide clicker options than I did six months ago! I've spoken at smaller events before, where sometimes the prep is "show up 5 minutes beforehand, plug your laptop in, it'll probably be fine", so the level and frequency of support from the PHP UK team was really impressive.

Ahead of the event, there were special speaker channels set up in the conference slack, which were super for getting to know the other speakers. The pre-conference speaker's dinner was a great way to spend some time with some of the other speakers, and really helped put me at ease ahead of my talk. Impostor syndrome is real! When I got picked to speak at the conference, I saw some of the really experienced, huge names in PHP I'd be presenting alongside, and wondered how on earth they picked me to talk also. Spending some time in a relaxed environment talking to guys like Freek van der Herten, Marcel Pociot, Derick Rethans, and James Brooks about everything from their own first talk experiences, to the need to hire a swearing script editor for Succession, or the difference in tipping culture between countries, was a great way to settle my nerves about being there, and feel a little more comfortable being on the same line-up. The pre-conference organisation was really great overall, and it helped to make me feel more comfortable and confident about the whole experience.

A nice treat at the speaker's dinner
A nice treat at the speaker's dinner

Speaking Experience

The night before the conference, I was busy making last minute tweaks to my slides, and rehearsing the talk again and again in the hotel room. My room neighbours must have thought they were sharing a wall with the world's longest and dullest conference call, as I paced around the room, talking animatedly aloud to myself, and clicking through slides at all hours of the night.

I wasn't due to speak until day two, so spent most of the first day at the talks in the conference room I would be speaking in, watching other presenters. While I'd been to PHP UK a few times before, I hadn't really paid close attention to the different rooms for the different tracks. Now suddenly I was hyper-aware of how many people were in the room, how big (or not!) the screen was - would my examples be visible from the rear of the room? This last point was a bit of a worry, as I had planned my talk to be practical, with lots of code tips, and I didn't want to lose the audience at the back of the room. I'd also set up my deck for bright text on a dark background - should I be using dark text on light background for visibility? I was starting to panic about all kinds of last minute changes. On the way out of the conference on day one, I had a quick chat with the AV team about the setup for the next day. They were really helpful, though did ask me in passing "what are you using for your slides? Please don't say google slides". Uh oh. I added "finally figure out how to use Keynote" to my to-do list for the evening, as I frantically googled "convert google slides to keynote".

Frantically learning Keynote at 11pm...
Frantically learning Keynote at 11pm...

The night before the talk, I was making a lot of last minute changes. Larger font sizes, bigger zoom on code samples - all the things that had come to mind while watching the day one talks in the same room. In hindsight being on day two was a blessing, giving me the chance to hone my talk specifically for the room, though in a frenzy of activity late that night I didn't feel particularly blessed!

Fair play to the haters

The morning of the talk, I was pretty anxious. I'd been up late the night before, and had a restless night's sleep. I had a great distraction in the morning though. Mike Lehan had put a message into the slack asking if anyone fancied a short run around London, so himself, myself and Alexander Turek went for a nice early morning loop down to the Thames and back. The fresh air helped to clear my mind out, and talking to the guys while we ran was a great start to the day.

Pausing for breath with Mike and Alexander
Pausing for breath with Mike and Alexander

My talk was the first one due after lunch, so I went to a number of talks that morning, before grabbing a small sandwich and rushing back to the hotel to change, get my laptop, and run over the talk once more in my head. I got back to the venue a little before the start time, and got my equipment set up easily enough. The room holds around 130-140, and there were about 15-20 people in the room at the time. Front and centre were the guys from Square1 who had travelled over. It was great to see them there, and was a big help in relaxing me before it started.

Gaston warming up the stage
Gaston from the Square1 team warming up the stage for me

Chatting away with them for a couple of minutes distracted me from the blinding white light shining on the stage, as the room started to fill up a little more. And then we were off!

Here we go!
Here we go!

The next 55 minutes or so are a bit of a blur. The bright light does make it very hard to see anyone beyond the first few rows of the audience, but as the practice kicked in and the words started to tumble out of my mouth, it got easier and easier. I had been a little worried about the post-lunch slot leading to a lot of sleepy folks, but now I could see that some people were definitely awake and paying attention - a small thing, but a great feeling at the time! I could see people taking photos of the screen at key points, and could also hear a few laughs at some of the admittedly-terrible jokes I had thrown in, which helped put me at ease. James Brooks had said something to me at the speaker's dinner which stuck in my mind, which is that everyone there wants to see you succeed, so even if the laughs were a little cheap, I'll take them! One thing I did feel was that I was speaking a bit more quickly than I would have liked, so in hindsight I could probably have pared the talk down a little bit further to give myself a bit more time to breathe. Unfortunately real life doesn't (yet!) come with a "play this at 0.75x speed" button. Lesson learned!

I finished the talk, and was really happy to get a couple of very specific questions on some of the things I had been talking about. It sounds like a small thing, but this made a huge difference to how I was feeling about the talk - people had actually been listening to what I had to say! This is an enormously validating feeling. I was also really happy to have a few people come up to me afterwards to ask for more details on some of the things I had been talking about. It was really great to feel that I had put together something which people had found interesting and useful. I was also really happy to see the Square1 guys afterwards, and to get their feedback on the talk. They had been a great help in the run-up to the talk, and were a great support throughout the event, particularly while my heart was trying its best to beat its way out of my chest with panic.

After the talk

Having finished the talk, the one thing I wasn't quite prepared for was the adrenaline cliff. The immediate aftermath of the talk was like having just finished a long run - I might not have enjoyed every moment of the delivery, but the energy afterwards was great. However, once that adrenaline drops off, whew boy! About half an hour later, I was exhausted, batteries completely empty. I'd skimped on lunch for fear of a nervous stomach, and was now completely drained. Next time, I think I'll go straight from the talk to a big feed and re-fuel! Still, as with any other speaker, I'm not averse to vanity searches to see how my talk was received, and was thrilled to see some really positive feedback on twitter.

Feedback
Feedback

During the talks, there were photographs being taken of us mid-presentation. Despite the admittedly-poor source material he had to work with, Matt Cahill did a great job with these photos!

Mid-talk
Mid-talk, and not one with my eyes closed!

Does this mean that I put myself through this whole big, mad process just to get some new, decent-looking LinkedIn profile pictures? You might say that, I couldn't possibly comment...

You need new LinkedIn photos? I have a plan...
You need new LinkedIn photos? I have a plan...

The Wider PHP UK Conference Experience

Team Square1 at the conference
Team Square1 at the conference

The event itself was held in the Brewery, in London. It was a three-track conference, with a wide variety of interesting talks on offer. The venue had a great setup, with large open spaces to mix between groups, a Mario Kart setup, barista, and regular flow of drinks and snacks to keep energy levels up. The conference atmosphere was great, and the organisation itself was top notch throughout. Some of the talk videos were going up online within about an hour of having finished, which was really impressive. There was also a competition to name the large, inflatable PHP elephant at the entry to the conference. Unfortunately my suggestion didn't quite get the votes to win - I'll have to workshop some better, less niche ideas for next year!

Naming the elephant
Naming the elephant

As for the talks themselves, there were a lot of really strong ones, and a few in particular that really stood out for me:

  • Fantastic Functions and where to find them: Freek's keynote was a strong start to the conference, with a rapid tour of some of the more interesting and lesser-known things that can be done with PHP. I was particularly interested in his demo of forking processes in PHP. Did you know that a boolean can be true, false, or both? I didn't! A very interesting start to the conference.
  • Awful APIs: A History Lesson in Painful Industry Mistakes: This was possibly my favourite talk of the conference. Jim Seconde gave a history lesson on APIs, covering the good, the bad, and the ugly (SOAP ticked two of these boxes, I'll let you figure out which ones for yourself!) He made a great point about the wheel of time, and how the same type of ideas come up again and again - if we don't learn from history, we're bound to repeat it! Jim is a fantastic storyteller, and I'm not sure I've ever seen somebody with so much energy at 10 in the morning - I was exhausted just watching him! A great talk, though at the time did make me a little nervous as to how I'd hope to engage an audience even half as much as Jim had!
  • Serverless PHP: how does it really work?: Matthieu Napoli's talk was a deep dive into serverless PHP, and the Bref framework. I've been interested in serverless for a while, and it was great to see how far it's come in the PHP world. I was particularly interested in the performance improvements that can be made by using serverless, and the potential cost savings. Matthieu is a really engaging and confident presenter who delivered a great session, made all the more impressive given that the night before his talk he shared on slack that his laptop had given up the ghost and needed some emergency attention! A disaster, but you'd never know it watching the talk, very polished and clear throughout.
  • Pairing, Sharing, Caring - One team's journey to Pair Programming: Mark Bradley's talk was a really interesting look at the benefits and challenges of pair programming. I've done a bit of pair programming in the past, and it was interesting to see how Mark's experiences compared to mine. I liked Mark's approach with his talk, taking us through a narrative journey of one of his teams as they underwent the transition. His advice on selling this practice to the business ("I'm paying two of you to do one job? Why would I do that?") was also really interesting and thought-provoking. It's always the sign of a good session when there are plenty of questions from the audience afterwards, and Mark's talk definitely led to a lively discussion in the room!
  • Documenting Laravel APIs: James Brooks walked us through Scribe, which is a great tool for documenting APIs. I've used it a few times in the past, but it was great to see a deep dive into the tool, and to see some of the new features that have been added recently. James is a really relaxed and engaging speaker, and his talk was a great mix of technical detail and practical advice.
  • Boosting Web Engagement with Symfony UX: Mathéo Daninos gave a really eye-opening talk on building more reactive frontends using Symfony and Stimulus. Coming more from a Laravel background, it was really interesting for me to see him highlight areas where the two frameworks have a common approach to this problem, and where they differ. He also talked a lot about the importance of performance, and how techniques which were previously required (bundling, for example), are made less relevant by advances in HTTP protocols. A lot of interesting take-aways from this talk!
  • Closing Panel: The closing keynote was a little different this year, with a panel discussion on the future of PHP. It was a great and lively discussion, with a wide range of opinions and ideas. It was interesting to see some of the big names in PHP taking questions from the floor - the future of the language? what advice do you give your younger self? how do we deal with people constantly saying PHP is dead? - and it was a great way to close out the conference.

One of the challenges of a three-track conference is that there are always going to be talks you miss! I heard rave reviews in particular for Marcel Pociot's Building desktop apps with PHP talk, Neal Brooks' The Absolute Beginner’s Guide To Mutation Testing talk, as well as Improving your life with Extreme Programming by Emmanuel Valverde Ramos, so will be keeping a close eye on the conference playlist as more of the talks go up online.

Schedule collisions are tough!
Schedule collisions are tough!

Same again next year?

Overall it was a fantastic experience, and definitely something I'd like to do again. If you're organising a conference, you can please skip over the bit about nerves, relentless self-doubt and panic above, and instead take it as read that I'd be thrilled to come and speak at your event - get in touch today!

I've had a nagging desire to present at a conference like this for a long time. One of the things stopping me has been a recurring sense that I don't really have anything interesting to talk about - surely the stuff I'm working on day in, day out is common knowledge? Would anyone really be interested in hearing about this basic stuff? This is a really easy filter bubble to get stuck into! At the conference, there were so many times a speaker would be talking about something I'd never heard of, or would be explaining something I'd never quite understood, and I'd think "I wish I'd known about this years ago!" It's a good reminder that there's always something to learn, and always something to teach. I'd encourage anyone who's been thinking about speaking at a conference to give it a go - you might be surprised at how much you have to offer! It reminds me of one of my favourite XKCD comics, about being one of "today's ten thousand".

You're one of today's lucky 10,000
You're one of today's lucky 10,000

I'd like to say a particularly big thank you to the organisers of PHP UK for taking a chance on me, giving me the opportunity to speak, and for putting on such a great event - Blue, Sam, Matt, Paul, Chris, Megan and no doubt countless others whose names I've forgotten all made it an event to remember! It was a great experience, and I'm already looking forward to the next one.

Wrap up
That's a wrap!

As for the talk itself, how did it go? Well, you can see for yourself below!


CyberWiseCon 2025 Speaker

CyberWiseCon 2025

In May 2025, I'll be giving a talk at CyberWiseCon 2025 in Vilnius, Lithuania. From selling 10 Downing St, to moving the Eiffel Tower to Dublin, this talk covers real-world examples of unconventional ways to stop scrapers, phishers, and content thieves. You'll gain practical insights to protect assets, outsmart bad actors, and avoid the mistakes we made along the way!

Get your ticket now and I'll see you there!


Share This Article

Related Articles


Lazy loading background images to improve load time performance

Lazy loading of images helps to radically speed up initial page load. Rich site designs often call for background images, which can't be lazily loaded in the same way. How can we keep our designs, while optimising for a fast initial load?

Using Google Sheets as a RESTful JSON API

Save time by not building backends for simple CRUD apps. Use Google Sheets as both a free backend and JSON API endpoint!

Serverless caching and proxying with Cloudflare Workers

Using Cloudflare Workers we can quickly build an effective API proxy, without spinning up any additional hardware. Whether its needing a CORS proxy, speeding up slow APIs via caching, or rate limit management on stingy APIs, this serverless tech is as easy to set up as it is powerful.

Idempotency - what is it, and how can it help our Laravel APIs?

Idempotency is a critical concept to be aware of when building robust APIs, and is baked into the SDKs of companies like Stripe, Paypal, Shopify, and Amazon. But what exactly is idempotency? And how can we easily add support for it to our Laravel APIs?

Calculating rolling averages with Laravel Collections

Rolling averages are perfect for smoothing out time-series data, helping you to gain insight from noisy graphs and tables. This new package adds first-class support to Laravel Collections for rolling average calculation.

More