by freeCodeCamp

The real reason to learn the MEAN Stack: Employability

More coding bootcamps (like Hack Reactor) and online course platforms (like Khan Academy) are switching to JavaScript as their language of instruction.

JavaScript makes sense as a first language because you’ll need to learn it anyway. You can’t do much on the web without it, so people are increasingly going straight to JavaScript and skipping Ruby, Python and PHP. JavaScript also boasts the most active developer community. But there’s a third reason you should learn JavaScript right out of the gate: employability.

Employers aren’t just starved for JavaScript talent — they’re starved for engineers familiar specific JavaScript-based technologies. And those technologies happen to be the ones that compose the MEAN Stack — MongoDB, Express.js, Angular.js and Node.js.

Before we get started, note that these data come from Indeed.com, the largest aggregator of job postings. We’re using the volume of job postings as a proxy for the volume of jobs. We only focused on non-proprietary solutions like Oracle, Microsoft and IBM.

Comparison of Model-View-Controller Web Development Frameworks

  • Node.js and Express.js — the web server and bare-bones web development framework that power the MEAN stack. Node.js was released less than 5 years ago, but it’s already been adopted by LinkedIn, Walmart, SAP and Microsoft.
  • Rails — the popular Ruby-based web development framework designed to help developers quickly build conventional server-heavy apps. A vast majority of coding bootcamps still focus on Rails. Fun fact: Rails was invented by a Danish race car driver.
  • Django — Python’s most popular web development framework. Another fun fact: Django was invented at a newspaper in Kansas.
  • Laravel — Currently the most popular PHP web development framework, though the PHP community hasn’t really gotten behind one framework as universally as the Ruby and Python communities have.

As you can see, Node.js is the clear winner in terms of job growth. And in absolute terms, Node.js is quickly catching up with Ruby on Rails:

Comparison of NoSQL Databases

The next stack component we’ll look at is the database. First, let’s compare the most popular NoSQL (non-relational) databases.

  • MongoDB — The Document Store Database that the MEAN stack uses. Mongo is also popular with Rails apps, and is the default database for the Meteor.js project.
  • Cassandra — A Wide Column Database created at Facebook and later open sourced to Apache.
  • Neo4j — The most popular Graph Database.
  • Couchbase — Another Document Store Database, built to emphasize speed.

Employer demand for MongoDB is the growing the fastest among NoSQL databases. In absolute terms, MongoDB is also winning:

But you’re probably wondering how this compares to SQL databases. Let’s take a look:

MongoDB is growing many times faster than the most popular SQL databases. But if we look at the the job market in absolute terms, it still has a long way to go:

It’s clear that NoSQL databases still represent a relatively small slice of the total market for database talent. A common interpretation of the name NoSQL is “Not Only SQL”, meaning that NoSQL databases should be used as a compliment to, rather than a substitute for, traditional SQL databases. This is one major reason why we introduce relational databases and SQL before we introduce MongoDB.

Front End JavaScript Frameworks

Several Model-View-Controller JavaScript frameworks have emerged in the last three years. These allow developers to manipulate DOM elements on the client-side. These allows for single-page apps, where the browser never has to navigate to a new page.

  • Angular.js — The ‘A’ in MEAN Stack. Google (and by extension YouTube) have poured a ton of money and engineering talent into improving Angular.js.
  • React.js — Developed by Facebook, with an emphasis on performance.
  • EmberJS — Provides an MVC structure backend, while using conventional tools like Handlebars.js and jQuery on the front end.
  • Backbone.js — The original MVC JavaScript framework, and still quite popular. It has a large community and good documentation, including a few courses on Code School.

As you can see, Angular.js is growing quickly,while Ember.js and Backbone.js seem to have plateau’d. React.js is so new that it isn’t even register on the chart, but I’ve heard of some companies, like Khan Academy, are using it. And in absolute terms, Angular.js is quickly catching up with Backbone.js:

But, of course, this chart leaves off the 800 pound gorilla in the Front End JavaScript world, jQuery:

Just for kicks, let’s compare the total percentage of job postings that mention “jQuery” to the percentage of job postings that mention “JavaScript” itself:

Amazingly, jQuery gets almost half as many mentions as JavaScript.
There are, in my mind, 3 possible explanations for this:

  1. jQuery is so intuitive to use that less technical web designers continue to use it instead of switching to more powerful front-end frameworks like Angular.js. These web designers have a lot of legacy applications using jQuery, and are hiring people to maintain them.
  2. Non-technical HR people creating job postings think that jQuery and JavaScript are synonymous, or that jQuery (released in 2006) is a hipper form of JavaScript (released almost 20 years ago), so they’re listing jQuery instead.
  3. Many employers don’t require the heavy lifting that cutting edge front end JavaScript frameworks provide. Or, more likely, they fail to understand how powerful these frameworks are and how they can produce superior experiences.

Whatever the cause may be, the message is clear. In order to maximize your employability, it’s absolutely essential that you learn jQuery, even though these other frameworks can do all the things that jQuery can do and more.
Much of jQuery’s success can probably be attributed to its ease of use. In many respects, learning jQuery is even easier than learning JavaScript, and a lot of the concepts you’ll apply with jQuery carry over when learning an MVC framework like Angular. So in summary:

  • Each of the MEAN Stack’s individual components is emerging as the winner of its respective category.
  • From an employability standpoint, it makes sense to focus on the MEAN Stack as a whole. If your employer wants to use, say, Backbone.js instead of Angular.js, you’ll already be familiar with one and can easily learn the other.
  • MongoDB is the right NoSQL database to focus on, but it will pay to get familiar with relational databases and SQL itself.
  • Learn jQuery. Practice jQuery a lot. Put it prominently on your LinkedIn profile and resume.

Originally published at blog.freecodecamp.com on October 26, 2014.