There are a lot of theories about the best way to learn to code JavaScript. To be honest, there is no one best way to learn anything. My approach to learning code is simple.

My mother was a public school teacher for decades. She taught me that each person is different. We all learn at different rates. Some approaches work better than others.

My approach doesn’t claim to be the objectively best approach. It’s not the only approach. It’s the simplest.

The Simple Learning System

  1. Pick something you are excited to build.

  2. Each day write at least 1 new line of code for what you are building.

  3. When you finish building your project, pick a new thing to build.

  4. Repeat this process every day forever.

This is the basis for my entire career as a software developer. It seems too simple right? Did I miss something?

Nope. Slow down buckwheat, in a moment I’ll explain why you think there are missing parts. You can go faster by going slower.

Patience.

Day One

Now, in your mind think about what will happen when you take this approach. Picture yourself at the computer, with an exciting project you want to build. It can be anything.

Got it? Now crystalize that picture even further. Make it real.

Where are you located? In a dorm room? On your couch? At a desk in your home office?

What do you smell? What do you hear? Are you listening to music? What is the song?

Once you have a clear picture of what that is, imagine yourself opening up the text editor to get started.

You might not know where to start, so you go to google and you figure out how to add javascript to a HTML page.

Cool, so you read the tutorial on that, you add the HTML and JavaScript to your project. You type it in, save the files, and open up the web page and boom!

You have some simple JavaScript on a web page. PROGRESS!!!

That didn’t take long, but you have some other stuff to do so you save your work and go do other things.

Day Two

The next day you come back and you say to yourself, “I want the UI to have buttons over here and text over there and maybe a menu up at the top.” You pause for a moment, “How do I do any of that?”

Back to your trusty search engine to go and figure it out!

So maybe you search “How do I add buttons to a web page?” or something along those lines. A few tutorials later you have found some cool new code and added buttons to your web page. When you click them an alert box pops up that says “YOU PRESSED THE BUTTON!” and that was caused by your JavaScript code!

That is super cool. Way cooler than anything you’ve built up to this point. But you probably want the button to do something else, so you comment out the code that makes the button shout at the user.

And as it always happens you look up and realize you’ve been at your computer for hours working on the UI to your project and have to go make dinner. So you save your work and decide to come back tomorrow.

Day Three

And on and on this goes for weeks and months until you have a very crude version of what you set out to build in the first place. It’s not as polished as what you imagined it would be, but it’s yours and it’s amazing.

You now have a superpower. You can write code in JavaScript and HTML!

Are you great yet? No, but you keep coming back every day to work on your project. Over weeks and months and years you go from crude code that barely works to something polished and professional.

Alright, back to now.

Did You See It?

Did you see and feel how this approach was applied?

  1. Pick something you are excited to build.

  2. Each day write at least 1 new line of code for what you are building.

  3. When you finish building your project, pick a new thing to build.

  4. Repeat this process every day forever.

The simplicity of this approach is that the motivation to learn and study is built in. It’s not academic, it’s practical. You will be forced to learn not because it is required by a class, but because it is required by something you want.

Your want provides the will. The rest falls in place afterward.

Every software developer I’ve ever met that was top tier follows a system that looks like this. It looks less formal, but the results seem far superior to more formal approaches.

Pairs Well With Books and Tutorials

The best part? It can fit easily with any formal approach you want to use. Instead of building a project, you could decide you really want to work through a formal book or tutorial series.

The book or tutorial series IS THE PROJECT! So, apply the same system.

  1. Pick a book or tutorial you are excited to do.

  2. Each day write at least 1 new line of code for what you are learning.

  3. When you finish the tutorial, pick a new book or tutorial to work through.

  4. Repeat this process every day forever.

It’s the same system, just tweaked.

Word Of Warning

Before I end this article, I have to make a giant word of caution. You can’t skip step two!

Writing code every day is how you get better at writing code. You learn to code in JavaScript by writing code in JavaScript.

All skills must be practiced. Thus, you learn to code by writing code. Daily practice over time is the fastest way to learn to code.

So if you find yourself reading tutorials and not writing code, stop reading the tutorials and start writing some code!

And at this point, I’m beginning to wonder if I’ve gone on too long, so I’ll simply close by repeating the system one more time.

The Simple Learning System (Redux)

If you want to learn to code in JavaScript (or any other language) do this:

  1. Pick something you are excited to build.

  2. Each day write at least 1 new line of code for what you are building.

  3. When you finish building your project, pick a new thing to build.

  4. Repeat this process every day forever.

Now, go write some code!