Seasoned speakers have a saying “there are two groups of people: those who use speaking skills to improve their lives and those who are too scared to seize the opportunity”. I think it hits the mark. Communication skills are in high demand in every industry, from marketing to IT. For us, developers, good communication and speaking skills mean fewer conflicts and misunderstandings in our teams, better chance to be promoted, more opportunities to influence the direction the codebase and product are going, more visibility for our side projects, better opportunities for career advancement and much more.
This post aims to help you “level up” your communication skills by picking up Public Speaking at meetups and conferences. If you didn’t give any (or gave just a few) speeches before or you are considering giving it a try, then this post is for you. I compiled advice from people who were beginners just like you, but worked to improve their skills. To complement those suggestions I will also share our experiences from working with developers-speakers, as organizers of Scala Wave 2016 and Functional User Group.
Preparing beforehand is a crucial part of every speech, technical or not.
The first hard choice you need to make is picking the topic. Best topics are those who resonate with the audience: something that they do care about, are interested in or want to explore. The topic should be current but not necessarily “hyped”. Good topics often solve a problem the audience experiences. A good rule of thumb is to ask yourself “would I want to learn about this topic?”. In the end of the day, your goal should be to fill the audience with people excited about the same things you are.
Jacek, one of my “sources”, pointed out that you don’t have to know everything about a given topic, it’s enough to feel comfortable with it. It might sound counter-intuitive, but picking a topic for a speech might boost your learning.
If you get stuck trying to pick up a topic, but you have some candidates, you can contact the organizers and ask for advice. Of course, they won’t pick a topic for you, but they might give you valuable advice - point out duplicate or recently presented subjects, explain what is the audience you should expect … This should make the choice easier and give you more insights to prepare better.
Having picked a topic, the next thing is to prepare the outline of the talk - key points you would like to address. When you know “what” you want to talk about, you are halfway there. Key points are the backbone of the presentation, but usually you would like to support them with slides.
A trick many speakers use is to show the agenda as one of the first slides. This helps the audience to understand where they are heading. Adding a summary slide at the end is also a good way to collect the points made throughout the talk.
There are few hints regarding building slide decks. First of all, try not to do them the night before - this is additional stress you don’t want to go through. Most speakers advice not to put too much content on the slides. Of course, you can fit whole 9,000-word Wikipedia article on one slide, but effectively you can pass much less information. Use slides to display images, sketches or schematics. You can also add funny pictures to make your punchlines stronger and jokes funnier, but use it with caution - you don’t want your audience to be distracted by cat gifs when you are explaining important concepts.
When showing code, make sure it’s readable and focused. The audience should be able to understand the code and on top of that know, which lines you are talking about at the moment. There are few techniques to make it happen - drop boilerplate, use high contrast, make the code you are talking about bold or change its color …
The outline prepared and backed by slides. Now - rinse and repeat.
Practice makes perfect, so make sure you practiced the talk at least few times. Do it aloud - speaking in your mind and aloud are two completely different things. Keep in mind that your ultimate goal is to share knowledge, you don’t have to memorize the whole talk. The outline, you prepared earlier, is what you want to share so make sure you can speak to it. One exception to this rule is the opening of the talk. Standing in front of the crowd, stress will kick in and you might find it hard to start - preparing few initial sentences will give you a head start and defeat stage fright.
To make the practice more effective consider recording yourself. It might feel strange at first, to hear your voice as other hear it, but this might give you better insights into how the talk could be received. You can push it even further - there are mobile VR apps that put you on a virtual stage in front of virtual people, then grade your performance and give suggestions. It’s intimidating at first, but also quite funny.
On top of that, you can do a “dress rehearsal”. If you are giving a technical presentation you will easily find team members who would like to listen you talk. It’s a perfect audience to test your delivery. On one hand they have the experience and know-how to understand the topic, on the other they will be more eager to help you improve. Perfect audience if you ask me.
An advice from Lech, is to make sure you can go through the whole outline in 80% of the speech time. This way you can avoid being late, rushing the presentation and make sure you have time for questions. The conference organizers will also help you with being on time - usually by providing you a clock with the time left.
The speech is prepared, you did train the delivery and the big moment is right around the corner. What to keep in mind when you’re on the stage?
Firstly, try to talk slowly and clearly. Don’t rush - your goal is to share your experience or influence the audience, not to get out of the stage.
Of course, it’s not easy to perform under stress Stress is in your head and, in the end of the day, your attitude towards it is what makes all the difference. To deal with the stress, consider your audience to be your friends. They are people just like you and you have a lot of common. In fact, they want you to succeed as much as you do. Jacek, takes it even further - to battle stress find a person in the crowd that seems interested and excited about your topic and try to “talk to him/her”. If you have at least one friendly face in the group, the speech will become much more personal and less troubling. In the worst case - you can simply bring your friend to the audience.
An open, friendly tone of the whole presentation has more to it than just that. It helps you to behave natural and the audience to be more forgiving in case you make a mistake.
Sometimes, things go wrong not because of you. Apps crash, slides don’t rewind, sound systems don’t work … The best way is to take it with a smile. When something goes wrong, tell a joke. It will make you feel better about the situation, the audience won’t get too distracted from your talk and it will give the organizers some time to react and fix the issue.
Technical problems are especially cumbersome when doing live coding. If you decide to live code always keep the correct code near you. On a piece of paper, in another window or branch. This way if, under stress, things go bad you have a fallback to use. Keep in mind that you can’t rely on conference Wifi - organizers are doing the best they can, but with a big audience it’s hard to keep the connection fast. Make sure your build tool is set to “offline” or has the dependency cached locally. If you absolutely need internet consider using LTE from your phone. As a plan B you can also record accessing the external resource.
When you reach the end of the presentation it’s typical to ask for questions from the audience. A small hack that could help you to encourage people to talk is to ask “What are your questions?”. This way you kind of force questions out of the crowd. Another trick you could use to engage the audience is to ask them questions. Opening the talk by probing the audience (“Who here has used X before?”) or asking questions related to the presentation (“Who thinks the output to this code will be true?”), is a great way to make sure the public is following.
Sit down and relax - you deserve it.
Congratulations, you made it! But the work doesn’t stop here. You overcome your fear, now it’s time to refine the skills. Here are some resources to help you in the way forward:
Having said that, I would also like to mention that this year Scalac is organizing a second edition of Scala Wave conference. You can check it here