Teaching a React.js Workshop
Table of Contents
Who wants to be a speaker? This guy! 🙌
Last Sunday was a significant event for me: I put on a React workshop (link here) to teach beginners how to get started with React. It was a full day event and it was a great learning experience for myself and hopefully for the students as well.
The community surrounding React has done a lot for me. It's only been a year since I started using this technology, but it's played a tremendous role in my personal development as a programmer. As such, I really wanted to start contributing back to this amazing community that has helped nurture my own development.
I learned React and the surrounding ecosystem on my own and I know how daunting it can be. As a community we love to toss around terms like ES6, Babel, Webpack, Flux, Redux, etc. as if it's all expected knowledge for the field. And while you probably should know what all these things are after being part of the community for a while it can be very daunting when it's all new.
So in creating this workshop I wanted to utilize all the knowledge I've accumulated over the past year while learning React to help speed the process for others. React has been a game changing technology for many – including myself – and I know it can be for others as well. They just need to know where to start.
Something I wasn't entirely sure about going in was whether or not I would enjoy speaking. But after last Sunday I can firmly say that I love it. This was a revelation for me. It was hugely fun to stand at the front of the class and speak about a technology I'm passionate about, and now I want to do more of it.
Moving forward I'm going to pursue more speaking opportunities, including at conferences and tech schools here in SF. The goal will continue to be to provide as much value as possible to the students and/or audience members.
The workshop went well, but it certainly wasn't perfect. There are quite a few things I would now change having done this once.
Yup, presentations go more smoothly if you've rehearsed them beforehand. Who knew? 😅 The presentations still went quite well considering I didn't have time to rehearse, but they could have been smoother.
One of my "lectures" lasted a full 50 minutes. I was targeting 20 minutes and wildly overshot that, so clearly there are some wins to be had by reducing the content or splitting lectures into multiple parts. People's attentions spans are limited and as speakers we need to respect that.
I had a chance to talk to Ryan Florence recently about teaching React. If you didn't know he teaches React for a living and has a lot of good advice when it comes to teaching it. I asked him about his teaching methods and he reminded me that in a real world scenario students will almost never be facing an empty file—they will instead be editing existing code.
This was something of a revelation for me. It makes perfect sense that at most companies you will be editing – not creating – new code, but it never crossed my mind. I work at a startup and have build all of my company's projects from scratch... but that's unusual.
This ties into the point above about not starting from scratch. Students would have benefited from more organized exercises with action lists that they could follow to completion. Instead I left it open ended and showed students the final app before asking them to build it from scratch.
Next time I will provide more structure. Since many of the students at the workshop already work at companies they would likely be used to a Scrum-like project structure with minimal user stories and such.
My takeaways from this experience were:
- Putting on a workshop can be a ton of fun
- There's a serious market for learning React, especially here in SF
- I really enjoyed speaking and am going to pursue it further
To that last point, I will be speaking at my first conference in a week about building static sites with React.
With all the current hype over React and React Native it really feels like React is eating the world. I will leave you with this image from React Conf 2016 which just wrapped up earlier this week. I think it really sums up the current sentiment in the community.