One of the most confusing things when you set out to learn technical skills is figuring out WHAT to learn. And nowhere is this truer than when it comes time to pick your first programming language.
Ruby seems cool, PHP sounds useful, you’re not exactly sure what people do with Python and should you focus on Java? Or is it JavaScript?
To make matters worse, you might ask a developer friend what you should learn and either get a “Eh, it doesn’t really matter what you pick” answer or, worse yet, a long winded argument about why learning any language other than C++ is a horrible waste of your time, and you didn’t even know that C++ was an option!
Before I tell you THE ANSWER I want to set up some context: at Skillcrush we focus exclusively on technical skills related to building websites. That means that we will tell you 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.
Got it?
And then ONE MORE caveat: your friend who said it doesn’t really matter? She was right. But that’s good news for you! But it’s also not THE ANSWER.
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.
Got THAT?
Alright, now it’s time to tell you THE ANSWER.
Ruby vs. PHP vs. Python vs. JavaScript? (A.K.A. which of the four most common web programming languages should you start with?)
The answer is…JavaScript!
That’s right, if you are setting out to learn your first programming language you should learn JavaScript. Let me tell you why:
Reason #1: JavaScript is easy to use and has an immediate payoff
JavaScript is the only web programming language that runs both in the frontend and the backend (more on that later), which means two very important things for you:
- 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. No muss, no fuss.
Python and Ruby are both wonderful languages to learn, but unfortunately, the process of installing either one on your machine so that you can start to learn it will make you want to tear your hair and run away screaming, never to be heard from again.
And you have nice hair.
- Because you can use JavaScript on the frontend and because JavaScript runs all the fun interactive elements of websites you can start to use it immediately to sex up your website.
And who doesn’t love a sexy website?
Not THAT kind of sexy. Geez.
Reason #2: JavaScript can be used to make sites pretty and to build crazy fast servers (A.K.A. it can do A LOT of different stuff so it’s a great skill to have)
Up until about ten years ago, JavaScript was really only used on the frontend. That means that it ran in your browser and allowed developers to create interactive elements on websites like slideshows and whatnot, but it didn’t do a lot of fancy stuff.
And then AJAX came on the scene. I will let you read the tech term we wrote all about AJAX but suffice it to say that AJAX created the ability to use JavaScript in conjunction with data and made it possible to do all kinds of crazy stuff like load new stuff on a website without refreshing the page.
Think how Gmail loads your new emails or Twitter loads new tweets.
And then JavaScript started to explode.
The past few years have seen INSANE development in the JavaScript language. JSON has taken over as one of the most popular ways to transfer data. Node.js was released and allows you to build servers in JavaScript. Libraries like Mustache.js and Handlebars.js have made it possible to create awesome JavaScript templates. And frameworks 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.
Seriously, JavaScript is ON FIRE.
And I haven’t even touched on how it can be used on the mobile web!
Reason #3: Tons of job growth and high pay for those who know JavaScript
What, you don’t believe me about JavaScript being on fire?? Let’s see if this will convince you:
Indeed is the biggest job listings aggregator website in the world and they have this handy tool that combs through all of the thousands of job listings and tracks trends in job keywords. In other words, what skills are HOT.
So putting aside the fact that all 10 of the fastest growing keywords are tech related, let’s talk about JavaScript.
Some facts:
- JavaScript is a keyword in fully 1% of all jobs posted on Indeed
- jQuery (a popular JavaScript library) is ranked #8 on the fastest growing keywords and is found in ~0.5% of jobs posted to the site
- Jobs advertising for Node.js expertise have grown 80,000% over the last three years
- Jobs advertising for Angular.js expertise have grown 9,000% in just the last year
- Jobs advertising for Backbone.js skills start at $60,000 and go up to $140,000!
- There are currently over 54,886 jobs on Indeed advertising for JavaScript knowledge
In other words…JavaScript is where the party IS.
So come join us!
If you are ready to try your hand at JavaScript, I want to invite you to join the next session of Skillcrush 102: Go Interactive with JavaScript, jQuery and APIs. This three-week class starts on Monday, April 14th and will give you a solid foundation in all things JavaScript so you can go out and get yourself one of these 54,886 awesome open jobs and/or start making interactive websites for yourself.
This piece was written by Adda Birnir and is reprinted by permission.