A lot of programmers have been here before, no matter how much experience they have. Tutorial Purgatory or Tutorial Hell as I will be calling it in this blog, sucks precious project time and even learning time out of your career. While I may not have the answer about this topic, I have gathered many other posts about this topic to try and help explain the problem and figure out some answers.
According to TheJamPearlBlog, “Basically, it is a situation where you find yourself always in the search for a new tutorial, a new book, a new course, a new lesson plan to build or create something”, what does this mean exactly? Finding new tutorials or other learning resources causes a false sense of understanding in the learner because they will assume that they understand as much as the tutorial they just watched. Usually, this is not the case as many people only retain a small amount of information from the content they get, and sometimes they assume that the more time they spend learning, the more time they are getting back to being better. Another thing of note is that according to RandellDawson from FreeCodeCamp, “The problem with tutorials is they lock you into a specific design pattern and you are unable to think for yourself.” Also, many people in the community will ask questions similar to this one, “What are some resources or tutorials to learn x.” This one here is a double edged sword because not only does it mean you know some better resources that at least one person either knows about or tried, but it also means that you are expected to get either a load of resources or a course that over explains your current task. According to MrBenJ on Medium, “This is a great question for anyone that doesn’t know where to start. Just like going for a run, cleaning the dishes, or hitting the gym, sometimes the hardest part is getting started.” His statement is very true and explains exactly why starting is the key to escaping.
There are many people who believe that they are just fine and are not stuck in tutorial hell. This assumption can be false and until they check for themselves will continue being stuck under a false idea of their current progress. Following a tutorial can seem like no harm is being done, but unless you are actively a part of the process, making your own projects and modifying the code to your advantage to get a better understanding of what the course is trying to tell you, it is tutorial hell. This statement is very brazen, that is because it is. Even if this is the only video or post on the subject, copying code is the same as tracing to artists. It makes you only as good as your ability to type. Another way to tell if you are in tutorial hell is if you paid more than $50 for your course, not only does this show that you rely on tutorials to teach you stuff, but also you got ripped off.
There are many posts that talk about how to escape tutorial hell. Writing how to escape tutorial hell in this post is not going to be worth the effect for either of us. I will give a quick summary and important quotes from the many sources I am using. According to davidmm1707 on dev.to, “Use tutorials as a baseline where you will build from, not as a crutch for everything you do.” This is handy advice because tutorials are actually similar to crutches, they help you out when you cannot. Since you can help yourself out, especially when the idea or project you want to build is your master plan, using the tutorials as a “baseline” for your project is going to be very handy. Many times you do not learn a language if you have no current use for it, same way for tutorials. Have a project and build it, which is greatly exemplified by MrBenJ on Medium.com, “It’s silly to think that this would be the approach: STEP 1: BUILD A REALLY LARGE PAGE…Break down the task. Identify the first step. Identify what action needs to be done. Then execute.” Also u/letsgohawks on Reddit puts it very nicely on the addition steps one can take to get themselves out of tutorial hell, “When you’re building your project, you will have times when you say”How the heck do I do this bit???”. Then you study and research and learn how. That’s how you learn new concepts. Also, just keep reading various blogs and articles about programming and whatever languages interest you, you’ll get introduced to new stuff all the time. Some of it will be useful to you; some of it won’t.” Replacing tutorials with semi-regular reading content can also fill that hole of learning something new just to get that feeling again. While I will not list any blogs or articles because it is content that you may enjoy reading and finding them out and learning how to setup your own way of dealing with a feed or stream of information is a step that is fun to learn how to do.
Many people think of themselves as greater than they actually are at tasks like programming, also called the dunning-kruger effect. Because of this whenever they let go of a tutorial, they feel hopeless and stupid. They view the time it would take them to complete a simple project as comparable to forever. They also end up doubting themselves of their own ability. Also according to Ray Gardener from Quora, “Because a lot of beginners are hoping to make money, but valuable software is far more difficult to develop than it used to be. So with each failure to get a job or develop something useful, novices try more learning.”. Learning is something that everyone feels like they cannot fail at. They can feel the success from actually making something, even if they themselves never made it. Also, from experience, starting projects that seem like great ideas, are only good until I get burned out or work on it for too long. Because of this inability to work on projects for a long time means that I must resort to thinking I am doing some worthwhile so I become a better programmer. I resort to tutorials for this.
Please remember that everyone has gone through some sort of tutorial hell. It is a very common problem in a competitive market. Being able to understand tutorial hell in its entirety is something that every developer should know because it causes them to understand the problems that face them a lot better. Just remember to enjoy yourself while programming and keep practicing your skills.