Things I learned from doing my first workshop
Itâs easy to both underestimate and overestimate your audience at the same time. Grasping the concepts isnât hard, but using them in code ... oof.
16 people showed up this past Sunday morning to learn about React and d3.js in a hands-on manner from Freddy Rangel and me. We sold 18 tickets: most at the $400 early bird price, some with a small discount, and the two volunteers got theirs for free.
All of our attendees were amazing.
It was great to see everyone nodding in deep understanding to anything Freddy and I would say:
Freddy or me: âThis is how this thing works.â
Them,nodding: âYes, it does.â
Freddy or me: "This is why you do a thing this way and not that other way.â
Them, nodding: âOf course, of course. Thereâs no other way.â
The whole time this was happening, I was shitting my pants and thinking, "Why the hell are these people here? Everyoneâs going to ask for a refund. Whyyyyyy?????â.
Two people left early. They said they expected a more in-depth workshop and that the content was far too easy for them.
My heart sank. "Fuck. I knew it. This sucks. I suck. We completely misjudged the audience.â
There were no refunds after the workshop. Nobody asked.
At least, nobody asked after the workshop. There were many refunds before the workshop. They were a valuable lesson.
You see, $400 is a lot for a full day workshop. I didnât think it was that much. Many workshops have a far higher price point.
$400 is at a price point where many people no longer pay for the workshop themselves. They might buy the ticket, but then they want their boss to sign off on the purchase or to reimburse them. They may need their boss to pay for it in the first place.
I learned that this means we have to adjust our marketing. Future workshops have to be sellable to you and your boss. You canât just walk up to your boss with a random EventBrite page printed out and say, âYo dude, I wanna go learn stuff. They want many money. Can I go?â
Of course your boss is gonna scoff and say, âDude, who are these fools? Iâve never heard of them.â
You have to get the bossâs trust, not just the attendeeâs.
How? ⌠I donât know yet. Weâre going to have to figure that out. :)
Writing code is hard
As I was stood there shitting my pants about the imminent refunds and everyone walking out because my part of the workshop was crap, something magical happened.
Everyone understood the concepts, but they couldnât do the code.
After I live-coded a rough guideline for The Next Step⢠in our sample project, I gave people 20 minutes to implement itâŚ
40 minutes later, nobody had it working.
Hold up there, you! Weâre onto something! Even when people know what they have to write, even when they understand why they have to write it, how to write it â they still canât. They write the code, and it doesnât work.
Itâs a few hundred lines of code, and it was mostly boilerplate. To be honest, itâs hard. You can grasp the concepts immediately, but the hard part about code is all the fiddly bits in between.
Stuff like getting your variable names just so, structuring your files just right, and putting the right bit in the right file. You know, things like that.
Typing is also very error prone.
This was a big revelation to me. I was both underestimating how quickly my audience would understand the concepts and overestimating how quickly theyâd be able to apply it.
For future workshops, I have to do two things: cut down on the theory, and make the practical parts easier.
I havenât quite figured out how to make the practical exercises easier. Iâm thinking a combination of a linter, a test suite, and pre-written code that people fill out. Iâm open to suggestions.
People got their value
Ultimately, I think people got their moneyâs worth. Those who were not as advanced in the ways of React and d3 learned a lot about putting them together.
They may have gotten too much theory, but having Freddy and I to lend a helping hand when something went wrong with the code was great. We were able to unstuck people quicker than they could unstuck themselves.
After all, debugging is a game of educated guessing. The more code youâve seen, and the more bugs youâve been exposed to, the quicker it is to guess whatâs wrong.
Many people said that just seeing how we use the tools and the guessing to dial in on a problem was a big benefit to them, especially when they were attempting to learn JavaScript and d3 and React and all the things all at once. Itâs easy to get lost in the ecosystem.
Which reminds me: The best part about our attendees? Everyone was there because they wanted to solve a real problem. Everyone had a why for learning React and d3. Nobody was there just to Learn Cool Techâ˘.
I like that. Thatâs the way to go!
As for the advanced people? The ones who use React and d3 every day at work and are building amazing things I couldnât dream of understanding?
They got their value, too. For them, it was the 20-minute conversation in the hallway, or that one specific question they asked in front of the class. They had a sticky problem, and they needed a suggestion or two that was specific to them.
Sure, an email wouldâve been fine. Iâd love to help. But there is value in unstucking a team of engineers who have been banging their head at something for weeks.
Iâm not completely sure itâs worth sitting through an entire workshop just for those 20 minutes though⌠Iâm exploring ways to serve those people better.
Doing it again? Totes.
So, am I doing it again? Yes, absolutely.
The workshop didnât sell out, and it wasnât perfect. But doing it was fun as hell. We had a blast preparing the material, and it was a mad dash to the finish line at times, but it was totally worth it. Sure, we only made half of what the same time investment wouldâve made with freelancing or consulting, but hey, we had way more fun.
Besides, I already have the material now. I might as well tweak it and improve it and do it again some time.
Weâre already scheduled to do it again at ForwardJS in July. You should come. It will be better and much improved.
Now all I have to do is figure out how to market to bosses and how to make it cheaper for individuals without affecting the overall payout.
Ideas?
Filed under: BusinesscodingLearningLearningSide Projectsworkshop


