Before we continue, let’s first make a little statement about what exactly is the tutorial hell. It is a pretty nasty and horrible cycle where an entry level programmer watches tutorial after tutorial and never implements anything alone. It is a process, where it is hard to start and progress or sometimes it is almost impossible to do so. The only thing helping is another tutorial and the cycle continues forever.
Most people recommend writing your first app, finding a way to solve problems or deep dive in the language you are trying to learn. I completely agree, but some people are so deep in hell that even trying to do it causes anxiety or they simply quit and decide it is not for them.
Before I give you my two cents, I will share with you two examples on why it is important to watch and check tutorials and also why there must be an end to it.
Although I admire his persistence, he is so used to that, that it is almost impossible for him to escape.
My second example is the opposite of that. A man who tries to learn to code without documentation, without videos and tutorials. No courses, nothing! Even googling is not his strong side.
I worked with an intern that didn’t have a clue what was going on. This wasn’t a problem, because it appeared as he was showing a lot of will and determination. He was asking a lot of questions, we discussed a lot of ideas, problems and so on.
Soon, I realized that he was asking me the same stuff and he wasn’t checking anything. He didn’t find it useful to check the docs and try to implement. He was asking basically for every single thing he had to do at work.
I encouraged him to watch some videos, implement something on his own, but nobody listened. Several months have passed and he still doesn’t know how to create a single nav bar.
I don’t know which one is better or worse, but tutorials are necessary and useful if you learn to use them right!
Ok, let’s discuss some ideas on how to break that cycle.
It may sound odd, but hear me out. One of the reasons for being in this tutorial hell is the sense of completion, lack of stress and problems. You have everything in front of you. You just follow along and not really think about it. Sometimes, you even have the GitHub repository.
If you decide to write a blog, an article to teach someone, you will have to go out of your comfort zone and push yourself.
If you want to teach someone about arrays, you have to really bury yourself in the information online. You will have to check articles, documentation, and ask questions in order to get the job done.
I can give you a few examples. Write a few articles on specific programming features and later on, write some functionalities.
One of the first articles could be about different types, arrays, objects and so on. The second part is a little bit tricky, but start slow - showing modals, To Do’s, listing information on a page from a source ( totally ok to fake it )
While doing so, you will probably learn to read the official documentations.That leads me to my second way.
Sometimes it is better to learn to check the official docs. While working in real life on a project you will be using a library, you aren’t used. Skill yourself to get information from official sources. There isn’t a tutorial for everything.
Some technologies lack proper documentation and this is alright. The tech community is great and even if there isn’t an official doc, there probably is an article from someone out there. Learn to use that kind of source.
The moment you finish a tutorial, take your time and relax. If you need, take a few days and think about what to add that doesn’t look too big or complex.
If you are watching a tutorial about To Do’s, try to add colors to them. Try to add categories. Try to add some kind of notifications. Just experiment.
Use the skill you already know about Googling and reading documentations. Don’t be afraid to ask questions.
Don’t go to the next tutorial, until you finish at least two features alone. Only two. It doesn’t seem a lot, but it is adding up with the next tutorial. At some point you should be more confident and potentially should be adding feature after feature and it wouldn’t scare and intimidate you. At some point, you will forget to even check YouTube for information.
I promise there is a good reason behind this. When you find a job, there is a small chance you will be working on a project from scratch. In most cases, some percentage of the code is already written. You will have to navigate, examine and improve.
Every company is going to give you time to familiarize yourself with the codebase, so take your time. Don’t rush. My advice is to take the code from something you like and try to work on it. Change something, implement something. Add or remove. Play with it.
At first it will be difficult to even understand what is going on. If it is a big project, you will be completely lost, but after a week or two, you should at least know what is going on. Open source is a great choice.
Every person is different and learns differently, but the tutorial hell is a real problem. You have to find will and push yourself, because no one else is going to do it for you. People can give ideas and support, but you are the one who has to sit down and struggle in front of a blank sheet. You and only you, have to write that first line of code.
It is hard, but it is worth it. Take the time and enjoy the journey!