I had a great time at the recent PHP Benelux Conference in Belgium. There was a real mix of very interesting people to talk to, and I came away from it buzzing with new ideas (and a ridiculously long todo list). Some of the conversations I had during the weekend were around technical presenting at conferences and usergroups, so I thought I'd collect a handful of the tips that were discussed into a post, and use a few of my favourite speakers at the event to illustrate them.
David is the project lead on the Agavi framework, and the founder of the consultancy Bitextender. I've seen David speak a fair few times, and for my money he is one of the very best anywhere at presenting technical information in a clear, digestible way - his talk at PHP BNL 12 about Hadoop being no exception. There are principles at work in his presentations that are worth noting:
Make concepts concrete with examples and demos - When you're talking about a technical subject, you're usually introducing some technology that the attendees are unfamiliar with. Most conference talks are 45min-1hr, including time for questions, so there isn't time to teach a subject - rather you have to focus on inspiring. This means it's vital to mix conceptual, general information with specific, concrete examples and demonstrations so that people can immediately see applied what you have just described to them.
David is brilliant at this, constantly switching between the idea he has introduced, and practical applications. For example, in his PHPBNL12 Hadoop talk he discussed the idea of writing mappers and reducers in PHP, then showed it with actual code examples and a demo. After proving that, he then discussed the value of combiners as a way of reducing data transfer, and then showed that. If he had described them all at once then just showed the final demo, his talk would have been less memorable and less effective.
Structure your talk to repeatedly ask and answer questions - One of the worst sins in a technical presentation is to be boring, but that's exactly what many presenters end up with (and I'm as guilty of that as anyone). This usually happens out of the best of intentions, as the speaker wants to introduce sufficient background before moving on to how the subject of the talk solves the problem. Good talks repeatedly introduce problem/solution pairs, so that there is a constant stream of interesting contrast. David is very good at breaking down a problem in to these steps. In his Hadoop talk he bounced between problem and solution very smoothly:
- Problem: Big data is big - reading 180GB of a disk will take ~45 mins
- Solution: Split your IO across many machines
- Problem: But now you need to coordinate those machines
- Solution: Mapreduce paradigm
By introducing problems then solutions, he holds the interest of the audience, and naturally splits the information into bite sized chunks.
Rowan is a technical lead in the Sheffield office of consultancy Ibuildings in the UK, and a conference regular. He spoke at PHP Belenux on project estimation.
Care About The Visuals - Presentations, even technical ones, are not about the slides - they're about the speaker. That said, if used effectively slides can make a big difference in how well the audience understands the topic. You don't need a slide for every point, and you definitely don't want to fill your slides full of text, but you should pay attention to making every slide you use, clear, effective, and attractive.
Slides form the back drop, and particularly on a large stage you can be quite a small figure walking in front of a big glowing wall of picture or code. Rowan always puts a great deal of effort into coming up with a theme for his slide design, and it immediately sets the tone for his presentations. Take a look at the day of the dead style figures in his estimation talk, the comics and characters from his legacy code presentation or the Alice in Wonderland theme in his depedency injection talk. Not only are these visually distinctive, the code and text is usually large, clear and syntax highlighted. Not everyone will have the time to pull together a complete theme for a talk in this way, but at minimum the slides should be clear and consistent.
Project Confidence - Note that this isn't necessarily about being confident! Every speaker gets a dose of nerves before presenting, and I suspect if you didn't it would be because you didn't really care about the outcome. Rowan is amongst the most unflappable people I have ever encountered, and even after some fairly disastrous technical problems has come out and given clear, confident and unrushed presentations. His even, well paced tone conveys experience and confidence, and it helps the audience to trust that what he's telling them is worth listening to (which it is).
Of course nerves can be tough to control, so if you do find yourself panicking, try to slow down, take your time and relax into the talk. The confidence that truly underlies a presentation is in the speakers depth of knowledge and understanding of the topic - the better you have a technical grasp of the subject the more comfortable you'll be speaking about it. Rowan's confidence in his estimation talk was a reflection of the fact that he had personal experience with the techniques he was discussing, and that showed.
David is the co-founder of Orchestra.io - a PHP PaaS - and the president of PEAR. He closed out PHPBNL12 with a fantastic keynote talking about the future, and what PHP has evolved into.
Be Conversational - Tone of voice can be tricky in presentations - a lot of speakers that can enthusiastically explain a technology in the bar afterwards find themselves stilted and overly formal when talking about the same thing in a conference session. The best talks fuse that relaxed, spontaneous and enthusiastic style with a polished delivery - it's like the perfect version of that bar conversation. David is personable, funny, and entertaining in real life, and that doesn't go away when he takes to the stage - he's not afraid to talk to a crowd in the same way, and that makes his presentations engaging and natural. It's hard to fake that kind of style.
Engage The Audience - It can be hugely useful to tune a talk towards the audience by directly getting them involved and answering questions. This can help avoid confusing an audience with a talk which assumed experience they don't have, or boring them by explaining things they already know. David wasn't afraid to get feedback from the audience along the way during his keynote by asking questions, asking for applause, and engaging in the occasional bit of banter.
Importantly, he was usually asking the audience to do something en masse, like put up their hands if they used PHP 5.3. This is a lot more likely to get a response, particularly with a cold audience (which after two days the PHPBNL crowd definitely were not). David wasn't afraid to challenge the audience with questions and ideas that maybe ran contrary to their points of view, because he regularly interacted with everyone and responded to what they told him.
One last tip that I got from the conference came from one of the organisers, who was describing Aral Balkan (a truly incredible speaker) setting up before a keynote presentation at DPC. He came in early, and on finding that the laptop position was off to the side of the stage, asked for it to be moved to the center. He laid it down in simple terms: if the environment is not set up as he wants it, the quality of the presentation is going to be effected. This wasn't diva behaviour, this was Aral having respect for his audience and his hosts, and wanting to deliver the best presentation he could. Getting there early and getting things setup the right way can make a real difference in how comfortable you are presenting, and that could make the difference between a good performance and a bad one.
There are a hundred other great ideas, so please feel free to leave a comment with your own thoughts! All the photos in this post were
internet pirated used under CC from Josh Holmes (a very good speaker himself): David C, David Z, Rowan.