Recently a few friends of mine have been asking me for speaking advice and I figured such advice would be useful for others as well. This post is going to cover a bunch of different areas on technical public speaking. Some of this advice is on the computer you’ll use to present with, some will be on the presentation deck itself, body language, crowd control, etc.
I've given dozens of talks throughout my career with 18 of them given in 2017 alone (I was doing a book tour that year for my third book, Advanced Microservices). I've been going to Meetups and conferences for several years, sometimes three a week, and I've certainly amassed opinions as an audience member as well.
If you have a longing to advance your career, have learned something really cool that you want to share with the world, or simply have a mean boss who’s making you give a talk, then this is the post for you.
It’s the year of the Linux desktop, right?! I exclusively do all my development on a Lenovo Carbon X1 laptop running Linux. The machine is solid, has the best keyboard I've ever used, and compatibility between OS and Hardware is perfect! Unfortunately, compatibility between the laptop and exotic / cheap projectors and dongles is very much hit or miss.
It pains me to admit it, but I have a cheap MacBook Air specifically for giving presentations. If you’re also making use of a PC I recommend you consider hitting up Craigslist and grabbing a cheap Apple laptop. Between Windows, Linux, and macOS, I've had the least number of technical hiccups when using macOS.
Of course, you’re also going to need the appropriate adapters. In 2018, most projectors you will use are going to use HDMI. If you’re presenting in a stuffy corporate office, or an unkempt Holiday Inn, you might even encounter an antiquated VGA cord! Other ports like DVI and Display Port are almost unheard of. I once worked at a mac-heavy office and they had Mini Display Port projectors in each room. When you do buy adapters be sure to find the nice quality ones, especially OEM adapters if you can. Avoid the off-band adapters, like the ones by Monoprice, in order to maximize compatibility. Contact the venue ahead of time and figure out what their hardware requirements are.
I also recommend you pick up a “clicker”; these are small handheld devices for navigating your presentation without having to press keys on your laptop. The one I own is the seemingly ubiquitous Logitech Wireless Presenter R400; it works great with any OS I've tried it on and costs about $35 USD. It can trigger the arrow left, right, escape, and I think the F6 key presses.
Once you get to the venue ask an organizer if you can test your machine with their hardware. If you’re speaking at a conference then make sure you test in the same room with the same projector you’ll be presenting with. Even the slightest hardware difference can result in a compatibility bug.
When I spoke at Forward JS, I brought TWO laptops with me; first my trusty Lenovo Linux laptop, as well as my MacBook Air. I first tried the Lenovo with their projector, and it didn't work. I then pulled out my trusty MacBook Air… and it didn't work either! An organizer and myself had to run around finding different adapters until we finally found a combination that worked. Always test before you present! You don’t want to cut into presentation time by awkwardly trying to fix hardware problems. This can also leave you feeling befuddled which will affect the quality of your talk.
If you do choose to present with an Apple laptop, be sure to install a handy application called Caffeine. This app provides an icon in your menu bar which you can click to toggle the state. When enabled it will prevent your laptop from going to sleep. Having your laptop fall asleep during a talk is very distracting. During the Q&A period it’s not uncommon to get twenty minutes of questions and it’s much more beneficial to have a slide on screen with a call-to-action instead of the logo of the projector manufacturer.
And finally, close any messenger or email applications which you have running on your computer, especially if they display any sort of on-screen messages when a new message is received! Having tiny messages display on your screen is a distraction, both to the audience as well as yourself. Ideally, your audience should never have any idea what OS you’re running on your laptop. Only the fullscreen presentation should be seen by the audience.
Avoid Live Demos
When I look back at the hundreds of talks I've attended, and I think about the most embarrassing situations I've seen, they usually have the same thing in common: the live demo went wrong.
Why do live demo’s go wrong? For starters, WiFi just sucks, and the suckyness of WiFi correlates with the size of an audience. Imagine giving a talk at a conference. It’s at a Holiday Inn, which we all know isn't spending all their money on network infrastructure. There are 100 people in the audience. Each one of them connects their phone and laptop to the WiFi. Their phones start downloading OS updates and refreshing their Spotify caches. It’s all a lot of bandwidth being used. If your demo relies on an Internet connection then all hope is lost!
Another reason demos break is that the speaker is nervous. Think of the last time someone was standing over your shoulder while you wrote code. The number of typos you make will increase. Change one set of eyes to 100 sets and there’s going to be a few more typos.
If you ever find yourself wondering if you should do a live demo, think really really hard about it. Other than my earliest of presentations I've not done any with live demos. If I can survive this long without them, surely you can too.
Practice Makes Perfect
Practice giving your presentation as many times as you can. I personally practice giving a talk at least 5 times before I give it to a real audience. You should practice so much that giving the talk is almost boring. While giving the talk it’s easy to get distracted, lose your place, and slip into a panic. After enough practice your familiarity with the slide content and their order will be so strong that getting tripped up will be impossible!
Of course, present in front of others as well. This is where your coworkers come in handy. Book a conference room for a half hour, send out a bunch of invites, and then give the talk in front of them. Make sure to have them ask as many questions as they can. Then modify your presentation to address the applicable questions. Try to anticipate every obvious question while writing your presentation.
Avoid Speaker Notes
Try to avoid using speaker notes, which is a feature offered by software like PowerPoint and Keynote. The problem with speaker notes is twofold. The first one is that some presenters will focus too much on reading the notes which can result in a monotonous presentation. If you’re not looking at the crowd it’ll be hard for them to pay attention to you. Also, if you’re not looking at the crowd, then you can’t gauge when you've said something which requires clarification.
The second issue with speaker notes is a technical one; not all locations are going to support a situation where you can view the speaker notes. For example, if there’s no podium for you to put the laptop on and view the screen, you’re out of luck. Also some operating system and projector combinations seem to have issues with disabling screen mirroring. I've seen several presentations where the presenter is unable to get speaker notes working. “Oh no! My presentation notes aren't displaying properly! Sorry, I guess I’ll have to wing it.” If you don’t use speaker notes this situation won’t trip you up.
Don’t submit a talk pitching a library you've built. Don’t give a talk which is a product sales pitch in disguise. Your goal with giving a presentation should be to make the audience more knowledgeable, to make the world a better place. It shouldn't be to sneakily sell a product.
Some larger conferences are more sales oriented, or even have a track especially for corporate sponsors and marketing products. In those cases it’s okay to pitch a product. If the organizer of an event explicitly invited you to speak about a library you've built, then it’s also okay to give such a talk. Otherwise, just don’t do it. It’s rude to the audience.