Why I wanted to speak at tech conferences
On and off since 2011 I’ve been a freelancer—or, to use the term that I think sounds better, consultant. The vast majority of the work I’ve done as a “consultant” has just been full-time-ish staff-aug contracting. In other words, I worked a lot of contract jobs where I was paid hourly as opposed to salary but by every other measure I was just another developer on my client’s development team, and my client was basically my employer.
Ever since the time I started freelancing it’s been my desire to move on the freelancer-consultant spectrum from the “freelance” end of the spectrum to the “consultant” end of the spectrum. My understanding is that “real” consultants are able to have higher fees, more schedule autonomy, more discretionary time, more fulfilling work, and a better lifestyle overall. After several years of studying successful consultants like Alan Weiss, I discovered that the way to attract clients who would hire me for true consulting is through speaking and writing on my areas of expertise.
Not all speaking and writing is equally effective for the purpose of attracting clients, of course. Before 2018 I had only delivered talks at local user groups and never at a conference. I wanted to start giving talks at conferences as a way to start more effectively attracting more of the types of clients I wanted to work with.
There’s also another reason I was interested in speaking at conferences. At the time I started speaking at conferences I was also starting to think about a certain book I was going to write on the topic of Rails testing. I figured if I could list some conferences I had spoken at in the bio on my sales page it would lend credibility to my book.
How I got accepted to my first conference
At one point in time I only knew of maybe 10 programming conferences, period. I imagined there were maybe a handful more. I find my naïveté funny now. There are certainly hundreds of programming conferences worldwide of various sizes. My challenge early on was that I couldn’t find conferences to apply to speak at.
Then at some point I discovered PaperCall.io, a CFP aggregator. In case you’re not familiar with the term CFP (call for papers) or the CFP process, here’s how the CFP process tends to work:
- Conferences announces that their CFP is open
- Prospective speakers submit their talk proposals
- CFP closes, conference organizers select talks and notify selected speakers
- Speaker list is publicly announced
An actual proposal will usually contain things like:
- Talk title
- Talk length
- Target audience level
- Talk description
- Speaker bio
My discovery of PaperCall.io allowed me to start sending proposals to a relatively large number of conferences. Ruby conferences were my preference but I didn’t limit myself to that. My initial goal was just to get a talk accepted to any conference that would accept me since I figured that was hard enough.
I’m not sure how many conferences I applied to before I finally got something accepted. It might have been about 30.
According to my PaperCall.io account, it looks like the first proposal I sent was sent March 15th, 2018. The first conference I got accepted to was RubyConf Kenya. I was notified of acceptance on March 22nd, 2018. Unfortunately I had to decline due to a schedule conflict.
The next talk I got accepted was for DevOps Midwest in St. Louis. That talk got accepted on June 29th, 2018 and the conference took place in September. So I guess it took about three and a half months between the time I started submitting proposals (again, about 30 proposals by my guess) and the time I got accepted to a US-based conference.
My speaking experiences
Between the months of September 2018 and April 2019 I spoke at the following seven conferences.
- DevOps Midwest (St. Louis)
- Little Rock Tech Fest (Little Rock)
- RubyConf India (Goa, India)
- PyTennessee (Nashville)
- Connectaha (Omaha)
- RubyHACK (Salt Lake City)
- RailsConf (Minneapolis)
DevOps Midwest, Little Rock Tech Fest
I feel fortunate that my first talk was at a small regional conference. My audience at DevOps Midwest was perhaps 50 people. I had spoken at meetups with an audience of more like 80 people before. So although the event was maybe a step up in terms of prestige, it wasn’t a new level in terms of audience size.
Little Rock Tech Fest is also a regional conference but it felt a little more like a national conference than DevOps Midwest.
RubyConf India was my first national-level conference experience. Out of all the seven conference I’ve spoken at now, RubyConf India had the most intimidating setup. The conference was single-track (meaning there was only one stage and one talk at a time) so I was giving my talk in front of the WHOLE group of conference attendees, not just a handful who chose to come to my particular talk. My talk went pretty much fine except for an audio glitch which was out of my control. I also got nervous and talked too fast and ended my talk earlier than intended (which would not be the last time this would happen for me at a conference).
Unlike the first two conferences which I attended without my family, I brought my wife and two kids (5 and 8 at the time) with me to India. I figured my family wouldn’t mind missing out on St. Louis too much but it would be kind of a tough sell to go all the way to India without them, especially since I had already traveled to places like Africa, Amsterdam and Bulgaria without them (all business trips).
I want to briefly mention a few interesting culture surprises I encountered in India.
- I saw more than a few Indians wearing sweatshirts and wool caps in 90+ degree heat.
- In India it’s normal for straight men to walk around in public holding hands.
- There were not only stray cows everywhere but stray dogs everywhere. So many of them.
- Indians don’t drink coffee. Real (non-instant) coffee was IMPOSSIBLE to find.
- Despite my pleas, no one would give me spicy food. Too white.
- Speaking of white: no one suspected us of being American. On one occasion a cab driver asked, “So, are you Swedish or English?” We got Russian a lot. There were a lot of Russians there in Goa, and even signs written in Russian.
A couple neat things about the conference: after my talk someone came up to me and said, “Your talk was good, but not as good as your podcast!” It was cool to meet a podcast listener there. Another attendee asked to take a selfie with me. Apparently he considered me famous. Lastly, I got to meet up with my new friend Swanand, a fellow student in 30×500, an entrepreneurship course I enrolled in in early 2018.
Because I’m trying to become known as “the Rails testing guy”, my preference is to give testing-related conferences at Ruby/Rails-related conferences. However, not all of my talk proposals were Ruby-related. In fact, I think most of my proposals were technology-agnostic.
The talk of mine that got accepted to the most conferences was a talk called Using Tests as a Tool to Wrangle Legacy Projects. This talk got accepted to RubyConf India, PyTennessee, Connectaha and RubyHACK.
So, interestingly, I found myself speaking at PyTennessee, a Python conference. It was an okay experience although I don’t believe I’ll do it again. I did enjoy Nashville though.
Connectaha, which was in Omaha, was one of my favorite conferences so far. It was a super well-organized conference. I’ll speak more to this in a bit.
RubyHACK (High Altitude Coding Konference) was another favorite of mine. Both the level of organization and the location (Salt Lake City) were great. There were maybe a few hundred people in attendance.
I got a couple of neat ego strokes at RubyHACK. One, I got to meet one of my email subscribers in person who I had actually helped get his first programming job some months prior. Also, someone came up to me at one point and said, “You must be Jason!” Turns out he was a listener of The Ruby Testing Podcast. Not only was he a listener but he found out about RubyHACK through my podcast, and decided not only to come to the conference but to bring a co-worker as well.
The day after the conference I went up to Park City where a friend of mine lives and we went skiing.
RailsConf was the big one. When I got accepted to RailsConf, I couldn’t believe it. Ironically, the proposal of mine that got accepted to RailsConf was not only not Ruby-related and not testing-related but it wasn’t even all that technical.
Speaking at RailsConf was great for the prestige factor but I’m not sure it was among my favorite conference experiences. It was huge. Like 1600 attendees or something like that. I had never been to a conference that large before. Having now experienced a big conference like that, I think I prefer the smaller, more intimate conferences. Ironically, the smaller the conference, the more people you can meet. At a huge conference you might meet somebody and then never run into them again. I knew I knew perhaps 10+ people who were going to be at RailsConf but I could hardly find them!
What makes a good or bad conference speaking experience
Speaking at seven different conferences exposed me to a decent range of organization quality.
Connectaha, one of the best-organized conferences, pre-emptively emailed me several times leading up to the conference, anticipating and answering any question I possibly could have had: hotel address, speaker dinner, etc. A certain other conference I spoke at had basically zero communication before the conference, leading me to wonder whether we were even really on or not.
I also experienced a range of levels of reception warmth. At RubyHACK, the conference organizers met with us speakers, bought us dinner, and thanked us for coming. This was much appreciated. At a certain other conference, the organizer set up an ad-hoc informal dinner a few hours in advance and I showed up at the restaurant straight from the airport with all my luggage, wasn’t able to find the group, and had to just go straight to my hotel and then go get dinner on my own. At the conference itself I never met the organizer. I left the conference the minute my talk was over and I don’t intend to ever attend again.
When I tell people I speak at conferences, they often ask me about compensation. My experience is that it can vary quite a bit. Out of the seven conferences I’ve spoken at so far, three covered no expenses at all. One conference paid for ALL expenses (plane ticket, hotel, cab fare, etc.) which I was very surprised by, especially since it was just a small regional conference. The other three conferences contributed at least something to travel expenses, usually roughly equivalent to one or two nights in a hotel. I have yet to actually make money directly from speaking at a conference.
My advice to hopeful conference speakers
If you’re a developer who hopes to speak at a conference soon, I have some advice, but first I have some meta-advice.
My meta-advice is to be very skeptical of any conference speaking advice. I’ve seen articles whose authors say things like “Here are what my accepted proposals have in common, so this is what works”. This does not strike me as a logically sound way to draw conclusions about what works and doesn’t work. There are a lot of variables involved in why a particular proposal would get accepted or rejected (fitness of topic for the conference, whether the submitter is from an underrepresented background or not, whether the speaker has an “in” with the conference organizers, what kind of mood the organizer was in at the time of evaluating the proposal, etc.). So be wary of advice that flows from the fallacy that successful tactics can be pinpointed experimentally.
Having said that, there are of course certainly things that work better than others. However, I don’t claim to know what they are. I don’t know whether my later talks got accepted because my proposals were better or if it’s simply a numbers game and I “sprayed and prayed” enough to be successful from a sheer brute force perspective. So instead of pretending to know what works and what doesn’t let me share some articles from some people who seem to know what they’re talking about:
- What Your Conference Proposal Is Missing
- Conference Prompts: Or How to Submit Proposals and Influence People
- What I learned from reading 429 conference proposals
There’s one thing I know for an absolute fact though. All other things being equal, you’ll get accepted to more conferences if you apply to more conferences. There are certain areas of life where dumb brute force is a perfectly effective tactic and I think this is one of them.
What if you don’t have any ideas for talks? I had this problem myself. I didn’t have any good talk ideas. My solution was just to submit bad ideas. Eventually one of my bad ideas got selected. I gave my talk, and in the process of doing so, I realized that I was trying to say too much. My talk was really like three talks squeezed into one. So I took one of those three talks and made it into its own talk. This is the “Using Tests as a Tool to Wrangle Legacy Projects by Jason Swett” talk that got accepted to four conferences (actually more, IIRC). When I gave that talk it gave me ideas for more talks. The more talks ideas I generated, the more talk ideas I was able to generate.
One more piece of advice: I’ve been able to find out about more and more CFPs by following conferences on Twitter. The Twitter accounts I follow are almost exclusively conferences. You can see the list of accounts I follow here.
My plans from here
Seven conference talks in nine months is too much (and that wasn’t even my only business travel during that time). I never intended to do that many. When I got my first two talks accepted, of course I wasn’t going to turn down those opportunities. Then when I got accepted to RubyConf India, of COURSE I wasn’t going to turn down that opportunity. Then when I got accepted to RailsConf, of COURSE I wasn’t going to turn that down. Each opportunity was more un-turn-downable than the one before it. I think the time and money I invested in giving these talks will pay off in the long run, but the investment I made in the last nine months was frankly more than I would like to have made in such a short period of time.
In 2020 I’ll probably speak at much fewer conferences, and I’ll only speak at ones that are some combination of being professionally relevant, geographically close to me, and/or favorable in terms of travel compensation.
Overall, I’m very glad that I’ve dipped my toe (perhaps my whole leg!) into these waters. Now I know what conference speaking is all about. I expect that this tactic will be part of my self-marketing strategy for a long time into the future.