Two weeks ago I had an opportunity to talk at the Code Europe conference in Warsaw. By doing this I managed to achieve one of my long term goals - to speak in front of more than 100 people. It might not sound impressive but given that I am a rather shy person I consider it a success.

I really believe that getting into public speaking gives you enormous benefits. It helps you develop as a person and ultimately become more open and confident. I’m still at the beginning of this road. Nevertheless, I’d like to share some of my thoughts and hopefully inspire some of you to start speaking in public.

Why should I care?

As I already mentioned, I believe learning to be a better speaker can be very beneficial for you. Here is what exactly do I mean:

  • Confidence boost - for me that’s the most important one. By exposing yourself to such a stressful situation (and it is stressful, I’m not going to lie) you lower the point at which other situations seem stressful. Important interview? Having to talk to a stranger? Just remind yourself how you performed in front of a whole group of strangers.
  • Become a better communicator - preparing for an important talk involves a lot of rehearsing. During the rehearsals you get a chance to monitor and eliminate some of your bad speaking habits such as using stop words or gesticulating too much. These improvements stay with you even after you had delivered your talk.
  • Open up new options - not sure if you’d like to be a programmer until the end of your life? Getting involved with public speaking my reward you with some new opportunities. After my conference talk a person from a major Polish IT publishing house approached me to discuss a possibility of me authoring a video course. If you get some experience explaining stuff to people you might discover training is the way to go. Besides, there are many people who just live off giving tech talks.
  • Learn stuff - even if you consider yourself an expert in the topic you’d like to talk about you will still want to do some more research as part of the preparation. You will want to be as prepared as possible for your QA session to avoid the stress of not having an answer to a question. As a byproduct, you will get a deeper understanding of the topic.

Ok, so how do I get started?

Step 1: find a topic

When asked why they don’t try public speaking, many of my programming friends answer: I have no interested topic to talk about. It’s a nice excuse but entirely not true in my opinion. The topic of your talk doesn’t have to be sexy/revolutionary/something-nobody-else-talked-about. I think a great topic recipe is: pick a new framework/language/approach related to your area of expertise, learn it and explain it to people. Many people don’t have time/energy to stay up to date so by explaining the stuff to them you will be providing value.

Step 2: find an audience

This might sound tough for a shy person but it’s not really that bad. The keyword here is meetups. Use meetup.com or if it’s not popular in your town, just check out the student groups at your university. Approach the meetup organizer and offer that you would like to give a talk on the selected topic. If it sounds scary, you can write a personal message to the organizer in which you say that you attended the meetup a couple of times and really liked it and would like to contribute (I did exactly this).

Why meetups? They will provide you with a low-risk way to get started. The audience is not too large and the people who attend meetups are usually there to learn something and not to judge your speaking skills. This was very comforting to me.

Step 3: rehearse, rehearse, rehearse

You can find ton of (often conflicting) advice on how to prepare your presentation. You must really try out some approaches and find what works best for you. What works for me is to sit down with a pen and piece of paper and come up with a storyboard - a series of small rectangles with images and text. They don’t necessarily have to map 1-1 to slides but rather provide a skeleton for your presentation. However, I’d rather focus on things related to reducing stress.

Most importantly - rehearse! From my experience, it’s the single most important way to reduce the stress during the actual talk. You have to build up the confidence that you know what you’re talking about and that you’ll not get lost in the middle of the talk. This doesn’t mean memorizing the whole script - in fact, I would discourage it. It’s more about remembering all the points you want to touch upon during your talk.

Get some audience for your rehearsals - a friend or a spouse. I know, it will feel totally awkward the first time you do it. But trust me, it’s worth it!

Although I would never memorize the whole script, I think it can be helpful to learn the first few lines by heart. It will give you the comforting feeling that no matter what you will not fail at the start of your presentation. Your rehearsals should be as close to the actual performance as possible. Practice your posture, body language, switching slides. Everything matters.

Finally, there is a chance that you’d like to include a demo/live coding in your session. As you may suspect, the possibility of failure during a live coding session is high and therefore this element introduces a lot of stress. Consider recording and playing a screencast - it might seem lame but for most people it won’t matter. And for you, it will be far less stressful.

Step 4: the D-day!

Arrive early and double check all of your dependencies - internet connection, slide projector connection. Definitely get a wireless clicker/presenter - you don’t want to be physically tied to your laptop.

Familiarize yourself with the microphone - your voice will sound strange to you if you’ve never used it before. If you’re not confident about your body stance, the simplest thing to do is to just stand straight and hold your hands behind your back. It will automatically make your chest more open and you feel more confident. It sounds stupid but it really works! And no body language is better than wild, distracting gesticulation.

Enjoy the QA session! If you have difficulty approaching people on daily basis, now is the moment when people are approaching you. Deliver the talk and enjoy the applause at the end!