5 Tips for Overcoming the Challenges of Learning JavaScript Online

Learning online, whether it's through articles, videos, and even well-made courses, is hard.

It’s a lot harder than learning in person for a few reasons:

  • You have no immediate feedback.

  • It can be a struggle when you run into a problem.

  • You need to be very self-motivated to keep up with learning.

I'm self-taught when it comes to JavaScript and web development in general, and over the years I've figured out some different strategies of overcoming the issues we can run into.

1. Schedule time for learning

By that, I literally mean putting it on your calendar.

The idea of watching the videos and doing the lessons in your own time sounds great. Turns out to be the hardest because on your own time often means later.

This is a dangerous trap as that later can often be an indefinite later that we just keep pushing back, which is why self-learning is so damn hard.

When you have classes that are on a fixed schedule, you have to commit to that time, or you miss out entirely.

Whether it's a series of tutorials you're trying to get through, one of those 6+ hour mega videos on FreeCodeCamp's YouTube, or a course that you've bought, they can easily all fall into the I'll get to that later trap.

It will take some while to commit to it, but having things on your calendar will become a pretty solid habit over time.

It really helps get through anything you find easy to put off.

One of the keys here is to be very realistic with the amount of time you're committing.

It's great to put a 3-hour learning block on your calendar every day, but for most people, that's totally unrealistic.

Look at a normal day of yours, and put down a realistic amount of time that you can put into learning, even if it's just 20 minutes a day, then it's 20 minutes a day!

If it's something that actually fits into your schedule, you have a better chance of actually doing it.

2. Don't binge

When you first start a new topic or a new course, you ride a bit of a high where everything is new, and you can go through tons of content.

The problem is, when you binge content, you're consuming it, not actively learning.

Active learning means stopping to write code and making sure that you understand what the lessons are covering by putting what you're learning into use.

If you watch a video or read an article, you might understand every word from the tutorial, but when you try it out on your own, you're stuck.

That's because there is a big difference between understanding a concept and being able to implement that concept.

I like to equate this to learning how to ride a bicycle.

You can watch someone ride a bicycle and understand how they're doing it.

You can watch them cycle repeatedly and probably figure out how they do it.

If you've never been on a bicycle, you can still understand how to do it.

However, that does not mean you can do it yourself.

This is the same in learning anything.

With code, if you understand it, it doesn't mean you can write it. It can be incredibly frustrating when you're sure you know what's going on but you can't figure out how to actually do it.

And that's why bingeing content is something you have to avoid.

3. Several smaller learning sessions can be more beneficial that a single, long session

Sometimes it can feel like you need to commit a lot of time in one sitting to get through enough material, but most of the time, taking breaks is super important when you're learning something new.

If you can commit 3 hours a week and freely place that anywhere on your calendar you can, I'd recommend six days with 30 minutes each over one 3-hour session.

You might feel like you can't cover enough material in 30 minutes, but in the end, you're committing the same amount of time, and taking breaks is such an important thing to let concepts sink in.

If you're the type of person who feels like you accomplish more with really long stretches, and with consuming a lot of content at once, I challenge you to give yourself two or three weeks on a different schedule, you might be surprised at the results!

4. Active learning

So how do you actively learn during those sessions?

Whether they are long or short, you write the code.

Follow along with the tutorial you're going through to start.

Then, even if you followed along and it all worked when you're done, try deleting all of it and seeing if you can do it again without the tutorial.

It's a grounding experience when you get two lines in and have no idea what to do next, but it highlights the difference between what you understand and what you know how to do.

From there, going back over things and figuring out how to do it, helps reinforce things and lets you take that next step forward.

And if you don't like the idea of repeating the same exercise over again, try making something else with the things you've learned.

Find a problem that would have you use whatever it is you learning in a slightly different context.

5. Writing notes

I'm not talking about taking notes while you're learning.

I'm talking about spending 5-10 minutes at the end of each learning session to write down a quick bullet list of what you learned.

Add just enough detail so that it's meaningful notes.

For example, don't write down: "Today I learned about forEach loops in JavaScript."

That's a waste of your time.

Instead, take those 5 minutes to actually write and explain how it works in your own words.

Break it down, and try your best to explain it.

A few things will happen when you do this:

  • You will reinforce what you've learned

  • You will make connections and have "aha!" moments

  • You will find the holes in your understanding of a topic

These are my top recommendations for making the most out of your self-learning.

And some of these tips might not work great for you either, but if you do struggle with self-learning, give them a try, because if it's a struggle now you need to try changing some things up!

At the end of the day, you do need to be committed to it and put in the hard work to pull it off, but I know you have it in you.

Badge

100%
FREE

10 Tips to Stay Motivated While Learning JavaScript

  • You've decided to learn JavaScript.
  • You quickly sign up for the Odin Project or register at FreeCodeCamp.
  • You sit down and start going through the material.
  • Over the next few weeks, you fall into a pattern of studying.
  • You start getting confused by some of the concepts, and there isn't anyone to ask for help.
  • After a few months, you realize you aren't anywhere near landing a new job.
  • You decide to take a break because you're feeling burned out and exhausted.
  • That break stretches on indefinitely.

Sounds familiar?

When you're learning to code by yourself, you have to generate your own motivation.

These 10 tips will change your life.