Categories
Personal

How to identify and beat the dreaded Tutorial Hell

For a long time, I had been trapped in an odd lifestyle known in developer circles as the Tutorial hell. I didn’t know what it was until I read about it on Twitter much later. There is a lot of ways to define it, but based on my experience I would define it as something like this

It’s a period of time in a developer’s life when the consumption of tutorials/courses is high while productivity is at a minimum.

I had my moment of reckoning when I realized how much I spent on these online courses but never finishing any of them.

Going through tons of courses gave me a false illusion of progress because, with every roadblock I hit, I kept referring back to these courses rather than thinking about the ways to solve the problem.

Tutorial hell exists especially for junior developers but it can affect experienced developers as well.

How to identify tutorial hell

Speaking from experience, you know you’re in hell if any of the following is true

  1. You buy more than one course every month
  2. You buy multiple courses for a single tech
  3. You plan to complete a course within a time frame but cannot keep up due to reasons
  4. You watch more watch/read more tutorials than write code on your own
  5. You copy/paste code from these courses but rarely make the effort the understand the code
  6. You keep forgetting what you learned and keep referring back to the courses
  7. You rarely read any documentation

Of course, this depends from developer to developer. Its not necessary that all conditions have to be met in order to realize you’re in tutorial hell.

Here is a simple heuristic.

If your productivity is lower than your course consumption, you need to introspect.

Overcoming tutorial hell

I escaped tutorial hell by complete accident. A long time ago, an old client of mine asked me to build an app with Node and Mongo and I agreed without hesitation.

The problem was, I never built any application using Node & MongoDB; My background was in PHP. I had just begun learning Node, MongoDB & React, but never got anywhere. I purchased tons of courses on these techs but never finished any of them. I kept buying as an addict. In other words, I was in my own tutorial hell.

But something dawned on me that day.

I finally had skin in the game. I agreed to my client’s request and I could not take it back. I promised to give the best work possible. I staked my reputation.

Now, learning something had a purpose because the end result was visible to me. That’s was my first step out of this never-ending tutorial hell.

Sure enough, with my tail closer to fire, I slowly became more productive. I, of course, went through my courses, but I had to write my code this time. I hit a lot of roadblocks but that didn’t deter me because my reputation is at stake.

Ultimately I delivered! It wasn’t the best, but it wasn’t buggy or unusable either. The progress was real this time because the product was being used by over 3000 users. My learning paid off rather than keeping me in a loop.

It was definitely a lesson.

Sometimes overpromising isn’t a bad thing, if you’re will to put your skin in the game. The key to getting out of tutorial hell and making learning really count is establishing Accountability.

You could take up hobby projects, but you still don’t have skin in the game. If you’re as lazy like me, you will definitely falter. Maybe a better approach to tell your friends or family about your hobby project and give them a timeline. Your friends might inquire about your progress giving you a sense of accountability.

Accountability is that magical rope that you can grab on to when you inside tutorial hell. Use it to pull yourself out.

This is not to say that learning courses are wrong. This is absolutely incorrect. The goal is to make learning count. Take what knowledge you acquired and implement it in real life. Keep making mistakes.

It bears repeating; time and mistakes are the best teachers anyone can have.

Leave a Reply

Your email address will not be published. Required fields are marked *