{"id":28829,"date":"2022-06-15T15:06:31","date_gmt":"2022-06-15T13:06:31","guid":{"rendered":"https:\/\/www.wbscodingschool.com\/?p=28829"},"modified":"2022-06-15T15:06:31","modified_gmt":"2022-06-15T13:06:31","slug":"what-is-tutorial-hell-how-to-get-out","status":"publish","type":"post","link":"https:\/\/www.wbscodingschool.com\/blog\/what-is-tutorial-hell-how-to-get-out\/","title":{"rendered":"What is tutorial hell and how to get out"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">The two most difficult things I have ever done in my life have been teaching myself JavaScript and finishing an Ultra Nightmare campaign in <em>Doom Eternal<\/em>. While I was initially certain these two endeavours would be as closely related to each other as Michelangelo\u2019s <em>David<\/em> is to a Campechano taco, I was bewildered to find they are linked by a precise conceptual thread.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I am talking about <strong><em>tutorial hell<\/em><\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Many if not most programmers eventually become familiar with \u2018tutorial hell\u2019. Shockingly, it works out that playing <em>Doom Eternal<\/em> did not actually teach me anything useful on how to get out of it.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You can\u2019t shoot your way out of tutorial hell. But there are still things you can do.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Let me tell you about them. And also about <em>Doom<\/em>. I feel like <em>Doom<\/em> is going to matter.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><em>What is tutorial hell?<\/em><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Let\u2019s start by defining our terms. Tutorial hell is a metaphysical space where beginner programmers are sometimes consigned as a punishment for flying too close to the sun of learning. It\u2019s called \u2018hell\u2019 not because it\u2019s full of red walls, platforms you\u2019ve got to jump up on and random plasma rifle ammo crates, but because <strong>it has no natural end<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tutorial hell is essentially a <em>cycle<\/em>, and thus something you\u2019ll be stuck within indefinitely unless you succeed in <em>breaking the cycle<\/em>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In short, this is how tutorial hell works:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Step 1 \u2013 You complete a coding tutorial and learn skill Y.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Step 2 \u2013 You try building something using skill Y, and you suddenly realize you are missing skill X and you have no idea what you\u2019re doing.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Step 3 \u2013 You take a tutorial to learn skill X.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Step 4 \u2013 <em>rinse, repeat as above<\/em>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"https:\/\/www.wbscodingschool.com\/files\/2.-AdobeStock-by-bluedesign_58635178-1024x768.jpeg\" alt=\"cycle change circulation breakout success life break, job career break the cycle sign traffic roundabout symbol, out career move intersection rotation, roundabout traffic positive alternative around, arrows circle illustration business successful, move circular direction roundabout background, advertising motion going concept process road sign, round problem loop solution, system simple abstract blue traffic escape modern, traffic sign yellow marketing empty space rotating arrow isolated\" class=\"wp-image-28820\"\/><figcaption>Adobe Stock \/ bluedesign<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Tutorial hell actually <em>does<\/em> have a sort of symmetry with the <em>Doom<\/em> games, in that the two things are defined by psychological outlooks which are the exact opposite of each other.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You see, tutorial hell often has to do with a lack of self-confidence. People go back to tutorials when they try to apply their knowledge and suddenly feel an attack of anxiety \u2013 an acute sense that in spite of all the practice they have done, they really have no idea what they are doing. They think that doing another tutorial will allay these insecurities, but this only pushes the problem to a later point in time.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The space marine in <em>Doom<\/em> is exactly the sort of guy who will never get stuck in tutorial hell (the irony of this sentence is not lost on me). His will is unbreakable. He does not know doubt. His famous green armor won\u2019t help you \u2013 but whatever mental routine he does before he gets up in the morning ready to burn the world down, that could probably teach you a thing or two.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><em>Why is tutorial hell so hard to get out of?<\/em><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The reason I play <em>Doom<\/em> is that, unlike real life, it always makes me feel like I am making some sort of progress. Tutorials feed you the same illusion, which is what makes them seductive: you finish a coding tutorial about, say, SQL, and you think to yourself \u2018Hey, I just learned something! I am now one step closer to my goal of <em>being good with SQL<\/em>.\u2019<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">There is actually some truth to that, inasmuch as you spending your time doing tutorials is not a complete waste of time that you are guaranteed to regret on your deathbed (notoriously unlike me playing <em>Doom<\/em> on Ultra Nightmare).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Tutorials <em>do<\/em> teach new and worthwhile coding skills. But they also have an inherent \u2018ceiling\u2019 to the sort of skills you can learn<\/strong>. You can only go so high (or so <em>deep<\/em>, even if that clashes with the ceiling metaphor).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you were studying programming through anything <em>but<\/em> tutorials, you\u2019d see the truth of this pretty quickly. You\u2019d have to research which libraries to use by yourself. You\u2019d have to test your solution and then debug it. You\u2019d have to handle unforeseen and unforeseeable problems.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">All these things are part of a programmer\u2019s job, but here\u2019s the thing \u2013 if you\u2019re doing a tutorial, <em>somebody else did all of that for you<\/em>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"682\" src=\"https:\/\/www.wbscodingschool.com\/files\/3.-AdobeStock-by-Mediteraneo_338096008-1024x682.jpeg\" alt=\"\" class=\"wp-image-28823\"><figcaption>Adobe Stock \/ Mediteraneo<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">It was whoever designed your tutorial who took care of the debugging, testing, etc. and then streamlined the whole process so you wouldn\u2019t encounter these problems yourself. You therefore never even see the \u2018ceiling\u2019 and yet get all the sense of progression and accomplishment of a space marine shooting a rocket down the throat of a hell knight (this may not be the best analogy I have ever come up with*).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In other words, <strong>tutorial hell happens when you get used to learning by hand-holding<\/strong>, and can\u2019t learn any other way \u2013 which inevitably leaves you stuck at an amateur level.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Fortunately, that very description also gives us a clue on the next bit \u2013 how to get <em>out<\/em> of tutorial hell.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Again, no shooting involved. Disappointing as that may be. Or not.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">*<em>That statement probably applies to the entire article<\/em>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><em>Ok, now tell me how to get out<\/em><\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/www.wbscodingschool.com\/files\/4.-AdobeStock-by-gorodenkoff_311314893-1024x576.jpeg\" alt=\"Primeval Caveman in Animal Skin and Fur Holds Stone Tipped Spear Comes out of His Cave into Prehistoric Forest Ready to Hunt. Neanderthal Going Hunting into the Jungle. Shot with Warm Filter.\" class=\"wp-image-28826\"\/><figcaption>Adobe Stock \/ gorodenkoff<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">If you want to learn how to speak a language, at some point you have to switch off Duolingo, go out into the street and start interacting with the people in that language.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The same holds true for programming. You have to get out of the bell jar of tutorials and into the nitty-gritty of the work. How do you do that in practice?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Here are three steps I would recommend.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The first thing you have to do is <strong>build something of your own<\/strong>. If you did a tutorial learning how to make a simple game, then create a <em>different<\/em> game. You want to come up with something related to your latest tutorial, naturally, so that you will be using and refining some of the skills you picked up, yet different enough that you\u2019re not just repeating the same exercises.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This time, however, all the things that can go wrong will go wrong \u2013 instead of being neutered in advance by the designer of the tutorial. And it will be up to you to figure out how to solve them. You\u2019ll need to ask for help and Google a lot, but this time you\u2019ll be doing this <em>outside<\/em> the framework of the tutorial, finding resources by yourself. And don\u2019t feel bad about looking stuff up \u2013 you\u2019ll still be Googling stuff even when you have a decade of experience in this line of work.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">As you build something by yourself, you\u2019ll probably have to start on my recommended step two \u2013 look up and <strong>read the official documentation<\/strong> for whatever programming language and\/or technology you are using.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This too is part of every programmer\u2019s job. Reading documentation will teach you a great deal about the tools you are using, but crucially, this time you\u2019ll be doing a whole new type of mental exercise. Your brain is no longer being led through a tour, it is out in the wilderness and finding out things all by itself.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Finally, I would also recommend <strong>contributing to an Open Source project<\/strong>. You\u2019ll have to start small, naturally, and take only the smallest part of whatever project you selected. You should also mentally prepare yourself to see your first pull requests consistently crash and burn.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">All that being said, working on Open Source projects is a fabulous way to get some experience doing real programming work. It doesn\u2019t just provide excellent, independent practice which teaches you self-reliance, it also rewards you with a sense of accomplishment. When you get something done, your work was useful and made a difference. It even looks good on your CV.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In short \u2013 build stuff, read stuff, work on Open Source stuff. And get yourself a BFG 9000 in case there\u2019s trouble.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Final Thoughts<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">It\u2019s kind of sad to me that if I complete a coding tutorial, I don\u2019t hear a deep, raucous voice saying \u201c<em>And thus did the walker of shadow complete his path of learning to bring destruction unto the heathen hoarde<\/em>\u201d. Even absent this infernal shot of endorphines, however, there is value in coding tutorials. You just have to know how to use them right. Learning how to learn is an art in and of itself.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If there is any takeaway you get from this article, I hope it\u2019s this \u2013 don\u2019t give up on your learning path. Asking you to be as determined and unstoppable as the Doom Slayer may be a bit of a tall order, but at least have the attitude. Remember that <a href=\"https:\/\/www.wbscodingschool.com\/blog\/the-everyday-benefits-of-learning-to-code\/\">the benefits you will get from learning to code<\/a> are many and more, and if your current approach isn\u2019t working, change something about it.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Being tactical about going forwards is a better response to trouble than just retreating \u2013 at least when you find yourself in hell. Whichever version of it that may be.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Everything you need to know about tutorial hell and playing Doom<\/p>\n","protected":false},"author":17,"featured_media":28817,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"content-type":"","footnotes":""},"categories":[42],"tags":[],"class_list":["post-28829","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-coding"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.wbscodingschool.com\/de\/wp-json\/wp\/v2\/posts\/28829","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.wbscodingschool.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.wbscodingschool.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.wbscodingschool.com\/de\/wp-json\/wp\/v2\/users\/17"}],"replies":[{"embeddable":true,"href":"https:\/\/www.wbscodingschool.com\/de\/wp-json\/wp\/v2\/comments?post=28829"}],"version-history":[{"count":1,"href":"https:\/\/www.wbscodingschool.com\/de\/wp-json\/wp\/v2\/posts\/28829\/revisions"}],"predecessor-version":[{"id":62564,"href":"https:\/\/www.wbscodingschool.com\/de\/wp-json\/wp\/v2\/posts\/28829\/revisions\/62564"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.wbscodingschool.com\/de\/wp-json\/wp\/v2\/media\/28817"}],"wp:attachment":[{"href":"https:\/\/www.wbscodingschool.com\/de\/wp-json\/wp\/v2\/media?parent=28829"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.wbscodingschool.com\/de\/wp-json\/wp\/v2\/categories?post=28829"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.wbscodingschool.com\/de\/wp-json\/wp\/v2\/tags?post=28829"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}