Be ready for failure on stage: introducing the Speaker Buddy System
Tags: community, devrel, speaking
Published: 2022-11-24 14:45:38

## Conferences

I love ❤️ going to in-person conferences, especially when I'm invited to speak there. Although I've been speaking at dozens of conferences and meetups over the past years, I still have impostor syndrome when it comes to speaking. Some people really seem to have a gift for public speaking, and sometimes I feel way out of my league. I do realize those experienced speakers have been practicing for years, and perhaps I'll get there as well, practice makes ~~perfect~~ improvement! 💪

## Failing on stage

One thing that can throw me off during my speaking sessions is technical issues. And I don't mean failing demos (I'm used to those 🫠), but audio/video issues that require minutes (feels like hours 😭) to solve.

A couple of weeks ago, I had such an issue where my laptop didn't mirror the screen to the AV system. I was using a MacBook that I had used a dozen times before, but I'm not very familiar with macOS, and even when I got some help (and tried multiple adapters), the issue wasn't solved. It was a few minutes past the official start time of the talk, and I was now getting nervous (and I'm quite a chill person otherwise). Luckily the speaker before me ([Mattias Karlsson](https://github.com/devlead)) had a brilliant idea: he asked me to install TeamViewer on my laptop, connect to the TeamViewer session on his laptop, and he would connect his machine to the AV system. This worked like a charm (WiFi was reasonable), and I was able to start my talk about 5 minutes late. 🎉 The stress I built up during those minutes was not beneficial for my delivery though. My breathing was shallow, and my pace was too fast.

Could I have prevented the technical issue? No, but I could have been better prepared.

> TLDR: Have a look at the [Speaker Buddy System](https://github.com/marcduiker/speaker-buddy).

## Preparing for failure

There are several ways of preparing for technical issues. I'll share some of my ideas, and close with an idea initially proposed by Mattias, called the Speaker Buddy System.

I won't cover 'my demo doesn't work' failures here, since these things can be solved in different ways, such as; showing a solution that has been prepared beforehand, or recording the solution before the conference and playing it back during the session.

The general idea to overcome a catastrophic (laptop) failure is to ensure that your presentation, code, and demos are available on other environments you can quickly access.

Let's go through some solutions:

### Bring a second laptop

Yes, it can be that 'easy'. But one, you need to *have* a second laptop (💸), and two, you need to take it with you when traveling, which isn't always an option. I have a small Windows Surface Go that I usually bring with me next to my main laptop.

### Cloud storage

For things that don't require showing or running code, you can use a cloud storage solution like OneDrive, Google Drive, Dropbox, or even a git repository. I use OneDrive to store and access my presentations. If your laptop fails, you still need to use another machine, but you can access your presentation relatively quickly (if you have access to the internet).

### Cloud-hosted coding environments

When you *do* need to show, or run, code in your session, make sure you can run it in the cloud instead of your own machine! I have all my source code on GitHub, and I'm using [GitHub Codespaces](https://github.com/features/codespaces) so I can run a demo completely in the cloud if necessary. There are many similar solutions out there such as [Gitpod](https://www.gitpod.io/), [JetBrains Space](https://www.jetbrains.com/space/), [CodeSandbox](https://codesandbox.io/).
The downside of this solution is that it does require a good internet connection.

> **TIP**: If your source code is on GitHub, and you just need to show the source code, you can use [github.dev](https://github.com/github/dev), a lightweight, browser-based editor (based on VSCode) you can access by replacing `.com` with `.dev` when typing the repository URL. It even supports some extensions such as the brilliant [CodeTour](https://marketplace.visualstudio.com/items?itemName=vsls-contrib.codetour), which is great for showing code in a guided way throughout your session.

## The Speaker Buddy System

This is the idea that Mattias and I talked about after my failing laptop experience, and I love it! We named it **Speaker Buddy** (not to be mistaken with [Conference Buddy](https://www.conferencebuddy.io/)), but I'm open to better names. In the solutions mentioned above, you still need access to another laptop (and the internet), and the Speaker Buddy system solves this!

### 1. For conference speakers

#### 1.1. For speakers who want to volunteer as Speaker Buddy

You can be a Speaker Buddy if you enjoy helping others to be successful during their talks.

You can help out by:

- Being kind and respectful (e.g. following the Code of Conduct of the conference).
- Announcing that you're available to help out as a Speaker Buddy (preferably do this via the conference organizers and their communication channels).
- Agreeing up front how you can help (see 1.2).

#### 1.2. For speakers who want a Speaker Buddy

If you are going to speak at a conference and you want another speaker to have your back in case you run into technical issues or just want a friendly and supportive face on the front row, then this is for you!

Once the conference agenda is known and the Speaker Buddies are confirmed by the conference organizers, contact one of the Speaker Buddies (who does not speak at the same time as you!) to ask if they are willing to help you out in case of technical issues/laptop failure, or just being there as a friendly face in the audience. If they are, you can discuss the details such as:

- Supporting you by sitting in the front row (smiling and nodding).
- Have a copy of your presentation on their machine.
- Cloning your code repository, installing SDKs and tools on their machine, if you want to show/run code locally.
- Doing a (remote) dry run via their laptop to be completely prepared for a technical failure. (You also test your database backups right?)
- Is there any other way your buddy can help you out? Can they tell a funny story during the technical issue, ask a relevant question, help out in case you get difficult questions, or do something else to put you at ease?

> Even with the existence of cloud-based coding environments, I still suggest having a local environment available in case the internet connection is not good enough.

### 2. For conference organizers

I know organizers have a lot to worry about when organizing a conference, and most of the conferences I attended did a good job regarding the AV setup. I prefer when there are hired AV professionals to help out, but in case they are not, please ensure there is at least someone from the organization available in the room to assist when technical issues arise.

Additionally, you can offer your speakers some peace of mind when they know someone has their back in case of technical difficulties (e.g. laptop failure).

### 2.1. CfP preparation

When preparing the Call for Papers (CfP), add a field to whatever system you're using to have the speaker indicate if they are willing to be a Speaker Buddy. Include a link to [this repo](https://github.com/marcduiker/speaker-buddy) so they can read more about it.

### 2.2. Speaker onboarding/confirmation

When onboarding/confirming speakers to your conference, mention the Speaker Buddy System and provide the list of speakers who have volunteered to be a Speaker Buddy.

Feel free to use this template in your communication:

---

Hi {speaker},

We highly encourage you to look for a Speaker Buddy before attending our conference.

A Speaker Buddy is another speaker that can help you out in case of technical issues (e.g. laptop failure).

These speakers are volunteering as Speaker Buddies:

- {list of speakers}

Our conference agenda is published at {conference agenda url}, so look for a Speaker Buddy that is available during your session. 

It's best to prepare well in advance. For more information on how to be prepared, read the tips at https://github.com/marcduiker/speaker-buddy.

---

### 3. Preparing the event location

When you prepare the conference rooms, label a front-row seat for the Speaker Buddy. This way, they can be supportive and help out the speaker quickly in case of technical issues.

## Let's use it!

I've put together a [repository](https://github.com/marcduiker/speaker-buddy) that contains most of the info in this blog post. I highly encourage conference organizers to refer to this repo in their communication to inform speakers about the Speaker Buddy System.

If you see an opportunity for improvement, please submit an issue or pull request! ❤️