5 min read
Overcoming the “Tutorial Purgatory”

What’s the Tutorial Purgatory?

I first heard of it on a youtube video by Andy Sterkowitz

Video Title

He basically talks about how people want to take all kind of courses learn all kind of techs before actually trying to build something or look for a job. I could totally relate to this, as a self taught developer you just don’t know when you are actually ready.

When I was getting started I used to finish an Udemy course and then try to build something myself, I just couldn’t. I didn’t remember how I could do stuff. When I actually built something was when I figured out about freeCodeCamp.

I love freeCodeCamp because it introduces you to some technology then you must build projects with the things you were introduced to. Completely the opposite of tutorials which are about just following someone coding aka “coding along”.

“The complete 2023 masterclass incl

That’s the title of every Udemy course. It’s a great marketing strategy, for $10 you can learn everything you need to land your dream job. The sad part is that this isn’t actually accurate. Programming specially web programming is too broad to be covered in a 20+ hours course.

Watching Tutorials is not a Bad Thing

I built my programming foundations by watching online tutorials, on Udemy, Edx, Youtube, Lynda etc. They are an awesome way to get started with programming. But if you, just like me has bought 20+ courses on Udemy because you don’t think you know enough, this might be an issue. Tutorials are great, but you cannot always rely on them.

Getting back to the topic of not knowing when you’re ready, I totally cannot answer that, it depends on many factors. I never had a time that I absolutely thought I was ready to start creating my own apps without watching any tutorial. It was always quite the opposite.

My tip is just give it a try. Build up your foundations, try to build something yourself. If you can’t get something interesting in one week, maybe that’s a sign you’re not ready yet.

How I Overcame it

While working on one of my first projects as a web developer for a client, I had to learn some new frameworks. It was no problem for me just going through the docs and figuring out how things work, I learned it well with freeCodeCamp and CS50 (A Harvard introduction course to programming, available on Edx).

I had to learn how to use Loopback, Uber Vis, MaterialUI and many more libraries related to web development. But after some time I was always going back to tutorials, even though I wasn’t learning anything new, it felt good just to keep watching them as if I could get some incredible insight that would change it all.

I never had such insight, I was just wasting money and my time.

If you read my article about freeCodeCamp you know that after I got my front-end certificate on freeCodeCamp, I had the feeling I could do anything. Mostly because I did everything by myself, just by searching, googling, researching. But A couple of months later I was still seeing myself buying Udemy courses.

A Self Made Challenge Changed Everything

After watching Andy’s video I decided that I wasn’t going to be stuck on the ‘Tutorial Purgatory’ any longer.

I challenged myself to learn a technology that I had never worked with, (and that I didn’t even knew what it was about): Firebase. Just a basic chatting app. Sounded like a fun thing to build myself.

Learning by Doing is the Best Way to Learn

I don’t mean coding along. I mean going through the docs and figuring out how things work. I knew firebase was good for instant messaging apps so I just started playing around with it. I saved myself a whole amount of time, because instead of watching a tutorial (and probably building a todo app) I was actually doing what I wanted to do with the technology I intended to learn.

By the way it reminds me of a tip by mpj: learn things on purpose. Learn something because you will use it somehow, not because it’s trendy. That’s exactly what I was doing while building the app. I was building the app with firebase, not learning firebase for no reason.