El día en que decidí aprender JS en serio



Hace tiempo un amigo me invitó a participar en un proyecto personal de tipo escolar para agregarlo en mi cartera de proyectos (github). Me platicó un poco sobre éste, en qué iba a consistir, a quién iba dirigido, y en qué tecnologías lo quería.

Cuando me dijo el stack que se iba a emplear me quedé pensando en decirle si le entraba al proyecto o no. Quería que usara Node.js y React. Yo nunca en mi vida los había empleado. De mi corta experiencia laboral, el back-end lo hacía en C# ASP.NET MVC y en el front-end empleaba librerías de JavaScript como jQuery y KendoJS.

Mi primer acercamiento más allá del JavaScript convencional fue en el 2016 cuando un amigo me recomendó un curso de edX de MEAN. Yo no concibía que todo el proyecto estuviera hecho en JavaScript, y mucho menos que existiera JS para servidor. En la carrera me enseñaron que usara JS para el front-end y nada más.

Tomé el curso, pero no lo terminé. Me detenía una cosa: No entendía absolutamente nada del stack. Aunque la lógica que traía de proyectos anteriores de cierta manera se aplicaba a lo nuevo que estaba aprendiendo, no comprendía la implementación y codificación.

Total, terminé frustrado y no avancé en el curso. Pensaba (y a la fecha lo sigo pensando) "Cada vez hacen más complicado y difícil de entender JavaScript".

Cuando llevé la materia de Programación Web II durante mis estudios universitarios tampoco entendía del todo el lenguaje. Se me hacía más fácil programar algo en PHP que en Vanilla JS, y cuando nos enseñaron a usar jQuery batallé bastante con los eventos y callbacks (gracias a Dios que durante mis residencias pude dominar un poco más estas cosas).

Pasó de nueva cuenta el tiempo y me tocó nuevamente empezar a trabajar con JS en una empresa de Guadalajara. Me habían dicho que estaban buscando personas en período de residencias, recién egresados de la carrera o con poca experiencia profesional (mi caso). Apliqué y quedé, y aunque el programa decía que iba a ver C# con .NET, fue prácticamente de JS (mi dolor de cabeza 😖).

¿Llegué a ver C# en el programa? Sí, un poco al inicio (y nada más). Estuve desarrollando unit tests para un proyecto OS llamado SWAN (el cual recomiendo bastante) usando NUnit, pero el resto del programa era usar JS (lo cual nadie se esperaba).

Tomé cursos en Pluralsight sobre el tema, y hasta uno de React.

Aprendí muchas cosas sobre ES6 y por fin entendí cómo funcionaban los métodos .filter(), .map() y .reduce() (sí, aunque suene increíble no sabía usarlos). También aprendí a usar algunas librerías para JS como Lodash, y para React.

Y como el resto del programa era JS usando React, tuve que aprender voluntariamente a fuerzas 😛.

Me gustó mucho aprender esa librería. Aprendí sobre el manejo de estados y properties, así también como hacer componentes. No domino al 100% la herramienta (aún me siguen causando conflictos los lifecycle methods y el paso de parámetros que yo creo todos también lo sufren), pero lo que aprendí me sirvió de mucho. Aquí si hice mucho unit testing 😆.

¿Sigo sosteniendo que JS cada vez se hace más complejo y difícil de entender? Sí 😆, pero es el lenguaje que está ganando mucha popularidad entre los developers y que cada vez gana muchas áreas de implementación (¡hasta hay JS aplicado para la electrónica!), y como ingenieros en sistemas debemos estar siempre actualizados.

Hay tres libros muy famosos para aprender JS que me sirvieron de mucho. No los he leído por completo, pero tomé de ellos lo que consideré necesario para aplicarlos en mis proyectos:

JavaScript: The Good Parts, de Douglas Crockford (O'Reilly, 2008).
Eloquent JavaScript, de Marijn Haverbeke (2018).
You don't know JS, de Kyle Simpson (O'Reilly, 2015).

Y bueno, junto con los libros también hay un montón de cursos buenos en varias plataformas online.

Si te sientes como yo de abrumado para aprender JS, reconsidéralo. Puede que te guste 😉.

Comentarios

Entradas populares