So I gave my first talk last night at the React MPLS meetup. There were two talks and I was going second. The first was a talk about React Native. The speaker was extremely good.
My talk was about
Future React, originally it was going to encompass Concurrent React and Hooks. I cut out all of the stuff about Concurrent last minute because of changes with the @next branches of
react-dom that caused my build to fail. That was a blessing in disguise.
The material was dense, and assumed at the very least some cursor knowledge of Hooks, what they are, why they're important. This was poor judgement on my behalf.
I'm not sure if this is the same for React meetups in other cities, but at the React MPLS meetup a lot of the attendees are either recent or soon to be grads of a Bootcamp, or Computer Science grads. There are a handful of Junior devs, some people like me who are in programming adjacent industries, and then from what I can tell a couple of Mid-Senior level devlopers.
I personally think it is fantastic that so many people who are early in their career go to meetups! It's a great way to meet people, make connections, and learn something new.
But... I should have planned for the make-up of the group, instead I was blinded by my excitement for the topic. And I definitely left a lot of people confused about the topic by the end of the night. I'm hoping to fix some of that with learn-future-react.netlify.com.
There were clearly a few people excited by the material, and I could tell the few people who have read up on or used experimented with Hooks so far. But most of the room hadn't watched the keynotes from React Conf, and some hadn't even heard of Hooks.
The talk was recorded by using a live cam, and a zoom screen share.
My original plan was to have vscode open on half of my screen, and then a browser window on the other half, and have the dev server running.
I had a live verion of the website I made for my talk that people could go to, and then click on codesandbox links for each "section" of the talk.
Zoom did not like this set up though, so I abandoned that and decided "I already have it all up on Codesandbox! I'll just use that to kill two birds with one stone".
This would have been great except for a few things: 1. I hadn't planned on presenting from Codesandbox so I didn't have it set up like I should. 1. The theme was not the most presentation friendly 2. The font was Dank Mono (and has things like ligatures, cursives, etc) and was hard to read 2. I'm not sure if it's because I was screen sharing and airplaying to the a monitor, but Codesandbox was refreshing intermittently and about 10 minutes in the live-preview was just not working no matter what. No console errors, it just wouldn't load. Without a preview showing the result of the code, I might as well have been writing gibberish.
If I had a backup plan set up in case of failures, I would have set myself up better.
To share my screen for recording I had to download and use Zoom. I didn't start downloading it until the first speaker was wrapping up because I didn't want to accidentally hijack his video with my doofy face while trying to get it set up.
So the host gives his intro for me, and I'm up there standing like a doof because Zoom is downloading at a snails pace. Luckily I am not an awkward person at all, nor do I have any amount of anxiety (sarcasm), so it was a great way to start out my talk.
Because the meetup is pretty big in size, and takes place in a large converted warehouse building, the speaker gets to wear a lav mic. A few minutes into my talk the mic cut out. I stopped to turn it back on.
Another couple of minutes in it cut out. I turned it back on. And again, and again. Until I realized the battery was low and it was dying. Instead of dealing with it I just decided to talk really loud. Probably not the best decision but I didn't posess the power to make a dead battery not dead.
As a musician who has played in a lot of different scenarios. I've kind of become used to the idea that no performance is perfect, and that you can never fully anticipate what an audience will be like.
I was nervous the couple days before the talk, and definitely right before I went up, but something awoke in me, something I haven't felt in almost two years.
The performer in me came out.
The talk went marginally okay. I was underprepared as far as actual talk materials go, the mic cut out, the screen recording setup was a nightmare, I decided to use Codesandbox at the very last second, it wasn't loading properly, the page would randomly reload entirely, someone actually asked me "why should I even care about this stuff?" which I took to mean I delivered the content poorly if they didn't see the benefit, and still when it was done I told my girlfriend, "I want to do that again. Better, but again."
I'm extremely lucky that I have the background that I do. I have played in small bars, packed wall to wall, where the performance and audience was great. I've played in large venues where there technical difficulties, the audience was small, unresponsive, or worse, rude. I've played for children, for the elderly, I even played for the ceremony of my own highschool graduation. In every situation, no matter what happens, you start the show, stuff happens that is either good, bad, or okay, and you keep playing until you end the show. You can't shut down when things go wrong. You learn to just let go, and go with the flow. There are no do-overs. You just do.