How to use tutorials effectively to learn how to code
Tags: beginners, webdev, codenewbie, productivity
Published: 2020-11-30 09:01:59

Tutorials are no doubt an incredible way to learn how to code. With the growth of popular websites such as YouTube, tutorials have become almost accessible to anyone.

This also means that most tutorials are free. They're also usually taught by industry professionals. On top of this, Tutorials tend to be shorter than courses and in most cases they get straight to the point. 

But tutorials can be a double edged sword. So these advantages can very quickly become disadvantages. In fact if you've ever heard of the term "tutorial hell" then you know that tutorial is part of the name.

Without a proper strategy  tutorials can lead one to a never ending path of watching tutorials.

> The Essence of strategy is choosing what not to do

So in this article am going to discuss some practical ways that can help you learn how to code using tutorials.

## Learn The Fundamentals

> “As to methods there may be a million and then some, but principles are few. The man who grasps principles can successfully select his own methods. The man who tries methods, ignoring principles, is sure to have trouble” — Harrington Emerson

One of the most common things that can lead one to the path of tutorial hell is having knowledge gaps. Most tutorials do not cover fundamental concepts. They simply cover certain specific aspects such as "How to build an x project with an x framework". 

So embarking on a tutorial like that can introduce you to fundamental concepts that you were not aware of. Naturally you'd watch other tutorials to understand these concepts. And the cycle goes on and on.

Before watching a tutorial be sure that you know the fundamental concepts of the subject at hand. 

Besides tutorials, fundamentals are important to any developer. Frameworks come and go but the fundamentals remain. I'd recommend taking a course that teaches the fundamentals of programming in general. 

One such course is the famous [CS50](https://www.edx.org/course/cs50s-introduction-to-computer-science) offered by Harvard University. This course is amazing and I can't recommend it enough. I'm sure of this because I took the course myself. It's free and coming from Harvard you know the quality is top notch.

## Take Notes
![Meme](https://lh3.googleusercontent.com/proxy/vz5UEf1qOUmkhF6W1OqYL6QRGgsAXbLF4V0LAERoaqbBlQU2eXTEvoTtZn4e-T2TAXLvkKIdoMQFYX5Dad79qmG7xyABXD-qNmNdSvA_QjyBWYpyDVZZzejDCyIaqEer7OntZ7RfbPhCAfSaUNOZ0KaTh2m-2TgsR68)

Another very effective yet underrated way to learn from tutorials is to take notes. Being in the digital age, it's not uncommon for people to take digital notes using iPads and laptops.

 Where as I myself do this from time to time I still vouch for the good old hand written notes. I strongly believe that you're most likely to remember what you wrote in a hand taken note written in a physical notebook than in an digital one.

Don't afraid to pause the tutorial and write something that you feel is worth remembering. The beauty of writing notes is that it allows you to express yourself in the way you understood what you've learnt. So what you're writing is what you understood not what the instructor said.

Taking notes is especially important because of our forgetful nature. The moment your brain takes in information. That information is discarded as soon as possible unless you practically apply it.

Which brings me to the next point.

## Build. Build. Build.

You'll agree with me that the only thing that makes a tutorial worth your time is how practical it is. 

The idea of building a project during the tutorial is what drives you to watch it.

Looking at it from another perspective, that is the general goal of a tutorial. It's meant to show you how to apply a certain skill. So unless you build. You will never benefit from tutorials.

If you struggle with getting ideas for what to build then look up some articles on project ideas. 

You can also decide to add more features to the already existing application built in the tutorial.

The key to learning with this method though is to make sure you implement these features by yourself. That's the only way to apply what you've learnt.

Be sure to use google to the fullest when you get stuck. Lots of questions have already been answered including the one you might have. The chances of you having a completely new question are probably 1 of 100.

However, it's worth noting that these days many tutorials urge you to code a long. It's believed that this is supposed to help you with retention. 

I personally have mixed feelings about this.
In my opinion I don't see how doing the same exact thing that another person is doing step by step word for word is supposed to help you learn a new skill. But that's just me. Choose to do what works for you.

If you learn better by coding along then code along. If not I'd suggest watching the entire lecture and trying to re-implement what the instructor did on your own. This is most likely to test the degree to which you understood what was being taught.

## Spaced Repetition

Spaced repetition is a learning method where the learner continues to revise what they learnt over a spaced amount of time.

So if you learn something new today then you would come back to revise it say after 3 days and then repeat that over and over again.

This learning method is very effective especially when you're learning theoretical over practical things. 

Like I mentioned earlier, your brain discards unused information. So revising that information after a certain period is a good trick to get the knowledge to sink in.

Since you're most unlikely to apply everything learnt from a tutorial at once, this method can help and I've found it to be effective myself.

Speaking of learning methods, another great one is the Pomodoro technique. Now this more of a time management technique. The technique uses a timer to break down work into intervals, traditionally 25 minutes in length, separated by short breaks. 

One of the reasons you're most likely to forget or even get bored during a tutorial is if you keep taking in information for very long periods of time.

I have also found this method to be very effective and I tend to cover more material when using this technique. Try it out and see if it would work for you.

## Share What You Learn

This is standard and you've probably heard that the best way to learn is to teach. This is absolutely true and I can't recommend it enough.

The moment you learn something, it's true that there is a ton of people out there who don't know what you just learnt or those that know of it but don't fully understand it.

But this step involves more than just sharing what you feel you understood. A certain amount of effort is required. There's a saddening amount of mediocre articles out there that tend to lead to more confusion than clarity.

Blogging requires research in order for you to make sure that what you understand harmonizes with what should actually be understood. 

Other than that blogging is a tremendous way to learn. And you don't need to build your own blogging site from scratch. There are lots options out there. You can use platforms like Medium, Dev, and recently an interesting one came up called Hashnode. Now I'm also new to Hashnode myself but I've heard only good things about it. So shoot your shot. There's no harm.

## Beware of Tutorial Hell

Now this is the biggest challenge that one could face from trying to learn from a tutorial. That of finding oneself in a never ending loop of watching tutorials endlessly.

I already covered part of why one might end up in tutorial hell. That of poor knowledge of the fundamentals. 

However, the thing is that even those with a good grasp of the fundamentals can end up in tutorial hell. So what is the problem?

The thing is that most people who end up watching tutorial after tutorial simply doubt that they have enough knowledge to build a project on their own.

And so tutorial hell is simply like a quest for adequate knowledge.

Couple this with the fear of failure of starting an own project and you'll see people find comfort in tutorial hell. 

The simple way out of tutorial hell is simply building a project on your own. That's all really.
There's no magic pill and no you're not under a curse. All you got to do is build one project on your own, then another and soon enough you'll find that you can't even sit through a tutorial. And that's a good problem.

Leaving tutorial hell can be as easy as child deciding to get up and walk instead of being carried around all day. But it can also be as hard as a child deciding to leave the comfort of being carried around all day and starting walking alone.

So ultimately how you view tutorial hell and the amount of effort required for you to leave it is ultimately upon you.

A practical step could be starting small. Whether you fear to fail or think you don't know enough - start small. Build small projects and then project from there.

Another thing is to try to figure out how you learn best. You see tutorials aren't the only way to learn. If all attempts fail then trying switching up your learning methods. 

You could try reading articles instead or taking a course or even reading books. The possibilities are endless. 

Whichever way works for you, find that and stick to it.

I hope you found this article helpful. If you did feel free to share it with a friend. If you would like to say hi to me then feel free to do so via my [Twitter](https://twitter.com/joelpmugalu) or [LinkedIn](https://linkedin.com/in/joelpm) accounts. I also have a [GitHub](https://github.com/mojpm)😉