Speak on stage for the first time

If you’d like to speak at a tech conference in the coming year, I’m here to encourage you (and hopefully increase your odds of success!). There’s an audience out there who can’t wait to hear what you have to say. Maybe you have a great idea for a talk about your favourite topic. But how do you get started? What’s the path to becoming a software conference speaker? In this post I’ll take you through the details of crafting a good talk proposal, to give you the best odds of getting on stage at your favourite conference.

It’s all in the proposal

To speak at a conference, you generally need to submit a written proposal in advance. This proposal does several jobs - it describes what you’ll be speaking about, gives a sense of your personality as a speaker and convinces the organisers to select your talk. It’s like a mini sales pitch.

Not every proposal succeeds. Conferences tend to have more applicants to speak than they have speaking slots, so don’t worry if you aren’t accepted at first. The conference organisers will be sifting through a lot of proposals, looking for a few to select. Let’s look at some tips and tricks to making your proposal stand out above the rest.

Give Lightning Talks A Try

If you’re not yet comfortable with the idea of giving a full conference talk, 5-10 minute lightning talks can be a great way to get started and gain confidence. It’s also less of a commitment - you can try out different talk topics without worrying too much about keeping the attention of your audience. After all, it’s only 5 minutes!

Another benefit of the lightning talk format is that you can often sign up on the day if you’re at a conference and would like to give it a try. You don’t have to plan for months in advance, just come prepared with a couple of topics you’d be happy to spend 5 minutes on if you feel ready to.

What can I talk about?

I’m going to use examples of successful talk proposals, mostly from PyCon UK, to break down the different kinds of talks out there. I have a soft spot for PyCon UK in particular as it’s my local PyCon and the first place I gave a talk to a large audience (in the Assembly Room my first ever year at a PyCon, eep!). They gave me such a warm welcome, I’d encourage any newbie to give speaking at the conference a try.

I’ve heard all of these talks and they were a lot of fun - and quite different from each other!

A story about a thing you built, and how that went

What cool hobbyist thing have you built this year? Nerdery about something else you clearly care deeply about - train timetables, dogs, artwork, or whatever floats your boat. If you are passionate about something, it will make your talk sparkle.

A story about a project you worked on, and how that went

What about work projects you are proud of working on? Or did things go horribly wrong - can you tell a story about it?

A somewhat controversial opinion about The State of Software In General, told in an entertaining way

Do you have ~controversial~ opinions about anything software-related? (Legacy code is great! Agile sucks! We need to communicate less, not more! UI design doesn’t matter! The web stack is broken! Python is secretly the worst!)

A serious talk about a meta-problem in the software community

Do you feel passionately about an issue that impacts the software community - disability? Feminism? Breaking into software as a non-programmer? Attitudes toward different programming languages?

A workshop where you’ll teach people something or help them learn how it works under the hood

What have you learned lately that other people might like to learn from you? Perhaps you’ve gotten familiar with how to use particular tools of the trade (Docker? Git? Documentation writing tips?)

A guide to using a particular method or approach

Especially if it can be hard to understand. Particular ways of working (code walkthroughs, testing, review processes) you’ve found handy or tripped up over.

What do you wish you’d known when you were starting out?

Structuring your proposal

A good talk proposal generally has three elements:

  • Who is the talk aimed at and how will it help them
  • Why you are going to be good at explaining this thing - your personal experience of this terrible problem, your disc dog hobby, your passion for train timetables …
  • Focus on topic(s) the community is interested in

Bonus points for humour!

Here’s an example of a successful proposal. Can you spot the ways it uses the three elements?

This talk will cover a range of topics around a tool I have built to enhance work sessions with my dog. This talk will culminate in describing a Django Rest Framework I have built to keep track of the behaviours (“tricks”) that my dog has learnt for the sport of discdog which involves acrobatic catches of frisbees. The tool also generates a particular sequence of these behaviours (a “routine”) which ensures our training sessions always serve the purpose of being mentally stimulating. I will start by describing some modern concepts of dog behaviour and present their parallels to higher education pedagogy (my day job is an educator). Following this I will describe the sport of discdog and show some videos and photos of what it entails. (This is the cool part of the talk.) I will then describe the tool that has been built and describe how it assists with our training. This talk should be of interest to people who don’t dislike dogs, like cool things and/or want to see how someone who is not a web developer used the Django Rest Framework to improve a part of their life. Depending on how much time I have to work on the tool there’s a chance that there will be some machine learning as well (because “machine learning”, who knows maybe even some blockchain). That’s a joke, there will not be blockchain."

Vince Knight

Training My Dog With Python

Let’s break it down.

Who is this talk aimed at?

It’s for people who “want to see how someone who is not a web developer used the Django Rest Framework to improve a part of their life.” So it is suitable for beginners who want to learn more about Django. It is also for people who “don’t dislike dogs” and have an interest in dog training.

How will it help them?

It’ll help with their understanding of Django Rest Framework, and of dog training.

Why is this speaker going to be good at explaining this?

They have lots of practice in this area (“my day job is an educator”), and they also know about the Disc Dog sport from competing with a dog.

Topic(s) the community is interested in?

Django Rest Framework is something many people want to know more about, and dog training is an unusual topic that’s appealing in a different way. Plus it sounds like there will be cool pictures of dogs: “I will describe the sport of discdog and show some videos and photos of what it entails. (This is the cool part of the talk.)”

The speaker also uses a bit of humour (“that’s a joke, there will not be blockchain”) which works well as this is a light-hearted talk.

A catchy title

A catchy title or theme can help draw people’s attention to your talk. It can signal that you have a sense of humour and don’t take yourself or the talk entirely seriously. You want to show that this talk will be enjoyable for the audience and maybe they will learn something too. Some inspiration:

If you’re not feeling inspired, keeping it simple works too. “Training My Dog With Python” is a great talk with a simple descriptive title.

It doesn’t have to be perfect

Your proposal doesn’t have to be perfectly phrased and spelt or super well-written - the subject and your evident passion about it is more important!

The unique thing about your proposal is… you. Whatever the topic, you will have encountered it from the particular perspective of your own unique needs, abilities and resources. That encounter, and what you have been able to take away from it, is what will interest us. Anybody can tell us about such-and-such a library or tool; only you can tell us about it from your perspective.

PyCon UK

Submit A Successful Proposal

Your passion should show in the talk proposal - mention your personal experience and motivation, and make sure you sound interested in your topic. A passionate speaker talking about something you hadn’t heard of before is far more fun than an unenthusiastic speaker who chose a popular topic to try to appeal to more conference-goers. The talks with enthusiastic speakers are the ones I always remember best.

Many people worry that they aren’t an expert on their particular topic, so don’t have enough to say for a conference talk. Or they try to fit everything they know about a topic into an abstract, encyclopaedic talk which ends up sounding rather dry and not very appealing to conference organisers. Speaking on a familiar subject in an interesting way can be more appealing than attempting to sum up the state of the art on something.

Here’s a bit more advice from PyCon UK about the structure of a good proposal.

A Dirty Secret

Here it is … whispers … You don’t have to have written a talk yet to propose it!

In fact some people cough are still polishing and improving their talk or workshop days before the conference is due to begin. You just need to be able to deliver the talk if your proposal gets accepted.

It’s obviously a good idea to prepare in advance, but don’t feel you need to be 100% ready before you can submit a proposal. If you’ve already made the cool thing you’d like to talk about, or have previously taught people about the tool you’d like to run a workshop on, you’re already most of the way there!

OK, I think I’m ready to try it! Where can I propose a talk?

In some ways, the past year has been great for those of us who love a good software conference. No longer restricted by geography, I’ve had the chance to listen to fascinating speakers from all around the world, without worrying about jet-lag. Virtual conferences gave me the chance to meet more people, and try out public speaking in some places I never thought I could.

Browse through upcoming tech conferences - there might be a great Python conference coming up near you. In particular, we recommend the various PyCons around the world. They are full of lovely, welcoming folks who might just be your next audience.

While you’re here…

Do you want to build a neat web app you could show off, but don’t want to mess around with the Javascript framework of the week? Anvil lets you build full-stack web applications with nothing but Python. Design your UI with drag-and-drop, write Python that runs in the browser, Python on the server, and deploy it with one click.

It’s free – give it a try:

Make something cool with our 5 minute feedback tutorial: