When you write about software development or in any way try to teach others about any topic that is tied to technology or learning new or foreign concepts, it is imperative to write and teach from a beginners perspective so that you do not alienate or leave out important information that your readers or students may need. Try to put yourself in the shoes of someone starting from scratch and remember the things that tripped you up on your journey, these will be sometimes very small and seemingly minuscule items but have a huge impact on someone's learning if you leave them out.
Why From a Beginners Level Perspective?
For one, it allows me to learn along with the reader. As a fairly recent convert from Angular to React, it definitely benefits me to write from this perspective. As well, I feel that I can reinforce my fundamentals and think about the gotchas that others will run into on the same topic. With React, I entered this space just as Hooks started to become available in the 16.x alpha releases. I knew that what I needed to do was start over from a beginner's level perspective and learn how Hooks would be beneficial to those just starting, but this also meant going back and understanding how React apps were written before Hooks so that I could talk on the subject with some authority.
I think that react has undergone a true transformation starting with React Fiber. I am amazed at how the React team has set everything up leading to the React Hooks release which just happened about a week ago. In my articles, I say that I think Hooks are well calculated and that I think they offer a lot to the JavaScript community as well as React. They allow for easy sharing of code and a more concise and clean way of hooking into other logic while keeping that logic separate from other concerns. I'm long on Hooks and think anyone who isn't is truly sleeping on them.
When Hooks were released, I had just finished learning as much as possible about React, it's funny because instead of jumping straight in, I knew that I needed to go back and study class-based React a lot more. The one thing I hate is when someone writes about "New Shiny Stuff" but cannot explain why it's great and where we came from. I wanted to be able to not only do this but also answer tough questions about why I thought they were so great and how they would help us to write better apps. It was a way for me to hit the ground running. I also knew that it would be best to write about React from a beginner's perspective considering that in order to start using Hooks, kind of means starting over with how we write and compose React components.
I knew that I could use this chance to not only further my knowledge of React, but the product that I would be advocating for as well. One of the things I would do is start converting our simple product demos over to React Hooks. This helped me commit some of my learning to memory by doing it over and over. Writing also does this for me. Then it was time to start learning how to refactor an actual application with React Hooks, Kent C Dodds has a great YouTube video on this, but I can't find it all the sudden. If I do, I will post it.
BTW I also want to say that I have had a lot of people I have looked up to in the developer community over the years and Kent is one of the most approachable and nicest of the bunch. This is so important to me, and I want to thank him and others (Michael Chan and Ken Wheeler also come to mind) for being super approachable or just giving a shit and interacting with us mere mortals. A lot of my learning about JavaScript usually starts on one of these content creator's videos or blog articles.
I did not realize at first what a truly amazing topic I would be getting myself into. To date, the majority of things I have written about at Progress are React Hooks. I have approached this topic from a truly "beginner level" and hope to be able to package that knowledge up and make it easier for others to approach. Not that the ReactJS docs don't do this already, but I still feel that it's valuable to take all the resources I have used to learn about them and condense that down for others who want a bit of a short cut (disclaimer: there are no real shortcuts in life). Although the docs are the best resource and first place any one should look when learning about Hooks, I felt that if I learned the subject from a beginners perspective I could provide my blog readers with a highly approachable way to learn about this amazing new concept in React, especially if they are new to React or JavaScript. As well, I think the best way to learn about a subject is to write about it and I don't care if others are doing the same or if I constantly reference their stuff. It's still advancing my knowledge on the subject.
My Blog Posts on React Hooks
Below are the first four articles that I wrote React on Hooks and I try to approach the topic from a beginner's perspective. I would love to hear if any of you like them or not!
The Guide to Learning React Hooks
If you would like to see some all my content and talks on the subject of React and Hooks, I have those here.
I would also like to link to some advice from a great friend of mine Michael Chan who gives some advice about avoiding shortcuts and I think the advice is great considering the topic at hand. Someone who knows how to teach or write from a beginner's perspective will inherently understand that shortcuts usually should be avoided when learning something for the first time, they serve a great purpose for us once we have mastered a topic. but they can harm us if taken during our initial learning phase.
Top comments (1)
I totally agree, you should write on a topic even though it's already been covered. You're bringing your unique perspective to it. A beginner's one. There's gonna be far more beginners trying to learn it as well. Who knows, you might say something that clicks with them that the official docs might not. So kudos to you!