
Creo que fue George Washington quien, en un despliegue característico de brillantez, dijo que "un gran poder conlleva una gran responsabilidad".
Espera. ¿Fue Albert Einstein? Mi cerebro últimamente anda un poco borroso con los detalles. Más aún si consideras que, solo en los últimos 4 años, le he metido tanta información de front-end que es un logro digno de admiración que todavía me acuerde de cómo amarrarme los zapatos. O eso espero. Llevo una semana entera usando mocasines y he estado leyendo sobre React Native, así que supongo que es cuestión de tiempo.
Sí, querido lector que puede o no ser desarrollador front-end, adivinaste bien: esta va a ser "otra entrada de blog más sobre la fatiga de JavaScript". Pero antes de que empieces a afilar los tridentes y a prender las antorchas, dame el beneficio de la duda. Déjame empezar redactando con cuidado una declaración políticamente correcta con la que voy a hacer mi mejor esfuerzo por complacer a todo desarrollador con una opinión sobre el tema:
La fatiga de JavaScript es real, es un problema, es tu maldita culpa, y si crees lo contrario eres parte del problema y no de la solución.
Ah, y hueles muy bien (¿ves? Te dije que iba a complacer a todo el mundo).
Vamos a dividir y conquistar lo que acabo de decir, empezando, sin mucho suspenso, por el principio: la fatiga de JavaScript es real. Y no es solo mi opinión. Es un hecho.
Se han escrito poemas y canciones sobre eso. Se han escrito más artículos que planetas hay en el universalmente elogiado No Man's Sky. Se han peleado guerras de flamas por eso, y hablo de guerras reales, con lanzallamas reales. Así que, por favor, hazte un favor y no ignores lo evidente: existe algo que se llama fatiga de JavaScript.
Ahora, la pregunta más importante: ¿qué diablos es, y por qué es tan importante hablar de eso?
La fatiga de JavaScript se refiere al fenómeno de que una cantidad considerable de desarrolladores se sienta intimidada y abrumada por el crecimiento vertiginoso de las opciones en el mundo de JavaScript.
Puedes burlarte de la parte de la intimidación, pero no puedes discutir la parte del crecimiento vertiginoso. Francamente, se está volviendo absurdo. Hace 4 años, palabras como Gulp, Grunt, Browserify, Webpack, React, Redux, TypeScript y Angular no eran parte de mi vocabulario, y la cantidad de esfuerzo y de tiempo que he invertido en aprenderlas no es despreciable. ¿Y lo peor? La lista que mencioné es apenas la punta del iceberg. Por cada cosa nueva que aprendo hay probablemente una docena de cosas nuevas que no estoy aprendiendo, simplemente porque no tengo el tiempo.
Súmale que soy uno de los afortunados. He visto este boom en el mundo de JavaScript desde sus primeros inicios, así que he podido crecer con él. Estoy acostumbrado. Lo entiendo. ¿Pero qué pasa con los desarrolladores sin experiencia? ¿Qué pasa con los que solo están tratando de entrar a la comunidad de JS ahora y enfrentan un número de opciones que no deja de crecer?
Lo que nos lleva a la parte II de mi declaración: es un problema.
Puede que no sea un problema para ti, claro. Como yo, has sido parte de esto desde el principio. No te imaginas un mundo de JS sin eso, así que no lo sientes como un defecto sino como una funcionalidad.
Puede que estés en un ambiente de trabajo donde aprender y después compartir el conocimiento se fomenta. Así que puede que te den ganas de descartar a todos los recién llegados a JS que se quejan de la fatiga como cobardes, o como perezosos a los que no les gusta leer.
Pero acuérdate: tú llevas años haciendo esto, un paso a la vez. Tú naciste en esto y esto te moldeó, mientras ellos apenas lo están adoptando. Para ellos, enfrentar el mundo de JS es como enfrentar un muro gigantesco de información que no deja de crecer, y cuya velocidad de crecimiento. No. Deja. De. Aumentar.
No es un problema para ti. Es un problema para ellos.
Y sí, es tu maldita culpa.
Sí, te estoy hablando a ti.
A ti, a quien no hace mucho llamaban "el del markup", y que en silencio, pero con orgullo, se encargaba de esas alineaciones verticales de CSS insufribles, mientras los de back-end hacían el trabajo de verdad.
A ti, que sentías que JavaScript era lo suficientemente potente y versátil para hacer mucho más que carruseles y popovers, pero te tocó aguantar la burla de quienes lo ridiculizaban por no tener clases.
A ti, que celebraste cuando el paradigma cambió y las SPAs pasaron de ser una excentricidad gratuita a ser la norma.
A ti, cuya opinión todos tus colegas empezaron a respetar cuando Node se volvió una opción seria de back-end y tú eras el que más sabía de JavaScript en la sala.
Sí, tú. Porque después de todos estos años de ser el menospreciado, finalmente te volviste la rockstar, y la fatiga de JavaScript no es más que una consecuencia de que muchos de nosotros, un número inmenso de nosotros, finalmente estemos bajo los reflectores. Finalmente podamos comprobar que podemos hacer más, mucho más, que alineaciones verticales de CSS.
Después de años de espera, el micrófono está en nuestras manos, las cámaras están grabando y el público finalmente está escuchando, así que sentimos la presión de demostrar de qué somos capaces. Sentimos que, aunque ya existe una infinidad de frameworks y librerías de JS, pueden ser mejores, más rápidos y más fuertes. Así que todos estamos haciendo todo, todas las cosas, todas al mismo tiempo.
¿Y sabes qué? Es magnífico.
He visto lenguajes de programación entrar y salir de los reflectores un par de veces en mi carrera, pero nunca había visto algo ni remotamente parecido a lo que está pasando con JavaScript ahora.
Si me preguntas, nos lo merecemos. Pero esta sensación de logro que estamos viviendo, amigo, es exactamente a lo que se refería Mahatma Gandhi cuando dijo que un gran poder conlleva una gran responsabilidad.
En vez de esconderla debajo del tapete, necesitamos reconocer la fatiga de JavaScript. Necesitamos reconocer que es nuestra maldita culpa. Y en vez de descartar y ridiculizar a los recién llegados que se quejan, necesitamos tratar de explicarles qué está pasando, por qué, y después hacer todo lo que esté en nuestro poder para acompañarlos. Para que se sientan entusiasmados con todas las opciones, en vez de abrumados.
De lo contrario, se van a mover en manada a lo que venga después. A lo que sea que les haga más fácil empezar. Y entonces nuestro tiempo bajo los reflectores, aunque increíble, va a ser muy corto.
Al contrario de lo que puedas creer, no estoy escribiendo este artículo desde el odio a la fatiga de JavaScript. Es más bien lo contrario. Me encanta que esto esté pasando, y quiero que siga pasando. Soy tan fan de JS que si JS fuera Star Wars, hasta elogiaría las partes del Episodio I. Pero soy, antes que nada, un ingeniero. Y creo que es mi deber hacer todo lo que esté en mi poder para mejorar mis herramientas de trabajo.
Considera esta entrada de blog mi aporte al tema. ¿Y qué puedes hacer tú, como experto en JS? Reconocerlo. Ser útil. Dar charlas. Preparar talleres. Escribir entradas de blog, o incluso libros. Grabar tutoriales en video. Escribir la maldita documentación. Pero hagas lo que hagas, simplemente no seas un imbécil con los recién llegados. Ahora eres una rockstar. Usa tu poder con responsabilidad.
Después de todo, el tío Ben tenía razón.