DEV Community

Cover image for How to escape from Tutorial Hell and never come back
David MMπŸ‘¨πŸ»β€πŸ’»
David MMπŸ‘¨πŸ»β€πŸ’»

Posted on • Edited on

How to escape from Tutorial Hell and never come back

Original post: How to escape from Tutorial Hell and never come back

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.


Introduction

How to escape from Tutorial Hell

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.


What is Tutorial Hell?

Lebanon Hanover – Besides The Abyss cover

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?

More tutorials.

Does this sound familiar to you?


Why are we in our own Tutorial Hell

How to escape from Tutorial Hell

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.


How we can escape from Tutorial Hell

How to escape from Tutorial Hell

You know you're in Tutorial Hell, you know why. Let's escape this hole right now.

Build something

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.

Contribute to Open Source

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.


Conclusion

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.


My Youtube tutorial videos

Reach to me on Twitter

Learn how to be more productive

Top comments (17)

Collapse
 
voilalex profile image
Ilya

Thank you for this article! I had the problem described here and it was pretty frustrating experience. I read tutorial after tutorial. Sometimes I didn't even coded the project from tutors. I just went through a tutorial, felt that I spent my time productive and forgot about it forever. It's the first time I read about it and now I know that I was not alone.

Collapse
 
andrewbrown profile image
Andrew Brown πŸ‡¨πŸ‡¦

It is bizarre for me to understand the mindset of someone getting stuck watching tutorials and never progressing since this never happened to me. Probably since when I started a decade ago we couldn't binge-watch video tutorials you just had to build it and bang your head against the wall until you were complete.

I have an application I get mentees to build and I've noticed when they hit the hard bits they go off and start watching video tutorials instead of trying to solve the problem in front of them and days later they are now following video tutorials and completely unrelated to the project.

Another thing I've stopped doing is pair programming with them giving them instructional steps because they just blindly follow your steps. Banging your head against problems until you solve them is what you have to do, and it looks like people find any way possible to avoid that experience.

Collapse
 
zeslova profile image
Simon Newby

I'm definitely in the school of build it. Love to look at other people's code then try and replicate it in a different way, and then hack it to do something else, then realise I could have done it another way entirely. But hands on is the way to go, better to pick up and play with it (while searching Google like crazy) then be led by the hand.

Collapse
 
davidmm1707 profile image
David MMπŸ‘¨πŸ»β€πŸ’»

Yeah. Many people say "Just work on your own", but reading someone's else code teaches you to do things in a way you could not even dream.

And teaches you how 'real' developers do things.

Collapse
 
zeslova profile image
Simon Newby

It also helps passively introduce you to things like factories and design patterns because you see them in action and have to intuit the implementation rather than just magically decide you need to know about these things because you stumbled across a tutorial or article.

Collapse
 
khatc profile image
Khatc

Best way to get out of tutorial hell is to find a tutorial that addresses your need then just watch, no coding. Figure out why they’re doing what they’re doing and understand the process and foundation of the code. Then afterwards write your code without the tutorial.

Collapse
 
skelcat profile image
Cat

Greetings,

Ahah, this resonated so hard with me.
This is why I decided to give myself only one more tutorial(CodeCademy C# Path) on this 100daysofcode beginning and then not touch another one until the end. It's time to actually built something.

Best Regards,
Cat

Collapse
 
davidmm1707 profile image
David MMπŸ‘¨πŸ»β€πŸ’»

I'm doing the challenge too (3rd time) and I used to just chill and do tutorials or books.

But now I'm doing projects too between video tutorials/books, and while it is frustrating sometimes, you learn more.

And you spend more time working without noticing.

Collapse
 
virien84 profile image
David Anton Alvarez

Thanks! this article reflects exactly where I am now, and it's a terrible place.

One thing I want to mention is another side effect of being in tutorial hell: the terrible feeling that you have wasted a lot of time studying things that you have already forgotten about, and the guilt that these thoughts provoke in you.

I hope I'll take my ticket out of here as soon as possible.

Collapse
 
codenutt profile image
Jared

It's interesting you have a link for your tutorials in an article about getting away from tutorials lol

I do agree that building things and contributing to OS is a great way to get out if it πŸ‘πŸ»

Collapse
 
davidmm1707 profile image
David MMπŸ‘¨πŸ»β€πŸ’»

Is not about getting away from tutorials, but how to not be trapped by them.

I'm still doing tutorials to learn how to do things. But after that, I'm going to do those things I want to do, not keep doing more and more tutorials.

Collapse
 
codenutt profile image
Jared

Gotcha. I hear that!

Collapse
 
teimoorbah profile image
teimoorbah

hi thanks you for your article. but how can i build something on my own? if i were to create a snake game in python what steps should i take to create a working program? did i need to use existing code on the internet to solve it?

Collapse
 
sandorturanszky profile image
Sandor | tutorialhell.dev

The problem is that beginners do not see what the scope of what programming is.

You need to define a clear goal. For example, you could decide to go for web development and in that case, you need to know what exactly it takes to build a web app. What kind of applications you can build, what technologies you can use in Frontend and Backend, how to test apps, where to deploy them.

Then, you go deeper into FE and BE and you need to understand what the building blocks are. It may seem like a high level, but in fact, without this knowledge you get stuck in tutorial hell. Β 

Knowing what is needed to build a fully fictional web app gives you a better idea about what you need to learn or how to ask questions to get the right answers.

I am working on a beginner-friendly tutorial on creating a Trello clone to teach beginners how to think to be able to build a large scale app. Check it out: js.comparecourses.dev/

Collapse
 
tacotoemeck profile image
tacotoemeck

Thanks for that article. Helped me realize I was on the path to the tutorial hell, time to build some sh** now

Collapse
 
davidmm1707 profile image
David MMπŸ‘¨πŸ»β€πŸ’»

Thanks! If I can help even only one person with this article, I'm happy.