Introduction
There are many ways to grow your professional career: core competencies, specialization, networking, salesmanship. Yet these traits mean little if few people know about them. Therefore, one can and should promote these traits with blogging, tweeting, and contributing to open source. However, the apex of self-promotion is a conference talk — not just because it requires each of the aforementioned traits (with an added dose of bravery), but principally because it establishes you as a leader among your peers, and the unrivaled visibility it provides you.
Unless you're a seasoned speaker who's getting invited to speak at the event, your main tool for convincing the organizer that you're the right person to speak is the CFP. Below is a formula that will help you get the message of your talk across more effectively.
What an effective CFP submission looks like
When reviewing talks for Reactathon 2020, I had to read over 160 submissions. From there I parsed out the best talks, and discussed the top submissions with my committee. Here is the best abstract I came across that year:
Diagrams, user stories, tests, documentation. If you just sighed, you're one of many developers who know the hardships of keeping these vital parts of software in sync with the apps you develop. But what if there was a way to autogenerate these? Enter model-driven development.
In this talk, we'll explore how state machines and statecharts can be used to model even the most complex logic and automatically visualize, generate tests, produce documentation, and more. Learn how to leverage models, save time, and ship faster, more robust React apps .
This is an abstract by then-Microsoft software engineer (now Stately founder) David Khourshid. What makes this such an effective abstract is the format, the deliberate sentences, and what each sentence represents.
Sentence 1 is the Statement/Hook. It communicates what the talk is about with concise language:
Diagrams, user stories, tests, documentation.
Sentence 2 states the problem. It even evokes a bit of empathy and emotion:
If you just sighed, you're one of many developers who know the hardships of keeping these vital parts of software in sync with the apps you develop.
Sentence 3 introduces intrigue and teases a solution. In this instance, it’s in the form of a query and a statement:
But what if there was a way to autogenerate these? Enter model-driven development.
The final sentences describe precisely what we’ll learn:
In this talk, we'll explore how state machines and statecharts can be used to model even the most complex logic and automatically visualize, generate tests, produce documentation, and more. Learn how to leverage models, save time, and ship faster, more robust React apps.
The entire abstract is simple, elegant, and effective.
What a CFP submission should NOT be
In reviewing the talk submissions for Reactathon, there were so many poorly-written abstracts that I had to suffer through. This is not surprising, since effective writing is a skill, not an innate talent. But like any skill, it can be learned.
For the purposes of education, I’ve selected a random talk submission that was rejected. I literally scrolled and picked one that didn’t ramble on for too long. The author shall remain anonymous. If you find that this is yours, please don’t take this as an insult. I hope that you see this for how it’s intended: constructive criticism for the community to learn a new skill to make their next talk submission more effective. Even if I do get a little carried away with the adjectives sometimes.
Here is the random bad submission I selected:
Gatsbyjs is a very fast piece of software, and it's fast in many different ways: scalability via CDNs, Progressive Web Apps, prefetching, and more. Gatsbyjs is not only a static site generator for creating static sites, but it can also help teams build complex applications very fast thanks to its modern web tech like React, Webpack, and GraphQL. In our experience, these modern tools enable cross-functional teams to work very fast by facilitating the interaction between design and development. That being said, Gatsbyjs has its limitations and it can’t build any website. In this talk, we'll discuss two projects where Gatsbyjs was used to build the solution, one project to which Gatsbyjs worked very well, and another project where in the middle of the project it turned out Gatsbyjs was not a good tool for the problem.
Breaking down a poor CFP submission
Here are the main issues with the above CFP submission, as read from top to bottom:
- The first sentence is incredibly dull. Additionally, it’s a run-on sentence.
- Great, more about Gatsby. But what’s the problem? Why do I care? Oh, buzzword technology eh? Will that pique my interest?
- Oh, so you have experience with this? Huh.
- “That being said...” Ok so now you’re negating the positives you just stated, and planting another negative in my mind. Why?
- Finally, I’m learning what this talk is about: 1 project where Gatsby worked well, and 1 project where it didn’t. Great, so why did it take so long to understand that? Did any readers actually get to this point?
How to improve a poor CFP submission
Here’s how I turned this poor abstract into a more effective one, using the same 4-step method from David’s abstract above:
If you’re like me, you love static frameworks for their simplicity & the wonderful developer experience. However, this simplicity doesn’t always scale. But what if we could use these same frameworks for larger, more complex applications?
In this talk, we’ll discuss how to scale a static web app beyond its usual limits. Paired with a Gatsby framework, we’ll leverage modern web technologies like Webpack and GraphQL to make a scalable architecture that allows cross-functional teams to move fast. By the end of the talk, we’ll understand when and how to use a static framework like Gatsby for more complex scenarios, and how they might limit you at your own organization.
How the improved CFP breaks down:
- If you’re like me, you love static frameworks for their simplicity & the wonderful developer experience. // Simple. Positive. Hook the reader into wanting to reading more.
- However, this simplicity doesn’t always scale. // Problem-statement; plainly-stated.
- But what if we could use these same frameworks for larger, more complex applications? // Intrigue, and tease a solution to the problem.
- In this talk, we’ll discuss how to scale a static web app beyond its usual limits. Paired with a Gatsby framework, we’ll leverage modern web technologies like Webpack and GraphQL to make a scalable architecture that allows cross-functional teams to move fast. By the end of the talk, we’ll understand when and how to use a static framework like Gatsby for more complex scenarios, and how they might limit you at your own organization. // Concise statements about what the attendee will learn from this talk.
Would this talk get accepted at Reactathon, or another conference? I’m not sure. 2022 is not 2020, so static websites are not as hot as they once were — at least not in the same way. The content of any talk is extremely important. But if you’re submitting a subject to a conference, the first thing that will be considered apart from the subject matter is how it is presented. Many others will likely present similar content, and therefore it is up to how you present and sell that content — and your presentation — that determines whether or not your talk will be accepted.
Conclusions
Conference speaking
It is better to be invited to speak at conferences than to submit to CFPs. But you will not be invited until you have mastered the CFP submission in addition to the art of speaking. And you will not be continuously invited unless you speak frequently and/or you are active on blogs, twitter, open source, etc. The more visible and productive you are, the better your chances of being a featured/invited speaker at a conference.
CFP Tips
Remember when I told you that I received over 160 submissions at Reactathon 2020? I didn’t just turn away people I didn’t know. I turned away many well-known senior and staff engineers at Flexport, Netflix, Google, GitHub, Adobe, and countless others. Many of these abstracts fell into the “great” category, as did the subjects they were about, and were the speakers who wanted to present them. But there’s a limited amount of space and time at an event, and only so many openings on the schedule that an organizer can fit.
At the end of the day, it’s a numbers game. So submit early, and submit often -- and don't take it personal if you are not accepted.
A winning formula
When you’re starting your speaking career, you may consider following this formula:
- Organize your thoughts effectively with a blog post (public or private)
- Reduce the blog post to an abstract of 4 - 6 sentences using the above formula
- Get really good & comfortable at talking about that subject and other subjects, verbally & out-loud (at least on-camera, in-person if possible)
- Speak about this topic and other things you are an expert on and passionate about
- Speak anywhere and everywhere. Analyze your talks and improve
- Cut out “umms” if you can. Don’t be afraid of dead air — it can be powerful
- Learn about effective body language and power poses
Got any specific questions? Follow me and tweet me @benghamine with any questions. DM’s always open! And check out Reactathon -- we're back IRL in 2022!
Top comments (2)
Well said.
This post is incredible. Thank you for this work of art!