Every new person I see today getting started with programming, seems to start off with “tutorials”. I did so too. But I do not recommend it, anymore. Most people when starting out think of tutorials as heaven. Its only after you break out of it, that you realize, it was actually hell(often referred to as “tutorial hell”). Personally, I would’ve been stuck in tutorial hell too, but I just got lucky, and I started building things too niche(I was trying to build operating systems in python) to find a tutorial on.

Tutorials are great, don’t get me wrong. They teach you the basics of something by building a project or something similar. However, they do not tell you, when to start doing things on your own. If you keep on just building things by following tutorials, you’ll get stuck in a infinite cycle, and you will lack the knowledge of applying these skills in real projects which others can use.

This makes most new beginners frustrated and eventually quit. Its much like the quote,

You can have all the tools in your garage for building a house but that doesn’t mean you know how to build a house

Tutorials give you the tools. But not the knowledge of how to build a house. The first step to building the house, or the project is to not write code, or use templates but rather to question yourself. Yes, that might sound odd, but it is the truth. You need take a deep breath and ask yourself what you’re building and how much of it can you visualize and ideate. Understand which parts you know, and which ones you do not. Instead of following along a tutorial now, start building by yourself. You’ll find yourself getting stuck really easily.

You’ll wonder why you’re stuck even though, you were able to follow along with a tutorial flawlessly. I feel this is because you followed along, you did not think. You never questioned why the tutorial did that or why it worked. And this is what you will do now. Go back to your tutorial code, and try to figure out why it worked. Simultaneously, think about why it didn’t work now. Put your neurons to work, and you should have something to move forward with. After all,

The human brain is an incredible pattern matching machine. — Jeff Bezos

If even after scratching your head for a long time, you’re stuck, you’ve come far. Now, its time to consult other sources(except tutorials) and learn from them, not just blind Ctrl-C and Ctrl-V. Try googling your problem, or error message1, maybe someone has an answer on some internet forum. Search the internet far and wide, you are sure to find something, not always a solution. Or maybe the documentation of the library, has a similar topic, read that too. Combine your knowledge from all these sources, and form your solution, and make sure that you understand the solution. You will soon realize that documentation is the most valuable asset when building something. Though, this is not the only way to escape “tutorial hell”. You can be like me too, try to build extremely niche things, on which you won’t find a tutorial, in essence, forcing you to do the aforementioned things.

Today, I see tutorials as the real life version of Annie Ritchie’s2 words. They only get your feet wet. You need to take the plunge and build something yourself to really learn and understand it. Another important thing is trial and error. It is an important part of coding or learning to code. They teach you two things at the same time. What mistake you are making, and the solution, of course.

When you’re inside the so called “hell” you’ll find it rather comforting, and easy. And its a known fact, that leaving your comfort zone is hard. But once you do, you’ll see the real picture, and what you were in. You’ll realize how beautiful the outside world is. I sometimes see people making tutorials on how to stop watching tutorials - I find it rather funny. And trust me, once you leave this place, you will never want to go back there. It’s ok to watch a tutorial to figure something out from time to time. Hopefully, these were enough reasons and ways to convince you to escape this cycle. Or maybe not? See you, in the next one.

Footnotes

  1. More about how to make advanced searches and finetune your results: How to “Google It” like a Senior Software Engineer by Fireship

  2. She wrote this proverb for the first time in her novel: ”[…] if you give a man a fish he is hungry again in an hour. If you teach him to catch a fish you do him a good turn.”