Talk ideas for new and experienced speakers
Are you thinking about giving a talk in your local meetup or sending proposals to conferences but you’re not quite sure what you could talk about? In this article, I share a bunch of high level categories with real talk examples to get your creativity flowing.
If you’re a beginner in the industry and want some inspiration and encouragement, Marijke has a great blog post You can be a beginner and also a speaker, blogger, or participant.
Terminology: I use the word technology to mean nearly anything in the tech space. It could be a programming language (like Python or Java), a library (like datasette or pytest) or a tool (like databases or code editors) or even something else.
Your talk doesn’t have to be about “best practices”
Often, we craft talks our talks as clean, happy path, best practices talk. Kinda like our tutorials and documentation. Sometimes that works. In real life, we’re very rarely in a situation where we’d be able to bring in a tool or library or new way of working into a clean greenfield project. Usually we have a messy situation with a lot of real-life restrictions, legacy code and limited time to be perfect.
Talks don’t have to be “best practices” kinds of talks. Real-life examples, where you share the struggles and issues and realities, are almost always more interesting than generalised ones.
Talk topic ideas
Technology 101
Introduce the audience to a topic in a tutorial way: what is this technology, what is it used for, how to install it and a few examples for how to use it. In my opinion, this can be the easiest one for a new speaker to start with because you can rely a lot on the documentation of the technology to find examples.
Example: Alex Ware - "An Introduction to PySpark". Alex’s PyCon AU talk about PySpark is a good example of how to introduce a technology. She talks about what the technology is, how it compares to other technologies used for similar problems and how to use it with an example dataset.
Use X to achieve Y
- Pick a technology you are familiar with
- Pick a problem or a case where technology can be used to solve it
Give a quick intro to the technology X, to the problem/case Y and then talk about how X is used to achieve Y. I find this type of talk more effective and interesting than a pure 101 talk because it gives me ideas for how to use the technology in real life.
Example: Olavi Haapala: Using prefetch and preload to speed up your site. In this talk, Olavi goes through how assets are loaded by the browser, why these two features are good for performance and how to use them in practice.
Project showcase
Did you build something that you can show? A hobby project, an open source tool or something at work that you got permission to talk about and show some code. Talk about it!
Make the talk about the solution and the code rather than marketing your product. If the product is interesting to the audience, they’ll check it out even if you’re not pushing it to their face.
Example: Penelope Phippen: Building Rubyfmt. Penelope shared her experience from building Rubyfmt tool in 2020’s NoRuKo virtual conference.
Tools for developers
Let’s say you’re preparing to give a talk in a Python meetup. You can talk more about than just stricly Python programming language topics. Developers use a lot of tools, some specific to a language and some generic, and sharing tips and ideas for how to use those tools makes a great talk.
You can talk about command line tools, editors, productivity tools or something else that you use in your day-to-day development.
Example: Scott Chacon: So you think you know git. In this talk from FOSDEM 2024, Scott goes through features in Git that you might not know. These days, almost every developer uses version control and this shotgun buffet style talk likely has something to learn for everyone.
X for Y developers
Do you know something that’s related to the event’s theme? Talk about that topic within the context of the theme of the event.
Make the talk practical and try to find a balance for what content and context is needed. You don’t need to dive deep into the topic itself. Focus on what is usable information to your audience.
It’s okay if at the end of your talk, the audience has gaps in their knowledge of the topic itself. X for Y talks work best when everyone leaves with one new practical idea and knowledge of other things existing so they can learn more if needed.
Example: Richard Yen: How to Ride Elephants Safely Working with PostgreSQL when your DBA is not around is all about practical knowledge about monitoring and recovering your PostgreSQL database in an emergency, aimed for Python/Django developers.
Supplementary topics to writing code
I always struggle to find a good name for this category. Talk about topics like testing, documentation, accessibility, debugging, processes, learning, mentoring, community, open source, blogging, usability and so on.
Example: Juha-Matti Santala: Contemporary Documentation is a good example of this category. Another great one is Ramon Huidobro’s There's More to Open Source than Code.
Using X with Y
- Pick one tool
- Pick another tool
Talk about how they work together. “htmx with Django” and “Firebase with React” are combinations you could see in talks. Integrating different tools with each other can be a bit of a pain sometimes so you showing an example of how to do it can do wonders to inspire others to start learning and using those tools.
Example: Eric Tollerud: Vue + Django: Combining Django Templates and Vue Single File Components without compromise. This is a textbook example of a talk integrating two technologies.
What’s new in X?
Did your favorite tool get new cool features in the latest update? Share them with examples and reasons for why you think they are useful or fun.
While these are all things audience could read from changelogs, people tend not to read them for all the tools and we miss on learning new things that different tools bring.
Example: Sarah Boyce: What’s new in Django 5.0. This example is not a talk delivered in a conference but it very well could be.
A cross-section of X and Y
When I started writing my bachelor’s thesis, the most common advice I got for picking the topic was: “Choose two things and write about how they interact”. This is slightly similar to Using X with Y and Use X to achieve Y.
I recently helped a new speaker to brainstorm ideas for his talk and we discovered an interesting cross-section of design systems and Web Components in his work and I’m hoping to see that talk soon.
Did you recently fix a bug?
If you encountered a bug that wasn’t trivial to fix, share with the audience how it happened. Talk about the problem and how it manifested, what was your approach to debugging, what resources you found and learned from and how you finally fixed the issue.
Example: Ryan Cheley: Contributing to Django or how I learned to stop worrying and just try to fix an ORM Bug. In this talk, Cheley talks through his experience making his first Django contribution and the support he received from the community.
Stories from projects of the past
While learning practical things is fun, sometimes the best talks are similar to stories shared at campfires or pubs. Especially if you’ve been in the industry for a long time, share some of those stories from throughout the years.
More ideas
For more ideas and a nice printable worksheet to work on your idea, check out Lucy Bain’s blog post Conference proposal ideas.