How to propose a winning conference talk

October 19, 2022 . By Reuven

[This blog post is taken from my “Trainer Weekly” newsletter, all about the business, logistics, and pedagogy of corporate training. Given that PyCon US 2023 just opened its call for participation, I thought that this would help people interested in proposing a talk. Bottom line: Go for it!]

If you’re a trainer, then your job is all about explaining complex technical ideas to other people. For this reason, speaking at a conference serves at least two purposes: It gives you a chance to demonstrate and advertise your training skills, and also to practice and improve those skills.

After all, even my largest corporate training will get to a few dozen people at a time. And even my most popular online training will get to a few thousand people.  A good conference talk, however, will immediately reach several hundred conference attendees, who are typically the biggest influencers in a given community. Who attends PyCon, after all, if not the most die-hard Python addicts?  They’ll return to their home towns, meetups, and companies, and remember you as a person who taught them interesting lessons. That might turn into further speaking gigs, or even (we can hope) paid training gigs.

Today, conference talks are almost always recorded and put on YouTube soon after the conference takes place. Which means that beyond the people who will see your talk live, thousands will see it later on.  My “Practical Decorators” talk from PyCon 2019 has been seen more than 34,000 times. That’s vastly more than would see it on my own YouTube channel, which means that I’ve hitched a ride on PyCon’s popularity to advertise myself and boost my visibility.

I’ll add that every time you speak, you’re getting practice speaking, and thus getting better at it.  If you’re one of those people who gets sweaty and nervous before speaking in front of an audience, then giving a few talks at conferences (including smaller ones) will be a good cure for that.  Over time, you’ll feel more natural in front of an audience, explaining things to them easily and naturally.

But wait: You can’t just waltz onto the stage of a conference and give a talk. You first need to propose a talk and have it accepted.  How can you do that?

First: Find conferences at which you’ll want to speak. Most conferences take place each year, so you can anticipate when they’ll send out a CFP (call for proposals), a public request that people suggest talks. Don’t neglect the smaller, regional conferences, where you’re more likely to be able to get something accepted.

Even before the CFP opens, I suggest writing down a list of topics that you might want to speak about. Finding a good topic is a crucial part of getting a talk accepted! Look at previous years’ conferences; avoid the topics that come up every single time.

As a trainer, you have a built-in advantage, because you know where people are having trouble understanding things. What questions do they ask on a regular basis? What knowledge would really help them? Where do people just not “get it”?  If you teach on even a somewhat regular basis, you’ll easily find 5-10 topics that fit the bill.

If you aren’t yet training, then go to Stack Overflow, and read through as many questions as you can on the topic you want to teach about.  What topics keep coming up, and don’t have a truly great explanation?

Once the CFP opens, it’s time to write your proposal.  You’ll need a catchy headline. Yes, tech people like to talk about the power of ideas, and meritocracy, and all of that stuff.  That’s great, but we’re still humans, and we go for the shiny, exciting stuff.  Yet another talk about Python dictionaries won’t get anyone’s attention. But “The three paradigms for using dictionaries,” or “How dictionaries became lightning fast,” will.

Of course, then you have to deliver: Write an outline of your talk, ideally with timing information. Even if the conference doesn’t ask for this, providing a clear outline, with timing, shows that you’ve given thought to what you want to say, and how you’ll say it. It’ll also force you to think about what you want to say!

For example, here are the title and outline of a talk that was accepted at both PyCon US 2021 and PyCon Israel 2021:

When is an exception not an exception? Using warnings in Python

  • Introduction (1 min)
  • What are warnings? (2 min)
  • Generating a warning (2 min)
  • Warning categories (1 min)
  • Custom warning categories (2 min)
  • Simple filtering (2 min)
  • Per-category filtering (2 min)
  • Warnings to exceptions (2 min)
  • Logging warnings (4 min)
  • Warnings to callables (4 min)

Wait at second — did I propose the same talk outline to two conferences? You bet I did! I now have about 6-8 conference talks that I can give at the drop of a hat.  I know that it seems weird to submit a talk that you already gave, and which is available on YouTube. But most people won’t watch it on YouTube, and in any event, it’s often great to see a talk given in person, even if you’ve seen it online. After all, haven’t you ever attended a concert after seeing a musician online?  Besides, when you give the talk a second time, you can revise and improve it.

Wait again — is it OK to submit more than one talk to a conference? Absolutely. When I see a CFP, I normally propose all of the talks that I haven’t yet given at that venue.  After all, who knows which one they’ll want to accept?  You might as well give the reviewers more options, rather than fewer.  On a very rare number of occasions, they might even allow you to give two talks.

The outline isn’t enough. You also need a short summary, as well as a longer one.  The most important thing is to indicate who will benefit from the talk, what they will come out knowing, and how it’ll really help them.  Also be sure to indicate the level of the talk.

Conferences often struggle to find good talks on advanced-level topics. So if you can do a good job of explaining something complex in an advanced talk, definitely go for it.

The sad fact is that most conferences have far more proposals than slots. So they’ll need to reject some talks. Indeed, they’ll need to reject most of the talks that are proposed. The more specific you are with your outline, the better and more interesting the title you propose, and the clearer you are about the intended audience and what they’ll learn, will help.

And yet, sometimes even the best speakers and the best talks are rejected. That’s just the way it is.

However: If your talk is rejected, don’t fret. Some conferences (such as PyCon US) offer to tell you why your talk was rejected, and how you can improve it. Some other conferences (such as PyCon Israel) offer to mentor you on the creation of your talk proposals, which is fantastic.

Sometimes, a great talk will be rejected for no good reason. The attributes talk that I gave at PyCon US 2022 was rejected three times by PyCon US. I was sure that they would love it the first time around, but it took me a few edits and years to come up with a phrasing that they liked. And of course, the reviewers are people, too, and you can’t always be sure who will like (and dislike) what.

Many times, a proposal will ask for some proof that you’re actually good at speaking. If you can point to videos (especially conference videos) of yourself, then that’ll be great. Next best would be to point to records of talks you’ve given at user-group meetings and the like. And if you’re a new speaker, be sure to indicate that — many conferences specifically try to include a bunch of new speakers.

If you get a talk accepted, then that’s great. Practice, because this is your chance to show off your training skills to the world. If you’re a trainer, then this is your chance to do a little free advertising: At the start of your talk, tell them you’re a trainer. When you’re done, tell them you’re a trainer.  You want to give lots of good information, and teach well, but you want people to say, “Hmm, that was a great talk — maybe I can invite that trainer to my company!”

My first PyCon talks were all rejected. Then I got one accepted. And now, I can generally (not always!) get talks accepted at all major Python conferences, which is a great feeling — not just because I enjoy teaching, but because you never know who will see what, and will lead to new training gigs for you.

Finally, don’t restrict yourself to proposals on topics that you know solidly, although that’s probably not a bad way to go at first. I often try to give talks on topics that I’m 75% familiar with. That forces me to learn more, to gain depth, and to add content to the courses that I’ll end up giving at companies.

What do you think? Has this inspired you to propose conference talks? (I hope so!) If not, then what is holding you back?

Speaking at a conference is a great way to learn new things, to gain experience as a public speaker, and to show people how great you are as a public speaker. Even if you don’t get a talk accepted, you’ll almost certainly learn something in the process — and if you keep trying, you will eventually get accepted.

Related Posts

Prepare yourself for a better career, with my new Python learning memberships

Prepare yourself for a better career, with my new Python learning memberships

I’m banned for life from advertising on Meta. Because I teach Python.

I’m banned for life from advertising on Meta. Because I teach Python.

Sharpen your Pandas skills with “Bamboo Weekly”

Sharpen your Pandas skills with “Bamboo Weekly”
{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}
>