This year I started giving React workshops. In this blog post I want to share with you how I got into this and why and how I am doing this.
I have always enjoyed giving talks. In the past, I gave talks about subjects like REST, NodeJS and React. And a workshop, introducing programming in C# and testing with SpecFlow and Selenium to test engineers.
The reason I did that was because I was enthusiastic about the subject, not because my goal was to give talks. And the audience were always colleagues I knew very well. These two things made it less frightening for me.
Last year, when I started with React, I instantly fell in love. You just create some functions that return a piece of UI, pass some props around, add some state and before you know it you have a very nice app. Compared to the overwhelming code structure of Angular this was an eye-opener. And after years of object oriented programming (in C#) this functional programming approach React has feels very refreshing.
And so after a few months of experimenting with React I had this urge to share the beauty of it. Then I remembered a colleague who once gave Angular workshops a few years ago which were very cool and inspiring. I remember thinking it would be cool to also do something like that some day, when I grow up.
And then I realized "This is the moment, I am going to do this!". This decision forced me to move from experimenting with small hobby projects I never finished to really understanding React and being able to explain it to others.
When I began preparing myself I thought I really had to understand React and being able to explain it to prevent me from failing during the workshop. I mean, when you give a workshop you really have to know what you are talking about.
But as time went by during my preparation I became better in (and even more enthusiastic about) React and the fear of failing disappeared. I was confident that I knew enough, or at least more than the people who would attend my workshop to give a very nice workshop. And the attendants were all colleagues I knew very well, so it felt very safe.
Now, a few months later, after giving two workshops (in March and May of this year) a lot has changed. Both workshops were great experiences where me and my fellow developers learned a lot from each other. The feedback I got was very positive, they encouraged me to continue doing this. And I got some great suggestions on how to improve the workshop even further.
Last week I read Kent C. Dodds' inspiring blog post about solidifying what you learn. Based on my experience so far, I realized that he is right when he says you can learn things by teaching others. Of course, you have to have some knowledge about the subject, but don't wait too long to start sharing that. Because as soon as you start sharing it you gain knowledge even faster.
So in June I will give my workshop for the third time and this time there are some people coming I do not know. But now I am confident enough to do this. And I am even considering to create an advanced React workshop after the summer. And who knows what I will do next year? Maybe it's still React or perhaps another subject?
Although I am giving these workshops, I am not a React guru (yet). The workshop I give is a beginner workshop and I know enough to teach the basics. Things like what are components, props, state, hooks, forms and doing REST API calls. I know a few more advanced things I don't teach at the beginner workshop, but my knowledge is still very basic. However, I prefer to know less and being able to explain that very well instead of knowing a lot but not really grasping it.
Another reason I am not a React guru (yet) is I do all this in my freetime. I haven't done a single serious project at a customer, it's all hobby, reading blogs, tweets, fiddling around in CodeSandbox etcetera. But I don't think that's a problem (yet). As I am publicly sharing with everyone that I am enthusiastic about React and teach others how it works I am pretty confident that a nice project will come along soon.
And if it won't, doing this workshop thing and learning React is giving me a lot of energy and satisfaction already!