The importance of tutorials in the journey of a beginner dev. can't be overemphasized. There's no mincing words that it's a good learning tool, but you have to go about it in the right way or else you can become wrongfully dependent on them and not learn how to code on your own.
In this piece, I'd be dolling out some tips on how to avoid tutorial hell, both from my personal experience and generalized perspective.Then I'd ice the cake with some advice on how best to learn using tutorials and project-based learning. I choose
But before all that, let me not assume you know what 'tutorial hell' is, let's go!
What Is Tutorial Hell?
This is referred to as a situation where a beginner developer starts out their tech journey by simply watching tons and tons of video-tutorials, without setting out time to independently practice and build a project. Sometime in 2021 when I first started learning how to code, I wanted to build things but I didn't understand how to go about building my first project. So I got a udemy paid course on HTML and CSS, and meticulously watched it chapter by chapter. I felt like I understood all the concepts that were taught, (because I strongly felt that way😂).
In the tutorial I learnt how to build a product landing page with some cool animations by coding alongside the instructor. I knew I had to try something all by myself, so I opened up my code editor, guess what? I was a complete blank. I had no clue how to get started or how to go about it.
It then dawned on me that for the past months, I was trapped in consuming tutorials without actually test running my knowledge-base by trying projects all by myself. I had the opportunity to learn from these videos, but I went about it in the wrong way.
Tutorial hell is in my opinion an 'endless loop' because, learners without knowing, simply regurgitate videos without exactly learning to build things on their own. They come out from a tutorial feeling super pumped outside but empty inside.🤷
Why Many Developers Deliberately Remain in Tutorial Hell
a. Fear of Failing Without Tutorial.
A lot of beginner and intermediate developers mask their fears inside tutorials. Fear of starting and failing at a project because we're doing it independent of a tutorial. The trick as we often forget, is to try and then fail at it, it's only then we actually find out what we don't know. Imagine trying to independently create a server(backend folks can relate😎) and it keeps crashing, you'd have to carefully read the error messages it's throwing at you, so as to understand where you're getting it wrong. However, if you tried to create the server alongside your tutor, of course you'd get it right, but you've also denied yourself the ability to internalize the hows, and whys of the workability.
b. Need to Feel like a Badass.
A lot of beginners simply copy codes or even code along with the tutor to deliver a good project. Then they go ahead and brag about how they've become bad ass😂. You're both right and wrong in a way; you're right because yes, it takes some level of grit and painstaking effort to finish up a long video of a project, so when you follow through to the end and call yourself a badass, oh well, you're not far from it. Again, you're also wrong because it wasn't your initiative that built it, you didn't seat down to think out the logic or algorithm behind the project's functionality. The problem of tutorial hell is not a malady without cure. It only needs a level of intentionality and willingness to pull out of the endless cycle.
My 5 Step Approach Towards Dealing With Tutorial Hell.
- While watching the tutorial: Pause/stop and think about what you are going to build. It would help to write down the basic components of the project then get an idea of a way to implement what you've learnt so far.
- Attempt building the project on your own first: Possibly write out the algorithm or logic that's supposed to initiate your desired functionalities, then try to code them into your project 😉 , this may be difficult for you at first, but understand that it is totally fine to make mistakes because it is part of the learning process.
- Develop your Key Performance Indicators(KPI): The most important metric is results. Are you able to complete projects without a tutorial guiding you every step of the way? You should be able to understand the problem and develop some type of approach and only go back to the tutorial for reference.
- Be part of a community and attend symposiums or tech events: I find this helpful because, personally when I went for a tech gathering held in my state I met like-minded persons who I engaged in meaningful conversations with. That didn't just spur me up to be original, it also made me want to understand concepts very well. When you're part of a community ideas are shared and collaborations are even more possible. This limits any inclination to copy codes or verbosely implement tutorial codes, you'd want to think out something for yourself, something you can share within the community. P.S: It's understandable if you want to stay private. You also learn from others on a one-on-one basis.
- Break down your goal/vision as a software engineer so that you're not overwhelmed with having to learn everything.
Conclusion
The wrong way would be to leap from tutorial to tutorial and not process what you just learned. Not forgetting that the end goal is to be able to build projects on your own. No matter how many tutorials you've watched, endeavor to pause intermittently and do stuff yourself then go back to verify you did it right.