Skip to main content Accessibility Feedback

How to go from total beginner to JavaScript expert in about 3 years

Reader Sam Overton and I shared a few emails this week about learning JavaScript when you’re a complete beginner.

I shared with him some of my experiences going from only knowing HTML and CSS to being one of the better JavaScript developers on my team in about 3 years.

Sam agreed to let me share his questions and my responses below.

I am a junior web dev now but it seems that I can’t flex my JavaScript muscles because I am still learning and would probably slow down a major project. I just want to be comfortable with the language that I can create whatever I want.

How do you suggest I get there? I set aside at least 4 hour a day after work for learning. I am working on small projects that require me to use vanilla JS but is that enough? Or do I need something extra to help my learning plan.

I can’t speak to your personal learning style or anything, but… I’ve found that for me personally the best way to learn is by writing code.

Lots and lots of code. Messing it up a whole bunch, Googling and asking people questions until I get unstuck, and then doing it all over again.

At the time, jQuery still had a much bigger foot in the market, and I decided to learn that initially.

I gave myself a project challenge, at first something small. For example, “Build a little script that will show hidden content when you click a button, and then hide that content if you click it again.”

I’d write down on paper the steps I thought I’d need to do it, and then start writing, Google “how to do X” each step of the way. From there, it was, “Ok, what if I have multiple pieces of content, and only one can be open at a time (ie. an accordion)?”

I did that for a while until I felt pretty comfortable with jQuery-based DOM work (as in, modifying stuff in the UI). THEN, I challenged myself to convert those scripts over from jQuery to vanilla JS. A bunch more Googling, failing, fixing, and learning.

At each step, I was reaching out to folks I knew and getting feedback, asking for help on areas I just couldn’t figure out on my own, and so on.

You can absolutely teach yourself this 100% on your own.

If you want a little bit more help, my pocket guides are focused on some specific topics and activities. Each one dives into helpful methods and approaches, and then has you build a working script to put all the stuff you learned into practice.

It also gets you access to my private vanilla JS Slack channel where you can ask questions in real time with me and some other students.