Give your simulator superpowers

RocketSim: An Essential Developer Tool
as recommended by Apple

Presentation tips for performing professional Swift talks

Presentation tips can help you perform professional Swift talks by making sure you’re well prepared and professional-looking. Last week, I gave a talk at SwiftLeeds, and I realized all my experience from 5 years of talks at multiple conferences and meetup talks was a bit lost.

You might not know, but I initially started writing my weekly articles as a personal knowledge base. I’m revisiting my articles quite often to find back how I solved something the other day. The purpose of this article will be the same and will make sure I won’t forget to apply my experience from previous talks on a new talk to give.

Preparing a presentation

The preparation phase will result in the foundational layer of your talk. After picking a particular topic, you’ll have to gain ideas on what your speech should at least cover.

Determining the body of your talk

I always start with asking myself a few questions:

  • What topic do I want to discuss?
  • Which questions do I want to answer?

Answers to these questions will form the body of your talk. It’s unlikely you’ll answer all questions the audience will have, but you should clear the most obvious ones by answering these questions well during the preparation phase.

Creating a first draft of the story

By opening a simple notes app (I use Typora) and writing down a draft of the story, you’ll get into the idea of the talk. Creating an overview of the topics in an ordered list will give you insights into whether you will tell a complete story. In some cases, you might find out your talk is missing a crucial part and, for example, jumping into the solution of data races without explaining how to detect data races.

After defining the body, I always like to think of a funny way to start my presentation. SwiftLeeds took place after 1,5 years without any in-person conference. Therefore, I decided to show a picture of me performing at a Christmas party as a throwback to my last known performance:

My last given presentation before my SwiftLeeds talk: as a tall guy I had to perform like a tree
My last given presentation before my SwiftLeeds talk: as a tall guy I had to perform like a tree

It turned out to be a fun start for my talk, and it allowed me to be who I am. I like to make (sometimes stupid) jokes in real life, so why not do the same on stage?

Later on, I showed two videos of our animals as a metaphor for Data Races:

  • Bernie running into me as a puppie dog
  • Chickens running together towards food

Both videos made my slides less boring while at the same time making them super personal. If you follow me on Twitter, you know about these animals, so they have to appear in my talk!

Performing any necessary research

Whether or not you know the topic well, you have to perform some research to become a close-to-expert. My personal preference is to write about the topic in detail the weeks before I start creating slides. During SwiftLeeds, I spoke about Data Races and Actors, for which I had several articles written in advance:

Not all content from these articles should end up in the final presentation, but it’s a great way to get detailed insights into your topic.

Creating the actual slides

I’ve done most of the work after reading the above paragraphs, is what you might think. However, creating the slides can be time-consuming, especially if you’re picky.

Deckset or Paste allows focussing on the contents of the slides instead of the look and feel. It’s easy to get lost in making your slides look pretty instead of making sure your slides cover your entire talk.

Once I’ve finished my slides, I’ll rehearse to find out several things:

  • Does the story make sense?
  • How long does it take to tell the story? is my talk too long?
  • Do I miss any slides?

Once these are all in place, I’ll decide whether or not I want to convert my talk into a more beautiful version. For example, I converted my talk for SwiftLeeds into Keynote to allow syntax highlighting for new keywords like actors, async, and await. Keynote also allowed me to apply animations that helped me better explain my story during the presentation.

Stay updated with the latest in Swift & SwiftUI

The 2nd largest newsletter in the Apple development community with 19,438 developers. Don't miss out – Join today:

You can always unsubscribe, no hard feelings.

Packing your bag

I’m not going to tell you to pack your toothbrush and not forget your passport, but I can tell you a few things to bring to be ready to go from the hotel to the conference. I’m pretty sure I will read through this list next time to make sure I don’t forget anything.

  • A remote clicker (unless you’ll use your phone to switch slides)
  • Your MacBook charger
  • Deodorant if you sweat easily during a performance. You want to chat with attendees afterwards so you better smell good!
  • Branded sweater ánd shirt. It’s likely warmer than you expected at the conference, so make sure you bring a t-shirt you’d like to wear during your talk.
  • Goodies! If you have company stickers, branded socks, or anything else: this is the time to bring it along.

Getting ready to go on stage

The last 5 minutes before you go on stage are essential to make sure you look good.

  • Empty your pockets. Take out your keys and mobile phone. Don’t forget to turn on Airplane mode on your phone to prevent it from making backstage noises!
  • Put off your conference badge. Personal preference, but I find it less professional to have that badge jumping around your neck during your talk. It can actually distract from the story you’re telling.
  • Prepare the (hopefully) wireless microphone. If it comes with a recorder, try to put that in your back-pocket. It will look like you don’t even have a microphone which is more natural. The little mic itself should be attached close to the top of your shirt, but try to not let it make any wrinkles.
  • Put your MacBook in do-not-disturb mode and mute your sound. It happened during SwiftLeeds where one of the MacBooks made a Slack-incoming-message sound: not really professional!
  • Close any applications that you don’t need for your talk

The last one is interesting, and I want to highlight that specifically. I closed all heavy applications before I performed my SwiftLeeds presentation, but it turned out to influence my live demo as my machine was less busy. I’ll be honest, I’m not sure if this was the cause, but I do want to point out that it’s worth performing your rehearsal in the same circumstances as if you would perform the talk.

Performing the talk

Your moment to shine! Performing the talk is the one thing you have been looking forward to for the past few days, if not weeks. You might be a little nervous, which is understandable! Yet, it’s essential to try to enjoy this moment as much as possible. You’ve been picked out of many proposals and allowed to perform an exciting presentation in front of many fellow engineers.

Yet, it might be hard to get rid of the nerves. I created a few thoughts that helped me get rid of most of them:

  • It’s my story. If they don’t like it, it’s not my problem.
  • Getting negative feedback afterwards is very unlikely. I’ve almost never had feedback “dang, you really did bad” or “that was completely wrong”. In my experience, those people won’t approach you.
    • If they still do, that fine too! It’s a unique opportunity to learn from feedback. In other words, this is not something to worry about.
  • I can be proud to be brave enough to get on stage. There’s no failure, it’s already a success to be here on stage.
  • Telling the perfect story is impossible. I’m pretty sure I’ll always forget a certain thing or explain something wrong. In other words, just accept this and don’t worry about it!

These points might sound silly, but they do work for me. I’m the one brave enough, so why should I be nervous! It helped me enjoy giving talks much more.

Performing live demos

Live demos have a close relationship with nervosity. Funny enough: I love doing them! And yes, they’ve gone wrong quite some times. In fact, during SwiftLeeds, my live demo went utterly wrong, but it was almost the best that could happen.

Live demos are natural performances. If something goes wrong, you’ll have to fix it on stage. During SwiftLeeds, I could not solve my problem completely. Still, I did perform a live debugging session in which I demonstrated all my skills, from clearing derived data to resetting the Simulator. It was utterly unrelated to the topic I was talking about, but it was of great value to the audience. One of the attendees even told me afterward:

Once the live demo failure started, I told my colleague to watch carefully. We knew for sure you were not going to give up and demonstrate us insights into problem solving.

Unfortunately, it was not the first time my live demo went wrong. I once used the GitHub API in my live code and encountered a rate limit live on stage. Both live demo experiences taught me to accept failures during live demos by realizing a live demo is always interesting. The question is whether you’ll demonstrate the thing you planned on showing, ha!

Enjoying the aftermath

Once you’ve finished the heavy lifting, it’s time to enjoy the aftermath. Don’t be shy and sit next to all speakers, but be open and engage with the audience. By chatting with other attendees, you’ll be able to get a sense of feedback, and if you’re open to it, you can directly ask for feedback on your talk. It might be a bit confronting, but it’s the best way to learn and grow.

Lastly, you’re done! No more excuses. Take that extra drink and enjoy the party.


Performing a talk is not easy and requires a lot of preparation. Just like with other things, you’ll have to practice and learn to get better. This article is built up from experience at several meetups and conferences and will hopefully help you get better at giving presentations.

If you like to prepare and optimize even more, check out the optimization category page. Feel free to contact me or tweet me on Twitter if you have any additional tips or feedback.