Original post: How to escape from Tutorial Hell and never come back
You finished a tutorial in record time. Congratulations! Now it is time to do another one! And keep going down a rabbit hole that it is hard to escape. Hard until now.
Almost all of us spent our fair share of time inside the Tutorial Hell, doing tutorial after tutorial having a false sense of security and progress, only to be shattered when we faced with real life.
Let's talk about it. But especially, let's talk about how we can escape from Tutorial Hell and recognize if we are there.
Before putting a solution on Tutorial Hell, we need to know what it is, why we felt into that trap and why we are stuck on that.
If you came here for the quick solution: Build your own projects and/or help on Open Source. That's it.
But if you want to understand why this happens to all of us, in order to know how to solve your problem, keep reading.
Let's answer an important question: What is this 'Tutorial Hell'? For once on my life, I can reply with a good Urban Dictionary answer:
_'Tutorial hell' is typically the stage when beginner programmers come to 'sort of' knowing how to build some simple things, but nothing really complex or scalable. They seem to need a tutorial for every other task they are in need of doing. _
Tutorial Hell is when we finish a tutorial with a sense of learning and knowledge, only to chain another one after the first. Or the second. Or the fifth.
And if you dare to try to write code for yourself, you feel overwhelmed. You don't know where to start or even what to do. So what you do? Another tutorial.
Finish a tutorial -> Try to start something on your own -> You feel like you don't know what to do -> Start a new tutorial -> Finish a tutorial…
And the wheel keeps turning.
Tutorials give you a sense of learning and a feel that you can measure your progress. This tutorial is 10 hours, so if I dedicate 2 hours a day, I can learn C# in a week!!
And then you start a new project, you get stuck because you don't know enough. And what you do when you don't know enough?
Does this sound familiar to you?
We know what Tutorial hell is, but why do we stay there?
There is a lot of reasons for people staying there.
Tutorials are risk-free. You just follow what the teacher says. If you find an error, you pull the code from the Github, paste it into your code, and ta-dah! It is working now!
Also, tutorials give you a sense of progression. Did you finish 2 tutorials on Node.JS? Now you know Node.JS! Even if you never built a REST API, the backend for a website or a small program, you feel like you know Node.JS.
The famous "Impostor syndrome" comes to mind too. The fear of being exposed as a fraud makes people keep doing tutorials on loop until they "feel ready". But you cannot feel ready when everything is spoon-fed to you. There is no way you can grow by doing (only) that.
Sometimes, beginners have one of these reasons. Most of the times, 2 or more.
Whatever the reason you're here, let's find ways that can help you to overcome this.
You know you're in Tutorial Hell, you know why. Let's escape this hole right now.
The easier way to escape from Tutorial Hell is not doing more tutorials. Ok, don't hunt me down, I know it sounds like "Are you depressed? Be happy, then!".
But what you should do after doing a tutorial is build something. Something you like, something you need, even the very same thing you built on that tutorial.
Use the tutorial you just watched (and coded along with the video. Because you are doing that, right?) as an intro to your language/framework. Use to get your feet wet: Learn how to create a project, how to do basic stuff, the tools of the language, syntax, structure of a project, etc.
Then, replicate what you saw on the tutorial or even give it your personal touch.
Did you just finish a design tutorial where you built your own CV that looks amazing? Then build it again without the tutorial. Are you struggling with something? After a few minutes (or hours) of trying on your own, watch that chapter, incorporate it to your project and keep working without videos.
Did you watch a Django tutorial where you build a web app to manage the employers of a company? Nice. Build then a web app to manage a company. Employers, products, RH, products sold, add a nice graph with the current year sales.
You'll find problems you can't solve. And this time you are doing something different that you saw on the tutorial, so it is time to ask your friends, workmates, google the issue, ask on StackOverflow/dev.to/Reddit, look for articles, blogs (like this one!), etc to solve your problem.
It might sound tiresome. And I assure you it is. But also you'll learn a lot. Because there is no hand-holding now. You have to read and find between all the info, the piece that you need and discard the ones you don't.
Use tutorials as a baseline where you will build from, not as a crutch for everything you do.
Sounds daunting, right?
If you are not a proper developer, how are you going to do code for other people?
I never thought about this because the same reason, but seems like some beginners love it.
Instead of creating a project from nothing, you take an existing one, take a small chunk to fix it, or just add a new feature.
And getting that Pull Request approved is a great feeling (just don't expect your very first PR to be accepted).
Open Source has a great community around it that can help you if you ask, meet people on their forums (if they have them) and looks good on your CV.
Just remember to not bite more than you can chew. Don't start making PR to the Django Repo if you just finished your first 10 hours Udemy tutorial.
Aim to what you know, or a bit more. Something you can learn soon. Something that you want to know, so you can force yourself to learn it.
A quick summary:
- Tutorial Hell is that place where we keep chaining tutorial after tutorial instead of building something on our own
- This happens because 1) We are insecure about what we know 2) We suffer from 'imposter syndrome" 3) Gives us a sense of progression 4) Are risk-free
- We can solve this by creating our own projects and/or collaborating with other people on open source projects.
I was once on Tutorial Hell too. And sometimes, when I want to learn something new, there is always the lure of doing tutorial after tutorial, as it is safe.
Remember what you read today to not repeat the same mistakes.
I solved it by doing my own projects, and I plan to start collaborating with open source projects like tutorialdb soon.
How did you escape from Tutorial Hell? Tell us in the comments. You might help other people reading this.