Escaping tutorial hell

Angelos Chalaris · Career, Webdev, Programming, Jobs · May 26, 2022

Tutorial hell refers to the stage in your learning journey, where you are following along with tutorials, not truly learning that much. Tutorials are by nature a curated experience. While that's not definitively bad, it's not always the best way to explore the landscape and familiarize with concepts and tools. Neither is it the best way to learn how to think for yourself. So how can you escape it?

Debug

The most common exit ramp comes up when you end up in debugging mode. Oftentimes a tutorial can be outdated or something in the setup can be just a tiny bit different. At this point, you have to figure out how to solve the issue to proceed.

Entering debugging mode, you realize that you know only a part of the big picture. What you don't know might not be immediately obvious, but with perseverance you will be able to figure it out. At that point, you can start looking for answers to solve the issue.

Debugging a problem offers a little bit of exposure to the underlying technologies and concepts. This way you can dip your toe into whatever it is you are working with, without getting overwhelmed.

Be curious

Curiosity killed the cat, but not you. Stop every step of the way to ask what it is you are learning. Do you understand the concepts? Do you know what it is you are building? Is this tool your only option? What problem does it solve? Are there others?

Questions are a valuable tool to help you explore the landscape. You don't necessarily need to answer them all, nor do you need to read tons of documentation or articles about a topic. Simply taking a peek at the big picture and asking questions is enough. You can always come back later and dive deeper.

Experiment

The third and best way to escape tutorial hell is to experiment. After you finish a couple of tutorials, put your skills to the test. Try to build something from scratch, looking up anything you need to, as you go. It won't be as easy or as fast as the tutorial was, but you'll learn a lot more.

After you build a project, take another look. Figure out what you could have done differently or what parts of it you don't understand well enough. Refine it, polish up parts of it, add new features. The more time you put into it, the better you will become.

Then do it a few more times and experiment with a few more ideas. As soon as you start working on your own projects and get into a rhythm, it's a lot easier to learn new things. Some slopes will be steeper and others will be more gentle. But you will feel much more confident in your skills than blindly following tutorials.

Learn your own way

As a closing suggestion, I want to urge you to find your own learning style. Tutorials might be right for some and I don't suggest you dismiss them entirely. After all, we all have to start somewhere. But if they don't work for you, mix it up a bit. Try reading the documentation, solving coding exercises or tinkering with an existing project. Everyone is different and there's no one size fits all when it comes to learning.

For some, much like myself, teaching is the best learning experience. After all, if you can't explain something simply, you probably don't understand it well enough. Explaining, then, can lead you to researching, debugging, experimenting and being curious all at once. And teaching, much like learning, can be done in many many different ways.

Recommended snippets

  • Writing about a topic can often sound boring or worthless. But there are significant benefits to doing it from time to time.

  • DNS records may not be a thing you work too often with. Regardless, some basic knowledge can go a long way.

  • Maximize your productivity when working with a bash or other shell terminal by using these keyboard shortcuts.