Advice for a newbie

Hello everyone!

I have no coding experience and I’m currently learning JS for beginners on Codecademy and I’m REALLY struggling with it. I’ve read in many places that this is normal for beginners and to ‘just stick with it’ etc, but I’m wondering how many times to go over a topic before moving on?

For example, I am currently studying the Loops lesson in JS for beginners. I’ve been over it twice and despite managing to pass the tasks (mostly through trial and error), I still have no real idea what I’m doing.

To gain a different perspective, I have also done the loops lesson on the Mate Academy website. Again, I went over it twice and managed to get through the tasks by trial and error and copying code from similar examples etc, but I still have no real understanding of what I am doing. It’s great when I manage to finish a task, but as soon as I’m confronted with the next task I’m completely stumped.

When studying the lessons on Codecademy and on Mate Academy, they feel so advanced to me. It feels like lots of information has been left out and that I am somehow supposed to fill in the blanks myself, but I have no idea how.

My question is; should I keep studying loops over and over until the ‘penny drops’ and I just ‘get it’, or should I keep on moving through the lesson? It seems pointless moving on to a new lesson if I haven’t fully understood what has come before, but maybe that’s not the correct approach?

I would be very grateful for any advice on this. Many thanks.


Hi There,

I empathize with your plight. Codecademy is excellent for introducing you to new concepts; however, it is up to you to reinforce this learning through practical application.

Coding is like any skill such as dancing or martial arts in that it requires time, and enegry to master. Ask yourself, how did you how to learn how to read, write, walk and talk? It was with “time & energy.” Additionally, think about how many hours top tier athletes like Serena Williams, or LeBron James put into training for their craft? They trained more than just “Twice” before moving on!

Also important, keep in mind the difference between Active and Passive learning. Passive learning is activity such as reading, & watching videos; Active learning in contrast is applying what you learned through project building or code challenges. Research has shown that active learning is more effective than passive learning. Find the right balance for you.

My question is; should I keep studying loops over and over until the ‘penny drops’ and I just ‘get it’, or should I keep on moving through the lesson?

I believe repetition is key! How many times did you have to write the alphabet to learn it by heart? Just spend 15 minutes doing drills coding for-loop until you develop muscle memory for it. Give yourself plenty of breaks between study sessions. Don’t burn yourself out - have fun!!

Here are some websites that have JavaScript code challenges. Since you are a beginner I would Edabits. The code challenges are very easy, and will reinforce what you already know. Also get on Exercism, it’s a code challenge site that has a free mentorship program.

In closing I will encourage you to stick with coding. Code for 2-3 hour a day for 6 months. Don’t burn yourself out and have fun but take your training seriously! Trust me, at the end if that 6 months you will be SHOCKED at how much your skill level progressed!

Best regards,


Hello and thank you for your reply, it was very helpful.

One thing you mentioned was about having fun. I read in so many places that ‘coding is fun’, but so far it hasn’t been much fun for me at all. In fact, it’s been about 97% frustration figuring out a task, about 3% joy when I manage to complete a task, then back to pure frustration for the next task. I’m hoping that the scales tips the other way as you get better?

I agree that learning something like this will take time and effort. I’m not afraid of that at all, but the frustration comes from the feeling of not achieving anything when it comes to the tasks. There seems to be such a leap from one task to the next. Creating a simple loop is ok, but it seems like such a leap to get from a basic loop to do while loops etc.

I already spend at least 3 hours a day coding, but most of that time is staring at a completed task and trying to understand what the heck is going on with the code, hence the frustration!

Anyway, I will try your suggestions for the code challenges and exercises and try to master each topic before moving on to the next. Hopefully that will help. I’m not throwing the towel in yet! :slight_smile:

That is excellent to hear you are already spending 3 hours a day coding! You have to break up your time more efficiently.
I would like to recommend JavaScript Tutorial for Beginners - by Mosh Hamedani.

These videos are 5-10 minutes in length . Spend 30 minutes watching these videos and taking notes (passive learning). Then try to CODE what you just watch by memory or by your notes (active learning). Then spend 30 minutes trying to solve code challenges (active learning), then spend the remainder of your time going over completed task and trying to understand what the heck is going on with the code (passive learning).

Another good YouTube video is Learn JavaScript - by This is a 3+ hour video, so break it up in 30 minutes study sessions! Remember, Watch videos, take notes, and code!

Consider starting an account at, and write articles about what you learned! Seriously, the best way to learn is to teach someone else what you know! In your own word, explain to someone else what a for-loop is in JavaScript, "why would you use it", “when would you not?” (active learning).

Also, do you have a GitHub account? If not consider getting one, and start storing your work there. If you get in the habit if saving your work, over time you can look back and see your progress!

Before you know it, you’ll be on here helping out junior JavaScript developers with their coding issues!


Hello and sorry for the delay in replying.

Thank you so much for these suggestions and links to resources. I have taken it all onboard and I’m already trying out the approaches you suggested.

Many thanks again.