Monday, November 7, 2011

How To Give Better Technical Presentations

I give technical presentations at work occasionally and I actually enjoy it. I’m talking about spending an hour talking to 15-20 coworkers about something neat like the latest developments in databases, web technology, etc., with time included for Q&A.

I get a lot of great feedback each time, which make it very rewarding. I must be doing a good job if I've convinced people I’m an expert on any of what I’ve presented (I rarely am but some seem to think so!). I think the real trick is just staying two pages ahead of the audience in the proverbial textbook. I know what’s about to happen on the screen; it’s loosely scripted. I’ve chosen to present the parts I like (and understand). And most importantly, I’ve practiced the whole thing a dozen times, and the hard parts (usually programming on the spot) a dozen more times.


That’s really the only reason I look like I know what I’m doing: I prepare. A lot.

I also benefit from experience, but you have to start somewhere. Here are a few tips to motivate you to take up small speaking roles and give better presentations.

First of all, and trust me on this: it’s easier than it looksIf you have a topic you are deeply interested in, speaking on it is easy if you do the right preparation. The hard part is finding the time to actually do all that preparation.

If this is all very new to you or you're having trouble visualizing what a cool presentation might look like, my advice to you is to go watch a few stellar examples. Jump on channel 9 and poke around. Look at anything by Hanselman. Check out this neat thing from Steve Sanderson. If your presentation is less technical, and short, check out pretty much anything on TED.

Then face the facts: you are not going to be as awesome as these guys. They are pros. But aspire to greatness!

Ready to present? OK, here are a few tips to make your presentation better.

Don’t speak slowly or change how you speak. I think the age old advice to speak slowly and clearly  is bogus. Does it really make sense that we should have to aggressively alter how we speak for others to understand us? I mean, shouldn't we be pretty good at talking? Sure, you need to be heard, but otherwise I encourage you to go natural. If you are concerned that a particular part of the talk is overly complex then simplify it and repeat yourself. This is hard to do but being able to describe a complex topic elegantly and effectively is very satisfying.

Walk us through what you’re doing and why. If you’re demoing code, don’t just read aloud what you are typing (we are watching your screen, after all). Instead, narrate what’s happening in a more conversational way. Your presentation should be a story with all three parts.

Focus on interesting details, skip uninteresting minutiae. This works especially well if you make your source code available. Tell the audience up front that everything you show will be theirs so they can just follow along with you without fear of being unable to reproduce what you have later.

Don't dumb it down. Unless you are giving a beginner's guide to whatever, aim high. The 25% who know it all already will appreciate not being bored to tears simply because of the fast pace of things. The 50% who can just barely keep up will love it  because they'll find everything facsinating (and they'll learn a ton). The 25% that can't keep up wouldn't have learned much from a lower density presentation any way. Don't let the bottom quartile ruin your presentation for everyone else.

For the love of all that is holy know how to use the presentation equipment. I refuse to be that guy stuck in the front of the room fiddling with the projector and microphone for the first 15 minutes of a 60 minute talk. Don't be that guy. I usually present in the same room with the same equipment but I still show up an hour early to get everything ready to go.

Don't be afraid to let others help you. If you are supposed to record something or teleconference the talk, ask a trusted coworker or friend to oversee that stuff. You don't want to be worrying about it if you can help it. This works for simple stuff, too. You can ask someone to keep an eye out for questions in the chat room or let you know if you went too quickly through something.

"Great tips, but how do I actually put one of these together?" you ask? Unfortunately, it's a lot of work, but the more work you do to prepare, the easier the actual presentation will be. Don't skimp on preparation (your audience can tell)!

I think most presentations are terrible because the presenter wasn't honest with himself regarding what needed to be done. There’s a lot more to presenting than many realize:
  • Pick a topic
  • Identify what you want to cover in the topic
  • Make an interesting outline of everything you want to cover
  • Practice it, cutting out stuff until you’re at about 40 minutes (throwing away content is the hardest part)
  • At this point you should be very satisfied with what you’ll cover. Now you can build your assets (code, slides, etc.).
Practice, speaking out loud, everything you think you need to say and do. Leave awkward pauses where you plan to take questions and actually go through the coding exercises you plan to do. Oddly enough, I feel more ridiculous speaking aloud my talk by myself or in front of my wife than I do to a real audience. How do you know when you have 40 minutes of content? You won’t until you practice!

If you're like me, you'll find that you move much faster in front of a crowd (it's probably just all the preparation kicking in!). This presents a significant problem. If you prepare 40 minutes of material, and present it in 30, what are you supposed to do for the remaining time? In practice, a lively audience will double that 30 minutes into 60 by asking questions. Unfortunately, it's difficult to encourage a lively audience. This is where I think humor helps a lot. If you make the room feel small and comfortable, people will chip in to the conversation when you ask for questions.

In fact, when I first started doing tech talks I flat out bribed people to ask questions. I gave away prizes (books on the presented topic, Chipotle gift cards, etc.) to people who contributed. I don't need to do that any more but initially I think it really helped teach the audience that I was serious about interacting with them.

But of course there are times where the crowd is just not into it and you find yourself with a lot of dead air to fill. You need a backup plan for filling that dead air. I always prepare an extra demo or exercise just in case this happens (or some other part of my presentation fails miserably). As I near the end of the talk, I just peek at the clock and decide if "I have time for one more thing" or if "it's time to wrap up and take some questions." Having this buffer is essential when you're just getting started or when presenting to an unfamiliar audience.


And finally, solicit feedback. If you want to get better at this you need to know how you're doing now. The feedback form I pass out at the beginning of the talk has evolved to something that's blissfully easy for people to complete, while still providing me the key information I need to make a better talk. Take it and modify it to suit your needs (don't complain about the formatting...I imported it from some legacy word processing program called "Word").

Now go forth and make a fool of yourself. For science!