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.
- Training my dog with Python - Vince Knight
- How we built a LCD train announcement board on a RaspberryPi - Henry Morris, Dale Potter
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?
- Technical Debt Remediation in a Massive Python Codebase - Irit Katriel
- Circumnavigating the Antarctic With Python and Django - Carles Pina i Estany
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!)
- Insert any of Meredydd’s talks about the web stack here!
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?
- Do we have a diversity problem in Python community? - Cheuk Ting Ho
- Depression in the Workplace; Let’s talk. - Chloe Parkes
- ADHDidn’t: 7 Things That Wrecked My Productivity During WFH, and How I Dealt With Them - Eli Holderness
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 Plumber’s Guide to Git - Alex WL Chan
- Telling Stories With Python and Ren’Py - me!
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.
- The Art of Testing in Python - Jan Chwiejczak
- Docs or It Didn’t Happen! - Mikey Ariel
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?
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:
- Memes (“One does not simply put Machine Learning into Production”)
- Pop culture references! For instance, “Don’t Cross the Streams” or “War Is Peace, Freedom Is Slavery, Ignorance is Strength, Scrum is Agile”. This is especially visually appealing if you can add some related pictures to your slides.
- Puns but taken seriously (“The Art of Testing In Python” has lots of great paintings in the slides because Jan is an art fan)
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!
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:
Data Dashboard
Build Database-Backed Apps
Build a Simple Feedback Form
Build a data-entry app, and learn the techniques fundamental to building any Anvil app. In this tutorial, you will:
- Write server-side Python
- Build your User Interface
- Write client-side Python
- Store data in a database
- Deploy your app