DEV Community

Cover image for 7 Pieces of Bad Advice for JavaScript Beginners
Carl Anderson
Carl Anderson

Posted on • Originally published at carlanderson.xyz on

7 Pieces of Bad Advice for JavaScript Beginners

Let's face it - not all advice is helpful, even if it is well-meaning.

As a beginner, you're especially vulnerable. It's hard for you to tell the difference between the advice which will save you months, or cost you years.

You could avoid taking any advice, but the reality of a self-taught developer is you rely on online advice when you get stuck. How do you tell which advice to follow? How do you progress?

I've seen all sorts of bad advice - the worst of which make repeat appearances. I've compiled a list of some common bad advice, why you shouldn't follow it, and what you should do instead.

#1: You should switch to this course/book/resource

I see this crop up when someone has already completed a course but struggles to write code by themselves. They still need the aid of a tutorial or guide handing them the answers.

This piece of advice hurts because it suggests that there is a "perfect" course out there. One that will solve all your problems, all you have to do is find it.

This is a core contributor to "tutorial hell". Beginners get caught in a cycle of following new tutorials and never addressing the underlying problem. They never learn how to move past the tutorials. Instead, they start over again, hoping this time, it'll be different.

7 Pieces of Bad Advice for JavaScript Beginners

Beginner resources don't differ by enough to make it worth starting over.

You didn't screw up early on. You don't need to start over with a clean slate. You need to spend some more time with the material you've already learned.

I've elaborated on this more in this article. There are two parts to software development: syntax, and learning how to build software.

Instead of throwing in the towel and re-rolling, start building tiny projects. What do you already know? Try to think up some small project ideas that you can create with the knowledge you already have.

#2: You should use this framework/library instead

This isn't "every time you see this, walk the other way" advice. I'm specifically talking about cases where an answer without any real thought.

Hey, How do I change the colour of a div using a button?

It's way easier if you use React

There's nothing wrong with suggesting frameworks and libraries. The issue comes when the framework is suggested blindly.

React doesn't help you change the colour of a div at all_._ The effort it would take to include React would far outstrip the time it takes to solve it some other way. The commenter just likes React.

That doesn't mean all suggested tech is bad. The important thing here is that you do your research, and make an informed decision.

Each time you include a new tool, you have to learn how to use it. You may have to rewrite large portions of code. It's up to you to decide whether that cost is worth solving the problem you have.

Do your research. If it doesn't make sense, move on and find something else. Don't take anyone else's word for it.

#3: You have to be passionate to learn JavaScript

I hate seeing this advice.

This one can rear its ugly head in any thread about JavaScript. Someone comes along with a story about how they learned JavaScript in 6 months... by spending 12 hours a day living, breathing and consuming nothing but code.

And if you want to succeed, you need to do it too.

It's too extreme. It glorifies an approach that involves destroying your lifestyle. It suggests that if you have a full-time job, a partner, a young child, or any other hobby, you can't learn JS.

You don't need to spend 12 hours a day on JavaScript. You don't need to find 3-6 hours every night to code. You don't even need to be having fun.

You need to focus on consistently spending time learning JavaScript.

You're learning to code. This is a skill you'll develop over the rest of your life, so there's no rush. You're going to be more successful if you can find time in a way that you can sustain forever.

There's nothing wrong with learning to code in 1-hour chunks, so long as you can keep doing it.

#4: You need X days/months/years to learn JavaScript

I can understand the desire to know how long things take. Unfortunately, it doesn't work like that.

There is no set point where you have "learned JavaScript". Any effort to say how long it takes is inherently flawed.

The damage here is the implication that there is a point where you'll feel "done". You can work your butt off trying to reach that point, and get more and more disillusioned when it never comes.

Ignore anyone when they say how long it took them. It's more likely to be the Dunning-Kruger Effect than actual anecdotal evidence.

Instead, focus on tangible goals:

  • Starting your first solo project
  • Creating a fun SVG Animation
  • Getting your first job

#5: You need to know about X before you start Y

This one often comes when someone wants to try something new, like React. About half the time, it includes a very long list for X.

You couldn't possibly start using React until you've learned everything about:

  • Classes
  • Functional JavaScript
  • Kubernetes
  • Quantum Computing
  • Crochet

/sarcasm

These lists tend to cover everything the new framework etc. uses (and then some). They're a result of the "waterfall" approach that we seem to love when guiding beginners. "You have to learn all the basics before trying anything advanced_."_

I've talked about this in other articles like When to start learning a Front-end Framework. You often need far less knowledge to move into advanced concepts than you'd think.

These lists are useful though: They are a syllabus for the framework. It's a list of what you will learn if you choose to learn React.

The important thing here: Don't let it stop you. Don't worry about having to look stuff up.

Motivation is hard. It's easier if you're spending time working on things that you want to work on.

#6: If you can't even do X, you don't deserve to be a programmer

Okay. You've got me. This isn't exactly advice. It's the programming version of schoolyard bullying. While infrequent, this can show up anywhere.

The reason this is here is that it preys on insecurity present in a lot of struggling beginners. "I don't get it - maybe I'm not meant to be a programmer?".

Any time you see this, you're not seeing an actual critique of "what it takes to be a programmer". You're seeing someone posturing - someone who is insecure about their own programming.

Notice how it is never accompanied by an actual answer?

Are you willing to put in the time to learn to code? You deserve to be a programmer.

Learn things at your own pace. For every dickhead comment like this, there are plenty of others that will actually help.

#7: You should learn this other language instead

It may seem strange that this advice is around. This often finds its way into discussions about how to break out of tutorial hell.

Learning another language is weird advice in that can kind of work. It provides a new perspective on programming, which may be what you need to break out of tutorial hell.

The issue is that tutorial hell exists no matter what language you're in. Learning C or Ruby isn't going to fix your problem. It provides a different set of tutorials to keep you in hell.

Your time is better spent addressing the problems you're having with writing JavaScript. Write some small projects, do some coding exercises, write all the sorting algorithms. Practice.

Afterword

I'm sure you've noticed a trend in my suggestions: Be consistent in your learning, and write code, damn it.

If you're struggling with what to build, I recommend reading this article about finding project ideas.

If you want to read more about tutorial hell, you can check out this article: "Can you Actually Learn JavaScript from an Online Course"?


Having a hard time learning JavaScript? Sign up to my newsletter for articles like this straight to your inbox.

Top comments (10)

Collapse
 
dmitchelldev profile image
Dominique M. • Edited

This is wonderful advice for all that bad advice that's out there. I realized last week that I was in tutorial hell and decided to do something about it...write code! I am going to get started on a tiny project and see where it goes.

Collapse
 
canderson93 profile image
Carl Anderson

Haha. Thanks, although there's plenty more bad advice out there that didn't make the list :/

Good job on starting to write code! Let us all know how it goes :)

Collapse
 
straleb profile image
Strahinja Babić

I fully agree with you, to any new developer who will get thrown into the world of Javascript I would recommend, devote your time being good at JavaScript. Understand the basics and grow your way through all the functions, for loops and if-else statements, API's and JSON, etc. Take the time you need, and those frameworks and libraries, later on, will be easy to conquer :)

Collapse
 
maldestor95 profile image
maldestor95

Thanks Carl for this inspiring article! It's been so true for me not to follow at the letter recommendations. I've been working for over 20 years in electronic design that involved automating some tasks and analysing data. I never needed a full professional software design but many small ones. Therefore i never had to learn about all tools around (continuous integration, frameworks) but i gave a go to many languages : C, C++, visual basic, javascript, php, python.

Collapse
 
darkes profile image
Victor Darkes

5 really resonants with me. I always hear you have to be Rock solid with JS, HTML and CSS to even think about going near React or similar frameworks. It's hard enough trying to learn one new thing. My strategy on what you should focus on is just look at the applications of the job you want to have and Chase after those. Make projects and become knowledgeable to the point where you can present your skills well on a resume and pass interview questions on the topics.

Collapse
 
kaydacode profile image
Kim Arnett 

General ideas are true for all beginners, language aside. Great list, and good call out on schoolyard bulling. Too many get discouraged after encountering such poison.

Collapse
 
canderson93 profile image
Carl Anderson

I know. It's such a shame too. The elitist streak is the worst part of the programming community :(

Collapse
 
walkhard13 profile image
Phillip Smith

But, but, you can't possibly understand prototypal inheritance without understanding the intricacies of the pineapple stitch! 🤓🤓🤓

Collapse
 
m0ntassar profile image
Montassar JDIDI

You can replace programmer/Developer with any job related to technology :)

Collapse
 
mgmacdougall profile image
Michael MacDougall

Love #6, this happens more often than expected. Just ignore the naysayers and move on!