This post is a part of the blog series Speaking at tech conferences - From zero to hero. In them, I write tips, stories and sometimes about science to help people to get started in giving talks in conferences.
When you decide to speak at a conference, coming up with a topic is the first task that you would do. If you are an expert, say an engineer with years of experience in programming. In your experience you would've come across many issues and challenges. You could talk about the challenges you faced and how differently you approached and solved them. But if you're such expert you wouldn't be reading this blog.
Don't worry, everyone was a newbie when they started something. What I am trying to say is you don't need to be an expert to give talk in a conference. So, how a newbie or an average developer like us can choose a topic for the talk?
Choosing your topic
Before choosing a topic, ask yourself these three questions.
1. What do you already know?
You may think that you have to be an experienced person to have a positive answer to this question. But you're wrong. Each and everyone out there is good at something. Some people figure that out right after they start their career, others take their own time to figure out what they are good at.
If you take me, for past couple of years I've been working for an A.I startup. Even though I work as a Product Engineer there, when I tell someone that I work for an A.I startup, they expect me to know the basics of Artificial Intelligence. To be honest, I don't know how to train data sets or haven't even used NLP modules, yet. But the junior developers who just came out of the college to join product engineering team knows how to train data sets and able to do do basic machine learning.
This clearly shows that everyone doesn't know everything. In fact, everyone cannot know everything. Whenever I get an opportunity, I will try to learn from my juniors on how to train datasets. So are the audience in the conferences, they seek opportunity to learn. When you come up with one small topic on what you are good at or what you know, you are going to help your audience learn something.
2. What do you want to know?
If you don't know what you're good at, then you can follow this. You can list out all the things you wanted to learn and then choose a topic based on the event you are going to attend. 60% of the talks I've given so far are something chosen like this. Local meetups happens in my city every month. Every month I will try to learn new topics by submitting a talk for it.
If I need to learn something new, I will sometimes slack off and procrastinate. But if I submit a talk on the topic that I need to learn, I am bounded by a deadline and a bunch of people. Giving an half hearted talk is not an option, so I will spend hours and hours to learn, then teach it to my audience.
Apart from learning new things, there is an other advantage I get from this. Every month I will be talking something new in local meetup. For every talk I will notice the onlookers curiosity and their responses after the talk. If I felt that I have narrated a topic very well and audience liked it more, I will improve that talk and submit it to bigger conferences.
Most of the talks I submitted to bigger conferences are the talks that I already rehearsed in the local meetups with real audience, real questions and real feedback.
3. What do you want to be known for?
This is something you should keep in mind when you are deciding what you want to talk about. Whatever topic you choose, at the end of the day it is going to help you to project yourself to your audience. If you take me, people in my community know me as a backend engineer with a love for open source and the community itself.
I have a list of things I care about: backend engineering, scaling, clean code, open source and community. Whether I am picking a topic from my past experience or picking something that I want to learn, it will be aligned with this list. This list might change or grow. So will the topics for my upcoming talks.
Know your audience
Now, you know what all the things to consider from your side when choosing a talk. Here comes the other side, your audience. They are the end consumers who are going make use of your talk. Talking in a conference without knowing your audience is like building a product without knowing your users.
Based on your audience you need to scale the technical focus of the talk, up and down. If you are going to present in a local meetup where college students will be dominant in your audience, talking about advanced concepts will not help them. Audience is going to play an important role in your topic selection.
One of the way to know more about your audience is going through the RSVP list if it's a local meetup. If it's a bigger conference, you can reach out to any of the organizers and ask them how the usual crowd looks like. They will surely have a rough idea based on past years registrations. Never hesitate to ask questions to organizers, trust me, they are more friendly and approachable.
Also, make sure you don't state the obvious. If you are going to talk in a Python conference. You cannot talk about why you love Python, advantages of using Python. All the people in the audience loves Python, that is why they are present in that conference.
Don't sell ice to the Eskimos.
Instead, ask yourself if you were one of the audience in that specific conference, what would you like to learn from a talk.
When you want to decide a topic for your talk. List all the topics you know about. Order the list by your expertise and confidence on that.
Next, list the things that you want to learn. Order it by a rough time estimate that you would take to learn about it. So that, it will be easier to pick a topic with respect to the time you have until the conference date.
Make sure both lists align to the things that matters to you. Then pick one topic from the list that goes well with the target audience.
So, how are you going to select your topic for your next conference?. Let me know in the comments below:)