×

READY FOR A NEW CAREER?

But not sure where to start? Find out if a tech career is right for you.

TAKE THE 3-MINUTE QUIZ

Should You Learn JavaScript? The answer is YES

Get Our <span>FREE</span> Guide to Landing a Junior Developer Job

Get Our FREE Guide to Landing a Junior Developer Job

Find out EXACTLY what you need to do to land your first full-time job as a web developer.

One of the most confusing things when you set out to become a web developer is figuring out WHAT to learn. And nowhere is this more true than when it comes to picking your first programming language. If you want to learn the basics, markup languages like HTML (used to define things on a webpage like paragraphs and headers) and CSS (used to define webpage fonts, colors, layouts, etc.) are always a safe place to start, but what about all the scripting and programming languages that are out there once you’ve nailed those HTML and CSS fundamentals?

Maybe you’ve heard of Ruby, and its focus on a simple, easy to use syntax seems appealing. Or someone told you about PHP, and its ability to develop and modify WordPress plugins and themes sounds useful. But then you’ve also heard you should you focus on JavaScript—so where do you even start?

Which Programming Language Should You Learn First? Hint: It Might be JavaScript

Before I tell you THE ANSWER when it comes to what programming language to learn first, I want to set up some context: Here at Skillcrush, we focus exclusively on technical skills related to web development. That means we will tell you exactly what to learn and how to learn it if your end goal is to work as a designer, developer, project manager, UX specialist, or in some other capacity building websites and web applications. So all that stuff above about wondering where to start? You don’t have to spend another second worrying about it, since we’ll take care of it for you.

Got it? Good!

Oh, and ONE MORE thing before we move on: Way more important than stressing over which language to learn first, your most important task is to start immersing yourself in programming and understanding how it works. You need to learn: what a variable is, and an array, and function, and loops. You need to understand how logic works. And the amazing thing is that—when you start to understand all of these core programming principles—you’ll see that they really apply to all programming languages. This means no matter what language you want to learn, you’ll already have a solid framework for learning it easily—by understanding those big picture programming theories, you won’t be reinventing the wheel every time you go to pick up a new tech skill.

Got THAT? Great!

Alright, so now it’s time to tell you THE ANSWER.

If you’re looking at Ruby vs. PHP vs. JavaScript (aka three of the 15 most used programming languages on the code sharing site GitHub last year) and you’re wondering which one you should you start with?

The answer is. . . JavaScript!

That’s right—if you are setting out to learn your first programming language after handling HTML and CSS basics, you should start with JavaScript. Let me tell you why:

Reason #1: You can get started using JavaScript right now.

JavaScript comes installed on every modern web browser, so you can LITERALLY start programming in JavaScript this very second on the very browser that you are using to read this article. If you’re using Google Chrome, for instance, just go to the “View” menu, click on the “Developer” sub-menu, and you’ll see an option to open a JavaScript console. No muss, no fuss.

Not all languages are as simple to get started with—while a language like Ruby, for instance, is super easy to work with once you get going, the process of installing it on your machine when you’re new to tech can make you want to tear your hair and run away screaming, never to be heard from again.

And you have nice hair.

Reason #2: JavaScript can be used to make sites pretty and to build crazy fast servers.

It’s not just that JavaScript is so easy to get started with, it’s also that when you DO start using it there is so much it can be used for. Part of what makes JavaScript versatile (and such a great candidate to learn first) is that you can use it for front-end AND back-end development. In case you need a quick refresher, front-end development is the work that goes into building the parts of a website users see and interact with, while back-end development is the work that happens “under the hood”—building and managing the servers and databases that power websites behind the scenes. This means two important things for you:

First, because you can use JavaScript on the front-end, and because JavaScript builds and runs all the fun, dynamic elements of websites (things like animated graphics, scrolling video, and interactive maps) you can start using it immediately to sex up your website.

And who doesn’t love a sexy website?

Not THAT kind of sexy. Geez.

But secondly, you can use JavaScript on the back-end to totally streamline the way your entire site operates. Up until about ten years ago, JavaScript was really only used for the front-end stuff mentioned above. And then a new set of web development techniques call AJAX came on the scene. AJAX stands for Asynchronous JavaScript and XML, and—while we’ve covered what AJAX is in a lot more detail elsewhere on our site—in a nutshell it’s a back-end way of using JavaScript with a markup language called XML to make websites faster and more responsive for users —stuff like loading new content on a website without refreshing the page.

Think how Gmail loads your new emails or Twitter loads new tweets.

And this added functionality made JavaScript start to explode.

The past few years have seen INSANE development in the JavaScript language. The JavaScript JSON file format has taken over as one of the most popular ways to transfer data. Node.js (a JavaScript runtime environment) was released and allows you to build servers in JavaScript. JavaScript code libraries like Mustache.js and Handlebars.js have made it possible to create awesome JavaScript templates. And frameworks (collections of code libraries) like Ember.js, Angular.js, and Backbone.js are powering the creation of thousands of crazy interactive web applications and have pushed the limits of JavaScript way further than anyone thought it could go.

Reason #3: There’s tons of job growth and high pay for those who know JavaScript.

Still don’t believe me that JavaScript is on fire?? Let’s see if this will convince you:

If you navigate over to job sites like Indeed and Glassdoor, you’ll start to see what having JavaScript skills looks like in the job market:

Currently per Indeed, the average US salary for a JavaScript developer is an insane $110,737 per year!

And, as of this writing, Indeed has 28,636 JavaScript developer jobs posted on their site, while Glassdoor is listing 21,074. That’s a LOT of opportunity.

Meanwhile, the Bureau of Labor Statistics reports that between 2016 and 2026 the job market for web developers in general will have grown by 15 percent (much faster than average for all occupations tracked by the BLS). And, since JavaScript is a core skill for web developers, you’ll have a direct line to those jobs.

In other words. . . JavaScript is where the party is AT.

So go ahead and see what you can start doing with JavaScript yourself! Sites like Codepen are full of project examples that you can use as tutorials, while forums like Stack Overflow and GitHub are always a great place to connect with other coders and learn the ins and outs of JavaScript and other languages.

Get Our <span>FREE</span> Guide to Landing a Junior Developer Job

Get Our FREE Guide to Landing a Junior Developer Job

Find out EXACTLY what you need to do to land your first full-time job as a web developer.

Adda Birnir

Adda is not only the CEO and founder of Skillcrush, but also an instructor. With her self-taught tech skills, she’s worked on building sites for the New York Times, ProPublica and MTV.

When Adda isn’t developing or teaching on Skillcrush, she enjoys watching Hall & Oates videos on YouTube.

Your email address will not be published.

Cancel

45 comments

  1. Ben Cryer Replied

    Simpliv also has a free online learning track for JavaScript. I’ve been taking the courses myself and have found it to be useful. Great list of resources.

  2. Martins Replied

    Having completed some tutorials on html5 and css have had problems with finding the next web language to learn. And while there are so many blogs out there about what comes next after html and css none has ever answered the question correctlly, I always ended up confused, only few actually tell why javascript should follow and none ever explained in detail why it should come after css the way it’s clearly illustrated in skillcrush. I feel blessed today because I recently downloaded a PDF written by skillcrush also and twelve hours later I accidentally landed on this blog and oh Yea! it’s skillcrush at it again..thanks alot for your valuable insights, it means alot to people like myself who are just getting started with web development especially coming from a developing country where there’s limited access to internet, that is, every moment you spend on the web must be really worth it otherwise you may go hungry. Thanks alot!

  3. eebest8 fiverr Replied

    “It is really a great and useful piece of information. I am glad that you shared this useful information with us. Please keep us up to date like this. Thanks for sharing.”

  4. Antone Sidener Replied

    I was very pleased to find this web-site.I wanted to thanks for your time for this wonderful read!! I definitely enjoying every little bit of it and I have you bookmarked to check out new stuff you blog post.

  5. Rasmus Schultz Replied

    Do yourself a favor and learn how to program and do things right in a language with a proper type system, such as C#, Java, Typescript or Dart – languages that will actually teach you real programming skills and good habits.

    If you learn Javascript, Ruby or Python first, you will most likely learn how to do everything wrong – which will set you back years of unlearning, fumbling around and potentially put you off from programming entirely.

    The skills you learn from stronger languages are completely applicable to scripting languages like Javascript – but the nonsense you will learn by starting in one of these languages will teach you bad habits that can’t or shouldn’t be applied to languages with stronger type systems.

    Good luck :-)

  6. Developer Replied

    JavaScript is growing means goblins are taking over IT industry. Sad.

  7. Developer Replied

    By spreading misleading numbers you just contribute to hype. Growth in JavaScript is a sign of common decline and retardation.

  8. Ferdinand Che Replied

    Great write-up. But I got lost along the way. I was happy when I read this;

    “Here’s the thing: when it comes to learning your first programming language, your most important task is to start to understand how programming works. You need to learn: what a variable is, and an array, and method, and function, and objects and loops. You need to understand how logic works. And the amazing thing is that these core programming principles apply to all programming languages.”

    …so I thought your answer will be based on that.

    Which programming language is the best “to start to understand how programming works?”

    You chose JavaScript but your reasons are different; easy to learn, make sites pretty, high payoff…

    Let’s assume that the beginner is a serious beginner and wants to understand how programming works first before getting to the money and other stuff.

  9. Yeasin Been Replied

    It is really helpful. Thanks for sharing

  10. Martin Virux. Replied

    I ges the guides you are giving out its kind of a way helpful buh as I am beginner, it’s contradicting.
    As a beginner to me the best programming language to start with,,,,,those used on client side (html, CSS and then JavaScript). Starting to learn server side language its a bit complicated.
    En to b perfect on programming, b perfect with php, ruby, Java and JavaScript.
    Having done well research on this and for the years I have worked as a programmer in various institutions here in Kenya.

  11. Jason Sebring Replied

    I know about 10 different programming languages and I do agree with Adda. The web has evolved up to this point with JavaScript and npm as its primary food. You cannot go wrong learning this as your first language. However, I would stress, JavaScript has very odd behavior when compared to compiled languages so it is nice to have another companion language you learn as well. I would recommend Java, Swift or Go for compiled as these are approachable and forgiving and Go in particular is very straight forward and minimal while Java and Swift have more all the features that are popular.

  12. Miguel Salinas Replied

    After developing more than 15 years: C++, C#, Java, Python, Javascript, It depends what do you want to do with your devel life, that is:
      
       – C++: you would like work with baremetal solutions: System Operators, hardware devices, and so on.
       – C#: you would like to devel cool integrated native windows tools.
       – Java: you want to devel hard enterprise web solutions.
       – Python: you would like to devel system integration scripts and so on.
       – Javascript: you wan’t create scalable web solutions
       
    Not exist a silver bullet for everything!

    Happy Coding.

  13. auto ceiling fabric Replied

    Hello, Nice write-up. It has an concern with your site in web browser, may follow through? Web browser even now could be the current market head and a massive part of others will abandon your current wonderful creating just for this difficulty.

  14. Peter Replied

    Kind of missing the point, the first step should be to learn algorithms and algorithmic thinking, can then learn how to implement them in any language, I think both C (for systems programming) and Python (for applications programming) are both useful first starts. Can readily migrate to any other language from these two.

  15. sunny Replied

    you guys r just complicating issues here…. u guys r discouraging beginners…….

    • Jason Sebring Replied

      JavaScript is the defacto for web so they can’t go wrong with it. When I started I just wanted simple answers.

  16. Pat Replied

    There is no doubt that knowing JavaScript is important, but I think this is the hardest language to start learning programming basics. Why? Because vanilla JavaScript comes with so many tripwires…

    I.e. the way types are resolved (“undefined” is not null, typeof null === “object”); Prototype inheritance has a different perception of how attributes etc. are inherited; Variable scope and the fact that missing the “var” keyword causes the variable to be global; JavaScript is asynchronous, which in my honest opinion is the hardest thing to wrap the head around (pyramid of doom, concept of promises) and my personal favorite: People often don’t know the difference between “==” and “===” and enter the land of programming by coincidence… When I started learning programming in school, we used classic C for understanding control flow, memory management, simple sorting algorithms, recursive functions etc etc. which led us to learn OO with Java… After 2 years of programming JavaScript with Node.js, I realized that each language / platform has it’s caveats, but it’s never a bad thing to be proficient in many different environments… So, don’t worry and happy coding :-)

  17. Bryan Replied

    There are good reasons listed, but I’d say that Ruby & Python are better initial languages because they have a much easier syntax.

    What keeps people from learning languages is difficulty & frequency of overcoming errors. And a complicated syntax creates more instances where syntax errors hinder progress.
    Compare something like JS’s: for (var i = 0; i < cities.length; i++){}
    to python's: for i in cities:

    It's easy to learn the concepts with a lighter syntax, and then transition to javascript after you understand variables, arrays, loops, and functions.

    • nazzanuk Replied

      I think much of the syntax is pretty similar, as evidenced here:https://blog.glyphobet.net/essay/2557 and the main point is the wide usage of JS for web / server / mobile apps.

      Also, JS does have: for (var i in cities){} not too much different.

  18. Ryan Le Replied

    I do applaud the article for emphasizing the explosive growth JS has, but I disagree with the bashing of OOP languages like Ruby and Python. Ruby is an excellent starter, and no, it doesn’t make you pull your hair out to get it installed.

    The best advice I have for anyone who wants to get into programming is to ditch Windows and hop on the OS X / Linux express train. Learn to use a command-line and plain text editor (Atom or Sublime) and study HTTP thoroughly before even embarking on a language.

      • Ryan Le Replied

        http://www.gluglug.org.uk/why-you-shouldnt-use-microsoft-windows/ is a good place to start.

        K, coming from a lot of bias and personal opinion here:

        Proprietary.
        Not open-source.
        Unless you plan on developing strictly Microsoft-oriented (i.e., ASP .NET), Microsoft’s bastardized flavor of SQL, with their (sad) MS Server editions.
        Linux/OS X.. stock with Perl, Ruby, etc. right in the distribution. Windows? Jump through hoops of fire to get third party installers and hope they work well. Lack of a default terminal (Command Prompt doesn’t count, have to get Putty or the likes for VPS control). And, my biggest peeve of all coming from a Tech Support role, security vulnerabilities to the heavens. Most targeted OS in the world for hackers, malware, etc.

        Another thing — head to dev/tech conferences and you’ll probably see 5-10% using Windows. Rest of everybody will probably be running some debian flavor of Linux or Macbooks.

      • Ryan Le Replied

        I should also probably mention that 9/10 of the resources (books, e-courses, talks, etc.) I’ve used to learn always advise Linux/OS X where possible, with little to no instruction to get started as a Windows user. And there’s always more caveats to dev’ing on Windows.

      • Lewallen Replied

        Again, no valid points. What is this 9/10 of the resources? Name them all. I have books filled up in my bookshelf that teach in Linux and Windows (unless it specifically says XXX for Linux). It’s because instructors know devs will use either. I’ve never heard of devs all using 100% Linux unless their company is an exclusive Linux environment.

      • Ryan Le Replied

        So you’re implying it’s just as easy to develop, say, a Rails application Windows as it is on Linux or OS X? Zero caveats on Windows, right?

        And who would want MS SQL on Linux? No valid point.

        I will name them all, and highlight every point where they bash Windows. Just wait until I’m done working in my 100% Linux workshop because ownership sees no value in a proprietary, closed sourced environment. ;)

      • Bryan Replied

        The OS is not the limiting factor for learning any of these languages.
        To suggest that a platform switch is *required* is quite ignorant.

      • Ryan Le Replied

        To suggest I said a ‘platform’ switch is “required” is quite ignorant. It’s a preferential suggestion, that it’s easier to work on a local OS distro that is similar to the environment you’d deploy to (I don’t know any Microsoft devs personally, anyone I know who works with a linux web server works on a local unix OS). Thanks for putting words in my mouth.

        Again, it’s opinion and bias I’ve gathered over the years of personal experience and meeting people who have had all the reasons to make a switch from Windows to unix for ease and experience.

      • Adam Replied

        Maybe you didn’t say required, but you certainly worded it in a way which suggests it “best advice I have for anyone who wants to get into programming is to ditch Windows” – Personally I use Linux a lot and do like it and I’ve used various Macs and still prefer my iPhone over the Androids… But all your points are complete crap from an OS basher.

      • Ryan Le Replied

        I’ve never heard of devs who wake up each day and decide to write their code on different OS’s. I think you and I are thinking on two different terms. As a starting developer, it was a hell of a lot easier for me to throw Windows 7 out the window when I launched my first VPS running Ubuntu 12.04 and decided to install Ubuntu Desktop 12.04. I learned more sysadmin by working in the OS I deployed web-apps onto. Ever try to chown or chmod on Command Prompt? Lol

      • Lewallen Replied

        You make no valid points for ditching Windows. You can install MySQL on Windows, can you install MS SQL on Linux? You can install Python, Apache, and Perl in Windows just fine. And why doesn’t command prompt count for terminal? You can telnet and ssh just as well. You’re making Linux administrators look bad by bashing Windows.

      • Herwin Gill Replied

        Thanks for sharing your thoughts – I’ll give some thought to what OS makes sense for my purposes

      • Ryan Le Replied

        Herwin it really just depends on your goals and the type of work you want. If you grew up and learned on Windows, it doesn’t hurt to expand your horizons and learn popular Linux distributions like CentOS or Ubuntu. Like I’ve been saying, speaking a lot of bias and personal experience. Whatever direction you head in, figure out what most of the community uses and go with the flow. It helped on my resume to mention experience in different OS distro’s, because it means flexibility, adaptation, and not afraid to try new things. I feel those are a couple things important for any employer in any profession.

      • Herwin Gill Replied

        Yeah, agreed that flexibility, adaptation, and willingness to try new things is a plus for employment. I’m currently in Finance, and playing around with coding for exactly what you cited; I like trying new things. I believe coding will be an important skill in the future. Even if I don’t end up a programmer, still good to have some background in it.

    • Brad Replied

      I completely disagree with you. Sorry to tell you but I suspect the majority of companies in the country are running on a Microsoft platform (in whole or in part) and are running MS products – and their developers are most likely using a combination of languages which includes some open source as well – not strictly.  Also, to suggest the MS SQL platform is sad is , well I am not sure what it is… retarded??  Have you used it in a large business environment even?  I have used Oracle, MS SQL, Dec Rdb, IMS, DB2… the list goes on… MS SQL is a great product and scales nicely…  I would take it over any of those other ones all day every day… I am not convinced you know what you are talking about…

  19. Good, but JavaScript (not counting Node.js) is only a client-side language. Sooner than later the programmer has to “graduate” to PHP, Ruby or Python for server-side scripting. That aside, why I’d suggest learning JavaScript is because it is the only option for the Web.

  20. Marcin Wietlicki Replied

    I really think of JavaScript as a building a puzzle which parts always don’t match each other in the end. It is very frustrating… remontowisko.pl

  21. Mrt Ozcn Replied

    can you write user generated websites or like online databases in javascript? is that enough to make such a website? i want to make various communities.

  22. Jotte Replied

    Such an useful article! I’ll start on JavaScript right now

  23. JL Replied

    Agreed! And you can also use JS and HTML5 to create mobile apps for both iOS and Android using things like CocoonJS or Phone Gap build, etc. The only problem I think is that you have to know some html and some css.

Want more articles like this?

Sign up to get the most recent tech news, tips and career advice.