Find me on Medium
Learning JavaScript isn't fun for everybody, especially for people who are impatient. Sometimes there comes a point where people start to question if this is even the right career path for them.
But JavaScript was never meant to be a walk in the park.
The good news is that your learning process can be improved by making better decisions and approaches to learning. The bad news? Well, it won't happen on its own. The only person who can change all this is you.
This article will go over 7 mistakes developers tend to make that are keeping them behind while learning to become better in JavaScript.
1. Rushing Through Concepts
Once you begin to understand concepts like closures or higher order functions, it's almost never a good idea to skip to the next lesson without some hands-on experience first.
But it may be super tempting to move on to the next subject, I know. It happens to everyone. But believe me, if you spend some time hands-on coding in between, even for just five minutes, it will help you to have an easier time building projects in the future. Often the feel of coding a concept is what will stick to your mind and help you to remember things in the long run.
If you do end up rushing through concepts you'll end up forgetting and searching through old materials in attempts to refresh your memory. When this happens, it can be awfully discouraging as you're losing valuable time when you already "learned" this before. Then those negative thoughts start to pile up in your head.
And that's important, because people often say they quit their programming career due to insufficient time.
When you feel like a concept is a piece of cake to you, you should be ready to move further!
2. Not Owning Your Code
A common thing I still see today are people becoming too dependent on other people's work--whether this is copying another person's file from a tutorial or using the lodash library to do everything. While there's nothing wrong with using lodash for a lot of your tasks, you can also be setting yourself back in the long run if you haven't applied many of those concepts yourselves yet. The concepts is what will stick to other tools/frameworks/languages because they're ways to think in programming.
This is the reason why a lot of interviews still give coding challenges. They want to see how you think or how you apply concepts to common problems in development. You can be using component libraries alone to make the best looking user interface while making lodash handle applying the algorithms for you, but when problems arise they need you to be ready to apply concepts and solve them. They don't look forward to *npm install*ing another library to solve their problems. They need you.
You don't want to end up in situations where you're having hard times applying concepts you've already learned. So it's a generally a good idea to take a bit of your time to practice them on your own. Own your code!
3. Overthinking Everything
With all of information you can find online, it can be very tempting to sit down and gather all of the resources you need before learning the next topic in JavaScript.
But I don't think I've seen anyone say that it was the way to learn and become better. Yet we seem to have the urge doing that because we desire having all the information in front of us so we feel set for the rest of the year.
It's all in your head.
Don't get too caught up in the act of gathering 80 tutorials, 6 ebooks, a collection of over 50 bookmarks of resources, and attempting to start tackling them down together for as long as you feel like the king of web development.
If you're learning JavaScript, get your hands dirty with hands-on learning. Just starting writing things. Use whatever you learned the past hour and put together a small example for yourself. These activities are what will end up sticking to your head longer instead of having to read through a marathon of all this learning material you gathered.
4. Overwhelming Yourself With Too Much Information
When you're spending lots of your time taking in information instead of coding in between, you're actually setting yourself up to forget and come back to the material later.
A scary place to set yourself in is spending all this time learning because you feel like your learning. But what happens a couple of months later when you end up forgetting? You'll find that for some reason you're unable to apply the concepts and material you've learned months ago.
If you need advice, spend at least fifteen minutes coding for every one hour of consuming information.
5. Comparing Yourself To More Advanced Developers
When you compare yourself to others you're actually not thinking about how they got there--instead of you're just thinking about where they're at now.
When people look at successful programmers like Dan Abramov they would automatically assume their learning process began with writing clean code from the start.
Just keep focusing on what you're learning in the present and you'll continue to get better as you go. Soon you'll end up being in a position where people start wondering about how you got there.
6. Learning The Tools and Frameworks Built On Top of JavaScript
So you're supposed to be learning JavaScript but you're learning React/jQuery/Angular/Vue right away instead. What happens when a new revolutionary tool comes out and you make the switch? You're going to end up relying on someone else to figure out the neat tricks and hope someone shares them because they learned JavaScript and you didn't!
If you haven't sacrificed a good amount of your energy into learning vanilla JavaScript, I highly recommend to really learn the language--because if you learn the language, then you should understand the tools that were built on top of it, why they were being built and what problems they solve. By learning the why in JavaScript it will help you avoid making bad code design decisions as well.
One of the most regretful mistakes I made in all of the history in my career is learning jQuery before I started learning JavaScript at the time. When React came along, I hopped on the bandwagon and began learning React. However, this became a very awkward learning process after I realized I didn't know why I had to use react or why people needed it. It suddenly just became a game of memorizing react code just to get by. In JavaScript tools or frameworks, a lot of the important bits are hidden away that you need to see but aren't.
7. Not Splitting Concepts To Smaller Pieces
Learning JavaScript is like learning math while growing up. Once you learned the basics of addition, multiplication, division, substraction, you can move on to comparing numbers using > (greater than) and < (less than), long division, basic algebra, etc. When you find yourself having difficulty trying to understand something, it's often because you jumped far ahead instead of taking small steps. Of course going straight to algebra will feel impossible without going through the basics first :)
By taking small steps and encountering a concept that isn't making sense to you, it will be a lot easier for you to get assistance because you'll already have the topic narrowed down.
Follow me on Medium if you have one!
Top comments (16)
I am mostly working in another language (OpenEdge 4GL) but what I try to do is to build small examples that do what I want to be done. I am building a proof of concept. That helps in understanding the problem. What you build does not need to be rock solid, it can totally rely on a happy flow of things, but it helps you in understanding what is going on.
And to keep learning I often build things that should not be built with a 4GL, like games. It is hard to build a game in a language that is not suitable for that. I already built minesweeper, breakout and sokoban. It is fun to do.
Thanks for this article, looks like an excellent list. I am guilty of at least #1 and #4 ...
No problem, anytime!
Well Then, I think I'm completely at the wrong side of learning javascript and I really felt that before but till now I can't find the right way to learn javascript, I would be so glad if you suggest me a free course(Cause I'm living in Syria and there is no payment method I can charge with for paid courses) or a place I can build my javascript knowledge in a good way.
Hi Amr, please see my comment to Aye Aye Mon below as I have just posted the answer :)
Thank you friend, I will take a look
Great article! Thank you very much!
ada orang indo disini haha :D
Can you recommend some resources to learn JavaScript?
Hi Aye!
Sure! The best hands-on coding training from my experience is the free online course (actively developed by the community) at freecodecamp.org
A great ebook that helped me a lot was Eloquent JavaScript by Marjin Haverbeke
Hi jsmanifest!
Thanks a lot for your reply. I'm reading that book.
Thanks brother for advice!
Wow this is a great read! I feel like I go through all these things myself! It make me believe that I'm not the only one that goes through these stages alone, which is a little comforting.
This is a great article. I always compare myself to senior devs. Thanks for letting me know that I have to consider the hard work which brought them to seniority. I need to work harder. Thank you!
Yes, I skipped some fundamentals of JavaScript and went into the React frameworks. After spending an year in framework, it doesn't gave me confidence in JavaScript.