Yesterday, I gave a talk at WordPress Suffolk, called “Introduction to Using Coding Standards in your WordPress Project”. While I’ve spoken in a panel at a WordCamp, and given talks at meetups before, this one felt like the first one that was a classical long-form, full of slides, with a Q&A at the end.
Here are the slides: https://garyjones.io/slideshow/wpcs-wpsuffolk.
WordPress Suffolk is a new monthly meetup group in Ipswich. I’m already a co-organiser for the WordPress London meetup, so I wanted to help support this group. When I asked who was speaking at the next event, Dan jokingly said “Gary Jones”, but I was already considering applying to speak anyway.
WordPress Coding Standards released version 1.0.0 recently, and I knew I wanted to do an introduction talk. I’d seen Juliette Reinders Folmer give an excellent technical talk about PHP_CodeSniffer and WPCS, but I wanted mine aimed at a less technical level.
Turns out, this was perfect for the new Suffolk group, who were generally a bit more technical than a typical WordPress group, but who hadn’t done much regarding code standards before.
The Suffolk group was small – about 10 attendees in total, including the organisers and speakers. While it might have seemed that the hours invested in writing, practicing and otherwise preparing for the talk (including the time and expense of travelling three hours each way, and staying the night at a local hotel) might have seemed excessive, I knew this would be good experience for me, and it be a talk I could deliver again if I wanted.
I felt that the talk went well, though one bit took me by surprise. I tried to engage the audience with some PHP compatibility questions (which version of PHP were namespaces / short array
I’ve not watched the video back yet, but I was told there were far fewer “ums” and “errs”, making it seemed more polished compared to my previous talks. I’d been through my talk a few times, and knew I could roll off the points without too much scripting. I did have a few extra supporting points in my speakers notes that I forgot for one particular slide, but I can work on that.
I really wanted to have a strong start. I used what someone described as a “left field” approach, with intrigue regarding the Apple goto fail bug, and linked that into coding standards. The most impactful start of a talk I’d ever heard was Chris Lema, who’s story started with a line like “Her name, was Melanie”. Mine was:
“It was one line of code. The bug had existed for a year. The file was open source, and publicly available since before then. The function with the bug was related to verifying server key exchanges, security at the operating system level, that many applications relied on. There was even a rumour that the NSA was making use of the bug for its own needs. And yet all of this could have been avoided had coding standards been followed.”
Pauses were added for dramatic effect. Doing this means that I had a calm start (and didn’t talk too fast), and I could build the enthusiasm as I progressed. Since I’d just been introduced by the host, I didn’t feel it was worth spending those first critical moments explaining who I was and why I was qualified to give the talk; that would be seen through the talk and my name and contact details were on the final slide.
I’d also concisouly made some decisions about the slides themselves. I used dark colours for most slides (so the focus would be on me more), with generally a few words or code snippet on each, though one or two had a quote or longer list. I did use a light background for the final slide – a good way to wake everyone back up, and provide some incidental light on the audience for when they were asking questions.
I used the Presenter plugin for WordPress, which is a wrapper for Reveal.
Since the talk seemed to go so well at WordPress Suffolk, I’m now considering doing it for other local-ish meetups and maybe even a WordCamp. I’ve been asked to deliver it at WordPress London, so that will likely happen at some point!