React Rally 2018 logo

Lessons Learned as a Conference Speaker.

Earlier this month, I had the incredible privilege of speaking at React Rally, one of my favourite React conferences. It was amazing.

My React Rally 2018 talk, “Explorable Explanations with React”

This was my second conference talk this year — the first being at React Europe — and so I wanted to take a step back and reflect a bit on the process. I remember being very curious about how speaking at tech conferences worked, before I started speaking; it felt pretty veiled and mystical to me.

My hope is that this post will be illuminating, especially for folks looking to get started as a speaker. I’ll go through some of the things that worked for me. Your mileage may vary, of course; this is just my experience.

1. 💡 Coming up with an idea.

The first step to any conference talk is figuring out what you want to talk about!

There are a lot of ways to approach this, but my favourite is to come up with something you feel passionate about, and that you feel isn’t getting enough attention.

In my case, I was really passionate about “explorable explanations”. 
An explorable explanation, sometimes just called an explorable, is a project that mixes elements of data visualization, web applications, and video games to create interactive learning experiences. Their goal is to lower the bar for complex subjects by letting the user discover how it works through exploration and experimentation.

Some great examples of explorable explanations:

I decided in late 2017 that I wanted to build my own explorable about how waveforms work. It’s a subject I studied a decade ago, and thought could really benefit from being taught in an interactive way.

After several months of work, the project was launched: Let’s Learn About Waveforms.

The response to this project was overwhelming. I got so many deeply-personal thankful emails, from audio students, to people who had struggled learning it on their own, to teachers and college professors who want to use this tool to explain audio or physics concepts in class.

An example of the kind of feedback the project received.

It made me realize that there is a strong need for this kind of content. React developers already have most of the skills needed to produce these kinds of experiences, so why aren’t more of us doing it?

A conference talk seemed like a great way to spread this message, and get folks excited about building their own explorables.

More broadly, I’m always fascinating by interesting intersections between disparate things. I’d love to see creative coding represented more at programming conferences, for example!

Another category of “things we aren’t hearing more about” are things that our users need, that we tend to neglect: stuff like accessibility, localization/internationalization, performance. If you have ideas to make these things easier, even if they’re still hypothetical, I think it’s super worth pursuing!

2. 👀 Finding a Conference.

Once you have an idea for a talk, you’ll want to find a conference to submit it to!

A great resource for finding conferences is There’s also this repo full of web conferences.

Finally, you can find specific conferences by topic; if you work with React.js, for example, you can check the React conferences list to find suitable conferences.

Not all talks will work for all conferences, so you should spend the time to get a sense of what a conference’s “feel” is.

Additionally, there may be restrictions associated with travel. Being Canadian, I’m fortunate enough that I can travel to most countries in the world without a lot of hassle, but this is not universally true.

3. 📑 Submitting a proposal.

Conferences generally have a few invited speakers, but the majority of the lineup will come from a process known as CFP — “Call for Proposals”. This is an open submissions process where anybody can submit proposals for giving a talk.

While every conference has their own submission guidelines, there are some common trends:

  • A conference will accept proposals for several weeks/months, typically a few months before the conference. This gives you plenty of time to work on your talk, if it’s accepted.
  • There is a “CFP season” in the spring, when a large amount of conferences open up for submissions. Don’t worry if you miss the season, though — there are conferences year-round, so there are always conferences looking for proposals.
  • You’ll often need to provide a short public-facing blurb, as well as a more detailed outline that the conference organizers will use to help them decide.

Conference-Driven Development.

A widely-known secret is that most of the time, conference speakers only have a vague idea about their talk when they submit their proposals. Especially for technical talks, it’s common to submit a proposal for a rough hypothesis, and to figure out the technicalities after it’s accepted.

Perhaps most famously, Dan Abramov applied to speak at React Europe 2015 by pitching a new take on Flux that supported hot-reloading and time-traveling. This solution eventually became Redux, although he hadn’t actually gotten it working when his proposal was accepted!

There are a bunch of other examples as well:

Be warned, though, that this isn’t always the best idea. In addition to the added stress of having a hard deadline, you might kill your enthusiasm for the subject by overworking yourself:

Breaking in.

While there is value in having experienced speakers deliver talks, nobody wants to see the exact same faces, year after year.

Happily, there are constantly new speakers giving talks. At React Rally this year, Shawn Wang gave his first-ever conference talk, and it was great.

Some tips on breaking in:

  • It can be easier to book a lightning talk than a full-length talk. My first-ever talk was at React Europe last year, where I gave a 5-minute lightning talk on components that don’t return React elements.
    Many conferences won’t cover travel expenses for short lightning talks, though. Frustratingly, this means that this option may not be available to folks without “professional development” budgets from work, or enough disposable income to afford the plane and hotel.
  • It’s often very easy to book a speaking gig at a local meetup (lots of meetups struggle to find speakers, and so there often isn’t any sort of approval process, you just email the organizers).
    Many CFP forms ask for recordings of previous talks; if you can get a recording of yourself speaking at a local meetup, you’ll have a huge advantage.
  • Many conferences will have an initial “blind round”. This means that proposals are evaluated purely by the submission itself, and nothing is known about the proposal’s author. This is a huge boon for first-time speakers, as they don’t have to compete in terms of speaking experience.
  • Don’t be afraid of asking for help! My schedule can be pretty hectic but in general I’m always up for helping review CFP proposals, especially for LGBTQ / underrepresented folks. Many speakers with more experience than me also make themselves available to help review proposals.

Don’t get discouraged.

The sad reality is that conferences receive far more submissions than they have slots for. Many conferences can only accept 5% of submissions (or less).

You will get rejection emails. I think I’ve been profoundly lucky, and I still get rejected ~75% of the time.

If you have a talk you really want to give, don’t let a string of rejections stop you from giving it. Record it yourself at home, and share it on Twitter. Let me know if you do, I’ll gladly share it out!

4. 🛠 Building your talk.

After much hard work sunk into crafting your proposal, the stars align and your talk is accepted by a conference! 🎉🎇

If you’re anything like me, you’ll experience a few moments of jubilation, before a horrifying realization settles in: shit, I need to give this talk.

Stress and imposter syndrome.

There is a gravity to conference talks. You’ll be speaking in front of a bunch of your peers, many of them far more experienced and knowledgeable than you. The talk is recorded, and will be available for anyone to watch, forever.

In all of my talks now, I’ve had moments of self-doubt. Imposter syndrome crept in, and I started questioning whether anything I was writing made sense. Maybe it’s all really obvious to everyone else. Maybe it’s all wrong.

These feelings can be helpful (after all, you should be critical of your own work, and try to find mistakes!), but often they outlive their usefulness.

Iteration and Feedback.

First drafts are always bad, in my experience. After sinking dozens of hours into getting a coherent talk together, you might realize that the whole thing stinks. It can be really discouraging.

The thing is, as with anything, iteration is key to success. Take a couple days away from it, and then come back with a fresh perspective. You may come up with solutions to fix the problems.

I changed the entire structure of my React Rally talk when I realized that the order made no sense (I was starting with the most complex bit of code, instead of working up to it). It was a lot of work, done only a few days before the conference, but the talk was so much better because of it.

Feedback is also extremely important. Find someone you trust to give you honest criticism. They’ll spot problems you hadn’t noticed, and offer encouragement for stuff you’re on the fence about. Trust their feedback more than your own.

Local meetups are also a great way to get feedback, and give your talk a “practice run”. It’s not always clear which parts of your presentation will prompt a reaction, and there’s nothing more awkward than having an audience laugh when you weren’t trying to make a joke. Get this out of the way when the audience is tiny!

For my React Europe talk earlier this year, I gave the same talk at React Montreal about a month beforehand, and then grilled everyone who came to talk to me afterwards. The feedback I heard most was that there was too much code in the middle, too much detail in side-pieces that weren’t super germane. I started inserting ✂️️ emoji in places where it wasn’t beneficial to go through the code line-by-line, and it meant I was able to fit much-needed high-level stuff in the talk.

Learning about presenting.

While I work on my talks, I take frequent breaks to watch other conference talks. Take note of the things you like in their talks, and steal them.

For example, in my React Europe talk, I decided to rearrange the slides so that the introduction card (“My name is Josh and today I’d like to talk about…”) only shows up 5 minutes into the talk, after seeing what a nice effect it had in Gary Bernhardt’s The Birth and Death of Javascript.

Some other resources I found very helpful:

5. 🎟 Attending the Conference.

After months of work spent building your talk, whether you’re ready or not, the conference arrives. As a speaker, your conference-going experience will be different in a few ways.


Being a speaker comes with perks. For example, many conferences have a “speaker dinner” the night beforehand. This is a great opportunity to meet and chat with the other speakers.

Another speaker perk is that there is often a “speaker’s lounge”, a quiet side-room that only speakers can pop into.

Initially, this idea was a little unsettling to me; one of the great things about going to conferences is being able to chat with the speakers, and if they’re all off in their own space, that doesn’t work as easily! It felt like it would lead to a sort-of caste system, rather than encouraging speakers to mingle with the people paying to see them speak.

After a couple conferences, though, I realized that speakers don’t tend to spend much time in the lounges. Mostly it’s just to give speakers a quiet place to work on their talk, or catch a moment of silence and solitude. As an introvert, I very much appreciated having a quiet spot to sit on my laptop from time to time.

Finally, the organizers typically give attendees a “speaker gift”. A collection of swag and personalized items, as a token of appreciation. At React Rally this year, here’s what we got:

The personalized notebook is my favourite!

Busy and Stressed.

Depending on how prepared you are, you may still be trying to squeeze in some last-minute tweaks to your talk. At React Rally this year, I was still practicing my talk in the final hours, to the point that I was worried I was going to lose my voice!

There’s also a fair bit of nervous energy in the lead-up. For this reason, the good conference spots are the early ones. You want to go as early as possible, so that you can relax afterwards. Of course, you don’t typically have control over what slot you get, so this is a matter of luck 🤞🏻

6. 🗣 Delivering your talk.

Most people have a healthy fear of public speaking.

Somewhat remarkably, most people tell me that I don’t seem nervous in my talk! This is wild, because I’m very nervous. Maybe the trick is just learning how to not seem nervous?

The more improvised your talk is, the more likely it is that your nerves will get the best of you. For this reason, I don’t ever plan on live-coding in a talk. Maybe after years of practice.

On the other hand, you don’t want it to be too scripted; you want it to sound authentic, and that’s hard to do when you’re reading from a cue card. Instead I like to practice enough that I hit all the same points consistently, but the exact phrasing used varies from talk to talk.

The downside to this is that you will forget to mention things. In every talk I’ve given, I forget to say a handful of things I wanted to.

Time also passes ridiculously fast on a stage. 30 minutes can go by in an instant. Before you know it, people are clapping, and you’re done!

🎭 Is it worth it?

Conference talks are a tremendous amount of work. For my React Europe 2018 talk, I estimate that I spent over 150 hours on the talk; it consumed my mornings and weekends for a couple months.

Assuming you make the median US software engineering salary of $104,000 a year, and put 150 hours of work into the talk, you’ve spent $7500 worth of your time getting it ready.

In addition, preparing a talk is a bumpy ride. There’s a bunch of stress along the way, a bunch of nights and weekends where you really don’t feel like working on it but do anyway, moments of crisis where you think your talk won’t work or isn’t interesting.

For all of that, conference talks tend to reach a surprisingly small audience. It wouldn’t surprise me if this blog post is read more than my recent conference talk was seen!

So on its face, the math doesn’t look favourable. Why spend so much time and energy on a conference presentation?

In my opinion, there are a few things that balance the scales:

  • While relatively few people will see a conference talk, it can be a very impactful way to deliver a message. A well-crafted talk can inspire and motivate someone far more effectively than a tweet or blog post!
    For example, CodeSandbox was created by Ives Van Hoorne after attending React Europe, and he credits the conference with making him determined to build it!
  • You get to hang out with the other speakers. In many cases, these are the authors of the tools you use every day, or people whose work has inspired you for years.
  • It’s a tremendous way to meet like-minded people in attendance. After a conference talk, expect tons of folks to come up and ask pertinent follow-ups, or share some of the interesting things they’ve been doing.
  • Speaking at a conference makes people think that you’re a Real Expert™. It lends credibility to what you’re saying, for better or worse.
  • It’s an experience. It’s a memory that you’ll have for the rest of your life, a youtube video you’ll be able to watch many years down the line. It’s a heck of a thing!


This has been a wildly educational year for me.

The biggest thing I’ve learned is that I should restrict how many conference talks I commit to writing. I have a finite amount of free time, and spending so much of it on conference talks means I’ve been neglecting other projects.

I think in the future, I’m going to create a single conference talk per year, and submit it to multiple conferences, instead of doing original work for each one. While not all conferences will accept “repeat” talks, there are enough that do that it seems like a reasonable strategy to me.

As your reputation as a speaker increases, new doors start opening. For example, I’m delighted to announce that I’ll be speaking at React Europe 2019! Evidently the organizers liked the talk I gave last year enough to invite me back this year, without submitting a CFP proposal. I’m thankful I have 9 months to prepare, as I have an idea that I think would be really cool, but would involve a whole lot of stuff I don’t (yet) know anything about.

I’ll also be doing a 1-day workshop there, on ✨ whimsical animations ✨. So that should be fun!

A realization I had a few weeks ago is that I’m still very much at the beginning of my career. I’m only ~5 years into what will likely be a 40-year career, so I’m only about 1/8th through! That thought is simultaneously liberating and dizzying; it means I don’t have to feel rushed when it comes to making the most of every available opportunity, but it also means I have no clue what’s ahead.

Conference-speaking is a worthwhile endeavour, but it’s one heck of a bumpy ride, and not always worth it. I’ll continue to prepare talks (as long as folks still want to hear what I have to say), but far fewer.

If you’ve made it all the way to the end here, you must be really interested in conference-speaking! I encourage you to give it a shot. Feel free to reach out to me, I’m always happy to give your proposal a quick read :)