How You Can Become A Productive Developer By Escaping Tutorial Purgatory
Tags: productivity, beginners
Published: 2019-06-17 16:15:53

The days of the old Web are over.

Dozens of new technologies have risen. Technologies that you as a developer should know in order to increase your value.

Keeping up with learning in the technological field is a true quest you have to face.

Everything is changing every day.

For you who is a self-taught coder, it can become frustrating when you get pulled in each direction. You can easily lose control of your situation and become overwhelmed with the tons of information out there.

Tutorials prove to be one of the most reliable learning sources for you as a self-taught developer.

The tutorial-based platform Udemy has become so popular because it attracted developers all over the world by offering high-quality tutorials at a low price.

Udemy contains tons of valuable tutorials but there’s a saying around here that “too much of anything is never good”.

The same can be said about tutorials. A balance must exist between how much tutorials you watch and how much you actually put into practice. If you endlessly watch tutorials without accomplishing much as a web developer, it’s a strong indicator of tutorial purgatory.

The sooner you find the symptoms, the sooner you can treat it and get back on your feet as a productive developer.

In this article, we’ll explore the possible cause for tutorial purgatory, how you can solve it and when should you actually use tutorials.

---

# A mental short-circuit
Watching a tutorial resumes to watching a developer coding a project while you follow along.

You have to pay attention to what and how the codes while at the same time paying attention to his explanation in order to understand the logic behind the lines of codes you’ve written.

Sometimes you have to re-watch the tutorials because you didn’t have the time to both understand and follow along with the code.

Yet tutorials are a convenient way to learn.

Maybe too convenient. Tutorials are so convenient that they became a commodity. You start to watch tutorial after tutorial because why not?

My tutorial purgatory rose from a fear of being unproductive. I wanted to feel that I’m actually productive and I’m making progress.

Tutorials were just a band-aid.

I was afraid of diving into a real project because I knew I had to face the burden of making decisions and waste countless hours because of simple mistakes of which I hadn’t had knowledge of.

I gave up my responsibility as a coder to the tutorial which I could passively watch and still allowed me to feel productive.

But tutorials can never prepare for what is ahead of you in the real world.

You have to remove the band-aid and accept reality as it is. You will struggle sometimes but even senior developers struggle on their projects. Why would your situation be different?

Tutorials give you information based on a specific context and put constraints on your creativity. You know how to use the information, but not when. Knowing the context in which to use a concept is vital to understand the concept.

Most of my projects were “follow-along” projects.

The projects were perfectly functional and complete. The code was like a poem and the website ran silk-smooth. But was it an actual proof of my capabilities as a developer? Would it be actually valuable for me to use it in my resume?

In a real-world situation, the struggle is unavoidable. You can’t take shortcuts when learning to code. What growth could I expect if I didn’t struggle when I worked on my projects?

Haste might also push you into tutorial purgatory.

You want to become a coder in 3 months, get a job, maybe even a remote one and start making a living from what you love doing.

The idea of web development is such a cool job had gotten the best of me. I couldn’t wait to be done with the current language so I could move on to another.

Jumping from one tutorial, from one technology to another, will actually make you stagnant.

You should never aim to run through a language and then move to another one. Change your tactics, be a slow but efficient learner. Pick a language and stick with it until you can build something substantial out of it.

> "It does not matter how slowly you go as long as you do not stop." — Confucius

---

# Diving head-first
The scariest fact about coding on your own is that you have to take responsibility and spend countless hours figuring out bugs.

You are not passively watching someone code and take all the decisions for you.

You have to go through the thought process of a web developer and make decisions on your own. It takes more time than watching a tutorial, but the results are fruitful.

> “For the things we have to learn before we can do them, we learn by doing them.” — Aristotle

I’m a true believer in deliberate practice as being the best way to learn.

Practice alone doesn’t sustain true growth. Deliberate practice focuses on strengthening your weak points to allow you to strengthen your neural connections.

As such, the best approach to learning code is by practice through projects.

Your projects shouldn’t necessarily be something generic like a todo-app. You can strive for crazy, silly, projects. The more you enjoy what you code, the better your learning experience will be and it will also add up to your portfolio.

Coding is where creativity and logic cross paths.

You can bring to the table such amazing creations. You only have to be patient and play around until it clicks. Your gut will tell when it clicks. You’ll work on a project and everything might fall in place.

Projects allow you to dip your feet in the cold waters of reality. It won’t always be all fun and games. You’ll have to go through boring tasks which you don’t want to do but need to in order to arrive at the tasks you want to do.

But what if you don’t have any ideas for projects? Where do you get started?

What can you create with the knowledge you already possess?

---

# The balance
As a pre-requisite for getting projects ideas is knowing what a language can and can’t accomplish.

For example, with CSS you can now accomplish a lot of interactions that were only possible with JS. CSS is rich in the diversity of approaches towards web design.

But if you don’t know what a language can and can’t do, how do you even get started?

A month ago I started re-learning React and then I moved on to learning Redux and React Router.

I was clueless but I knew I needed to start somewhere. I went to Redux’s documentation page and as I went through it, I took notes. I did the same when I learned React Router.

After I had got the basics down, I built small projects. After a few small projects, I went on to bring everything I’ve learned into one big project.

I could only learn that much from tutorials alone. After I finished the project, I had learned much more than I did through tutorials. I had put my skin in the game.

Learning to code requires a balance between theory and practice.

My approach to learning to code is to gather the basics to build the foundation and then take the basics into practice before moving onto a big project which brings everything you’ve learned into one place.

You should definitely use tutorials in order to learn the foundations of a topic in which you lack knowledge but never overdo it.

Use the rule of 80/20: 80% of your time should go into projects and 20% into tutorials. You’ll gather just enough input to get started and you’ll come out at the other end with new knowledge and experience.

Through this balance, you’ll become an effective web developer who can adapt to new circumstances.

Remember that in order to escape tutorial purgatory you must fix your mindset. Your root cause for getting stuck into tutorial purgatory might be different than mine.

> “You don’t become what you want, you become what you believe.” — Opray Winfrey