DEV Community

Cover image for Tutorials are Wrong
Leonardo Montini for This is Learning

Posted on • Edited on • Originally published at leonardomontini.dev

Tutorials are Wrong

Is the title a clickbait? Nope, let me explain.

Learning new stuff is amazing and courses and tutorials are a great help, until, you realize you’re stuck in the Tutorial Hell đŸ”„

So, are some tutorials wrong? Or all tutorials? And what is this Tutorial Hell?

Do you like watching videos over reading? You can find a video version here:

Click here for the YouTube video!


Tutorial Hell is that situation where you get the habit of using tutorials to do something new, without realizing you’re not understanding what you’re doing, you’re just copying someone else’s work.

Well redacted tutorials, will make it easy to get to the final and polished solution as smooth as possible, and that’s fine, but you must not forget to analyze all the steps in between.

Give a man a fish and you feed him for a day
-> You’ve built your thing

Teach a man how to fish and you feed him for a lifetime
-> You know HOW to build many things by yourself

Do you get the analogy with tutorials?

It’s easy to fall into this situation without even realizing and it does not only apply to beginners, you might be affected in some way regardless of your skill level.

Let’s assume you might be in this so called Tutorial Hell. The very first step to escape is by reading this tutorial on how to escape the tutorial hell... ok, wait, this sounds tricky.

The best way to use tutorials is to forget about what the tutorial aims for. Forget it! But learn everything else in between. You shouldn’t focus on the final result, but on all the path that you have to follow, before getting to the final product.

Let’s say you’re watching a tutorial on how to make a todo list in React. Sounds easy, right?

Ok, at some point the tutorial tells you to send an HTTP request to save your list. It uses the POST verb. What is that? How many other HTTP verbs are there? Why POST and not PUT or PATCH?

And again, does it use a library to make the call, such as axios? Ok cool, what is this library? Why should I use it compared to other libraries? Do you have a native solution? Yes, you can use fetch so what are the differences between fetch and axios?

Ok, I think you got my point.

Every time the tutorial tells you to do something, ask yourself some questions. Try to get deeper on why something has been done specifically that way. Properly understanding this, will let you absorb 10 times more what the tutorial is about.

It will take more time to build your todo app, that’s for sure, but you’re just learning, right? So you want to build the todo list, or to learn how to build a gozillion other apps in the future? That’s your choice.


However, tutorials are not the only way to learn something new. To be honest, I like to learn by putting my hands on real projects, that’s why I try to contribute as often as possible to Open Source, and you should do the same! I explain in this video all the advantages it gives.

I promise you with Open Source you will learn a lot more than just by following tutorials! Go watch it and let me know what you think :)


Thanks for reading this post, I hope you found it interesting!
Feel free to follow me to get notified when new articles are out ;)

Do you like my content? You might consider subscribing to my YouTube channel! You can find it here:

YouTube

Top comments (11)

Collapse
 
cleveroscar profile image
Oscar Ortiz • Edited

I like tutorials but in all honesty it really depends on the learner. I use google and youtube on a daily basis when I can't figure something out.

If you get stuck on something, I believe you need to know how to ask questions. If you can properly break down the problem you are working with to a simple 1 + 1 question, then you are capable of finding it on the internet somewhere.

Stackoverflow is usually where I spend time writing my complex questions.

There are many platforms to get good and bad information.

The job of a developer is not to write code. It is to solve problems âšĄïž

Collapse
 
balastrong profile image
Leonardo Montini • Edited

That's true, learning how to ask the right questions (and with the right frequency) is the key!

Thanks for the comment :)

Collapse
 
naucode profile image
Al - Naucode

Great article, keep the good work! Liked and followed! 🚀

Collapse
 
prithvi06 profile image
Prithviraj Singh Thakur

Great article

Collapse
 
balastrong profile image
Leonardo Montini

Thank you, much appreciated! ♄

Collapse
 
stuartloria profile image
Stuart Loria

It always takes me 10X more time to complete a tutorial because I want to understand the content just like you are saying and I like to code to understand.
That and taking notes drive the points home

Collapse
 
balastrong profile image
Leonardo Montini

That's a smart way to use tutorials :D

Collapse
 
prithvi06 profile image
Prithviraj Singh Thakur

Great Article

Collapse
 
acode123 profile image
acode123

I learn from tutorials, as hard as that is to believe.

Collapse
 
balastrong profile image
Leonardo Montini

If used the right way, tutorials can be great too :)

Collapse
 
sentadoensilla profile image
sentadoensilla

Someone teach dropping old knowledge like updates in android apps, a non finish running. Is annoying