My biggest fear when I take the stage to speak isn't that I'll be judged by the crowd. It isn't that I'll be pointed out as a fraud. It isn't that I'll start mumbling and getting things wrong.

My biggest fear is that I'll be speaking to the wrong audience.

My talks range the gamut from developer-heavy to business development to content creation to personal inspiration.[ref]Once I joked I accidentally swapped a sermon on service and a lecture on task automation with Grunt. My audience laughed. I almost cried.[/ref] The downside is: sometimes I don't know if my talk is right for the audience until I start speaking.

jQuery Portland

In 2013 I spoke at my first non-WordPress event: jQuery Portland. I'd submitted a talk on JavaScript unit testing, and specifically highlighted it would a) involve live coding, b) potentially require attendees to download and run code to follow along, and c) specifically cater to a very advanced audience.

I prepped my code, fleshing out several unit tests, automating them with Grunt and PhantomJS, and building out a full slide deck to cover both the tests and the thinking behind them. I rehearsed for weeks[ref]When presenting to a crowd that only pays $25 each to attend, the pressure put on presenters to truly perform is pretty bearable. When the fee is upwards of ten times that, the pressure becomes almost insurmountable. It's one of the few times I've actually feared I would be judged on the quality (and value) of my content. I didn't sleep for two days before the event and broke down in the speakers' lounge afterwards from the stress.[/ref] to make sure I could deliver everything without an "um" or a command-line mishap.

Everything was ready, and I was excited. Until the conference's opening remarks when I discovered my talk was in the "beginner track."

Warning flags went off. I ran to the speakers' lounge and frantically rebuilt my entire presentation. I cut the number of tests I was running in half. I removed PhantomJS from the presentation entirely. Mocking went out the window.

My 30 code-dense slides were cut down to 12. My live coding cut down from 6 to 2 examples. I fully prepared to spend most of my time explaining the theory behind testing rather than the code.

I shouldn't have panicked.

When asked, it turned out my audience already knew a fair bit about testing. My definition of "beginner" and the conference organizers' definition were somewhat different. I worried over nothing, and rejiggered my talk mid-stride to pull more of the live coding examples back on screen.

My point: you can't judge your audience until you meet them.

Case-in-point

I've had my fair share of shining reviews from conferences. I've also had my fair share of detractors. Often, the best praise comes from the handful of people who walk up to me immediately after the presentation to say "thanks."

My worst reviews come from people actually filling out review forms. They felt lost during code talks. They felt I moved too quickly through material. I didn't offer enough time for questions.

These reviews used to bug me.[ref]To a certain extent, anyone leaving a negative review on a public site while multiple positive reviews come in person still does bug me. Future conference organizers won't know what was said in person and will only have my online reputation with which to judge. Frustrating, but not career-ending.[/ref] But when you realize first that I always encourage questions (and sometimes even leave the stage to help on an individual basis) there's not much more I can do.

I offer help where I can. I offer my Twitter and email directly to the audience if anyone wants further assistance later. I offer to answer questions until time runs out - and stand in the hallway after to continue answering.

You can know your audience, but sometimes people sitting in the crowd aren't them. Make sure you gauge that appropriately, or the next time you prepare a talk you'll be fretting offstage about how you can possibly be all things to all people.

No good can come of that.