Falling into tutorial hell is very common if you are learning to code or a new web development technology.
You take many tutorials and courses over and over again without building anything with your knowledge. The easiest way to get out of tutorial hell is to build small projects related to the topic or extend the project used to demonstrate the tutorial you are learning from.
What is Tutorial Hell
In programming, tutorial hell is a mental cycle where you spend all your valuable time on coding tutorials and resources while missing the most important step in your learning process, which is to practice coding.
In this cycle:
- You complete a tutorial, learning something new.
- You try building something with your new knowledge,
- Then you realize you are missing another skill, hence
- You go back to the learning board again
Tutorial hell is when you keep rinsing and repeating this process, leaving little to no time to practice coding and building projects.
Tentacles of Tutorial Hell (A Personalized Story)
Back in 2013, when I started learning how to code.
I loved the idea of being a coder.
I was so passionate about being a web developer and creating my custom-made websites and of clients.
My first impulse was to watch videos on youtube.
I watched countless tutorials on youtube.
While watching the videos and coding along in a few of them, I understood what the instructor was demonstrating, and I bet I could do these things myself.
This style of learning lingered for close to two years.
Until 2017, I had only some code-along project repositories on my GitHub, which were direct replicas of what these youtube instructors were demonstrating.
Then, a client who I helped create his business website using WordPress referred me to his friend; the friend needed a custom-made website; something that couldn’t achieve with WordPress
At that point, it dawned on me that I still don’t know anything about web development.
I was blank, with no idea where to start from.
I went back to youtube, watching multiple videos before I can be able to work on a simple task on the project
So I watched some more videos and signed up for some Udemy courses.
These courses took me from being blank and clueless to completing the HTML and CSS steps for the project.
I loved the final result and decided to sign up for another Udemy course.
I learned how to build more web pages using HTML and CSS adorned with cool animations.
I modeled what the instructors were teaching and adapted it to my client’s project.
By the end of three months, I couldn’t complete the project.
It got worse when I ventured into the backend.
Watching an instructor demonstrate and teach PHP looked very easy, and using the Laravel framework made it look easier.
But when I opened up my code editor to do my stuff all by myself, I was drawing a complete blank.
I had no clue how to get started or how to research the questions that their answers would help me get started.
I needed to connect many different angles in my head to make sense of the different parts of this Laravel framework.
My poor PHP background even made matters worse.
It then dawned on me that for the past few years, I was trapped in consuming tutorials without putting into practice what I was learning.
Here’s how I got it all wrong.
First, the passion for learning and becoming a web developer was there; that’s why I could even sit down to consume hours of coding tutorial videos.
Secondly, I had the opportunity to learn from these videos, but I went about it in the wrong way.
That was how I was stuck in the tutorial hell, and after years of consuming a good number of tutorials, I had nothing to show for it.
All I was doing was coding along with the instructor and jumping from project to project.
I didn’t stop to ask questions and process what I had just learned, build my project or add more unique features to the code along with projects.
Immediately after I finish a tutorial, I quickly start looking for another one.
Something inside makes me feel I need to fill my head with more knowledge as quickly as possible.
Since I can make the content of the tutorial project without problems, I begin to believe that I am an excellent programmer. Meanwhile, that’s far from reality.
Tutorials can be a good learning tool but can also be a trap that will impede your growth as a web developer.
You have to go about it the right way, or else you can become dependent on them and not learn how to code on your own.
How do you get out of Tutorial Hell?
Let’s take a look a look at the 7 escape plans.
1. Learn the Fundamentals:
It should all start from the basics.
Let’s say you want to learn to write HTML and CSS codes.
A simple and dedicated read-through on w3schools or Mozilla web developer network will teach you all the basics you need to know about the language.
When you learn the basics of these web development technology, it’s time to move to the next step in your learning career.
2. Start Small:
Start building petty projects like games, small pieces of a larger project, etc.
You can cook up these projects in a day or two by planning, researching, and getting your hands dirty with code.
These projects will further solidify your knowledge about the basic concepts you just learned.
Nothing fancy and nothing complex.
You don’t need to get stuck in an hour-long video on youtube to learn these; you can complete these projects by reading simple blog articles and with your basic knowledge.
You can also build them while learning the basics.
3. Teach Others
It’s believed that the best way to solidify your knowledge of something is to teach the little you know about it.
You can use the same approach here.
Volunteer to speak and teach others in web development communities to whom you belong.
If writing is your strong means of communication, you can start writing blog articles for your site or as a guest blogger on different technical blogs.
If you are comfortable creating video content, you can start a youtube channel and teach what you are learning.
When you teach others, your brain will create new neural points connecting information in your head, which will help you understand better and retain the knowledge you have for that topic.
4. Write it Down
In my quest to pull myself out of tutorial hell, I figured that taking detailed notes while learning from a tutorial(video or written) helps a lot.
This note will be helpful when you are working on your project, and you need to recall a snippet of code or something you need to continue.
With this, you don’t need to go back to the tutorial video to rewatch it or start reading through an already-read written tutorial.
Again, writing something down in your own words, the exact way you understood it, would also help build that neural pattern in your brain that helps you internalize and solidify your knowledge on a topic.
Don’t assume you know it. Always write it down because 98% of the time, you will forget it when you need to recall it.
5. Read the Documentation
Many beginner web developers stay away from documentation because it always appears overwhelming to read through.
Documentation are like the manuals prepared by the owners of the technology directing you on how to use the technology.
Nobody can explain their technology more than the owner.
Incorporate documentation into your learning resources.
Watching tutorial videos on youtube or Udemy might look easier; thus, you might already be too attached to watching videos, but documentation tends to give you a clearer and deep information on the topic you are trying to learn.
When the training wheels are unscrewed and you are responsible for researching and finding solutions to programming problems that come your way.
You will discover that documentation will become your best friend; that’s where you will run to find the right code snippet to implement the logic you have in mind.
Nevertheless, you can always go back to the videos or blog articles to understand and recall certain concepts, but that’s how you set yourself up for a tutorial.
Before you know it, you are stuck rampaging through different videos.
6. Join a Community and Ask for Help
One of the most interesting things about web development is that it’s very easy to find a dedicated and engaging community to belong to.
These communities can be online or offline, and belonging to one helps in many ways.
You are more motivated, plus you learn from a mix of senior and junior devs and also learn using the right strategies.
You get to ask questions and quickly get good answers and solutions to your problems.
If you are struggling with something and nothing else you have tried is working out, instead of foraging through long videos, simply ask in a community like StackOverflow and get answers from experienced devs immediately.
You can signup for Twitter, Slack, Showcase, and Discord.
Join web development communities related to the technologies you are learning and try to connect with developers who can help you solve your problem.
Engage and build a genuine connection with the members, and ask your questions when you get stuck with something.
7. Give Yourself Time
Don’t try to walk through 100 miles in one step.
When you want to bite more than you can chew, you will be overwhelmed and might even choke on it.
The most skilled developers you know were once clueless beginners.
But with time, practice and experience, they evolved into what they are today, and so would you.
Sometimes these things take time to start making sense to you. You have to give your brain some time to digest programming concepts.
Knowledge compounds and builds up.
Tutorial hell is very common among developers, and devs of different levels can experience it.
No matter how experienced you are, always understand that watching hundreds of tutorials without practice will not make you a good developer.
If you don’t practice what you are learning, you will easily forget the concepts you learned.
If this repeats, you will slow down your learning process.
So always practice what you learn, take breaks from learning, and build projects.