La verdadera razón para aprender MEAN Stack: empleabilidad

Más bootcamps de codificación (como Hack Reactor) y plataformas de cursos en línea (como Khan Academy) están cambiando a JavaScript como idioma de instrucción.

JavaScript tiene sentido como primer idioma porque deberá aprenderlo de todos modos. No se puede hacer mucho en la web sin él, por lo que la gente va directamente a JavaScript y se salta Ruby, Python y PHP. JavaScript también cuenta con la comunidad de desarrolladores más activa. Pero hay una tercera razón por la que debería aprender JavaScript desde el principio: la empleabilidad.

Los empleadores no solo están hambrientos de talento de JavaScript, sino de ingenieros que conocen tecnologías específicas basadas en JavaScript. Y resulta que esas tecnologías son las que componen la pila MEAN: MongoDB, Express.js, Angular.js y Node.js.

Antes de comenzar, tenga en cuenta que estos datos provienen de Indeed.com, el mayor agregador de ofertas de trabajo. Estamos usando el volumen de ofertas de trabajo como un indicador del volumen de trabajos. Solo nos enfocamos en soluciones no propietarias como Oracle, Microsoft e IBM.

Comparación de marcos de desarrollo web modelo-vista-controlador

  • Node.js y Express.js: el servidor web y el marco de desarrollo web básico que impulsa la pila MEAN. Node.js se lanzó hace menos de 5 años, pero ya ha sido adoptado por LinkedIn, Walmart, SAP y Microsoft.
  • Rails: el popular marco de desarrollo web basado en Ruby diseñado para ayudar a los desarrolladores a crear rápidamente aplicaciones de servidor convencionales. La gran mayoría de los bootcamps de programación todavía se centran en Rails. Dato curioso: Rails fue inventado por un piloto de carreras danés.
  • Django: el marco de desarrollo web más popular de Python. Otro dato divertido: Django se inventó en un periódico de Kansas.
  • Laravel: actualmente es el marco de desarrollo web PHP más popular, aunque la comunidad PHP no se ha puesto realmente detrás de un marco tan universal como las comunidades Ruby y Python.

Como puede ver, Node.js es el claro ganador en términos de crecimiento laboral. Y en términos absolutos, Node.js se está poniendo al día rápidamente con Ruby on Rails:

Comparación de bases de datos NoSQL

El siguiente componente de la pila que veremos es la base de datos. Primero, comparemos las bases de datos NoSQL (no relacionales) más populares.

  • MongoDB: la base de datos del almacén de documentos que usa la pila MEAN. Mongo también es popular entre las aplicaciones Rails y es la base de datos predeterminada para el proyecto Meteor.js.
  • Cassandra: una base de datos de columna ancha creada en Facebook y luego de código abierto para Apache.
  • Neo4j: la base de datos de gráficos más popular.
  • Couchbase: otra base de datos de almacenamiento de documentos, creada para enfatizar la velocidad.

La demanda de los empleadores de MongoDB es la que crece más rápido entre las bases de datos NoSQL. En términos absolutos, MongoDB también está ganando:

Pero probablemente se esté preguntando cómo se compara esto con las bases de datos SQL. Vamos a ver:

MongoDB está creciendo mucho más rápido que las bases de datos SQL más populares. Pero si miramos el mercado laboral en términos absolutos, todavía queda un largo camino por recorrer:

Está claro que las bases de datos NoSQL todavía representan una porción relativamente pequeña del mercado total para el talento de bases de datos. Una interpretación común del nombre NoSQL es "No solo SQL", lo que significa que las bases de datos NoSQL deben utilizarse como complemento, en lugar de sustituto, de las bases de datos SQL tradicionales. Esta es una de las principales razones por las que presentamos bases de datos relacionales y SQL antes de presentar MongoDB.

Marcos de JavaScript frontales

En los últimos tres años han surgido varios marcos de JavaScript modelo-vista-controlador. Estos permiten a los desarrolladores manipular elementos DOM en el lado del cliente. Esto permite aplicaciones de una sola página, donde el navegador nunca tiene que navegar a una nueva página.

  • Angular.js: la 'A' en MEAN Stack. Google (y por extensión YouTube) han invertido una tonelada de dinero y talento en ingeniería para mejorar Angular.js.
  • React.js: desarrollado por Facebook, con énfasis en el rendimiento.
  • EmberJS: proporciona un backend de estructura MVC, mientras utiliza herramientas convencionales como Handlebars.js y jQuery en el front-end.
  • Backbone.js: el marco MVC JavaScript original, y sigue siendo bastante popular. Tiene una gran comunidad y buena documentación, incluidos algunos cursos sobre Code School.

Como puede ver, Angular.js está creciendo rápidamente, mientras que Ember.js y Backbone.js parecen haberse estancado. React.js es tan nuevo que ni siquiera está registrado en el gráfico, pero he oído que algunas empresas, como Khan Academy, lo están utilizando. Y en términos absolutos, Angular.js se está poniendo al día rápidamente con Backbone.js:

Pero, por supuesto, este gráfico deja fuera del gorila de 800 libras en el mundo de JavaScript de Front End, jQuery:

Por diversión, comparemos el porcentaje total de ofertas de trabajo que mencionan "jQuery" con el porcentaje de ofertas de trabajo que mencionan "JavaScript" en sí:

Sorprendentemente, jQuery recibe casi la mitad de menciones que JavaScript.

En mi opinión, hay 3 posibles explicaciones para esto:

  1. jQuery es tan intuitivo de usar que los diseñadores web menos técnicos continúan usándolo en lugar de cambiar a marcos frontales más potentes como Angular.js. Estos diseñadores web tienen muchas aplicaciones heredadas que usan jQuery y están contratando personas para mantenerlas.
  2. Las personas no técnicas de RR.HH. que crean ofertas de empleo piensan que jQuery y JavaScript son sinónimos, o que jQuery (lanzado en 2006) es una forma más moderna de JavaScript (lanzado hace casi 20 años), por lo que están listando jQuery en su lugar.
  3. Muchos empleadores no requieren el trabajo pesado que proporcionan los marcos de JavaScript de vanguardia. O, más probablemente, no comprenden cuán poderosos son estos marcos y cómo pueden producir experiencias superiores.

Cualquiera que sea la causa, el mensaje es claro. Para maximizar su empleabilidad, es absolutamente esencial que aprenda jQuery, aunque estos otros marcos pueden hacer todas las cosas que jQuery puede hacer y más.

Gran parte del éxito de jQuery probablemente se pueda atribuir a su facilidad de uso. En muchos aspectos, aprender jQuery es incluso más fácil que aprender JavaScript, y muchos de los conceptos que aplicará con jQuery se trasladarán al aprender un marco MVC como Angular. Entonces en resumen:

  • Cada uno de los componentes individuales de MEAN Stack está emergiendo como el ganador de su categoría respectiva.
  • Desde el punto de vista de la empleabilidad, tiene sentido centrarse en MEAN Stack en su conjunto. Si su empleador quiere usar, por ejemplo, Backbone.js en lugar de Angular.js, ya estará familiarizado con uno y podrá aprender fácilmente el otro.
  • MongoDB es la base de datos NoSQL adecuada en la que centrarse, pero resultará útil familiarizarse con las bases de datos relacionales y el propio SQL.
  • Aprenda jQuery. Practica mucho jQuery. Colóquelo en un lugar destacado en su perfil de LinkedIn y reanude.

Publicado originalmente en blog.freecodecamp.com el 26 de octubre de 2014.