Hace poco explicaba cómo introducirse en el mundo del desarrollo interactivo digital, desde el punto de vista de alguien sin ninguna experiencia o trasfondo técnico.

Sin embargo, es posible que sepas o tengas nociones de HTML y CSS (la estructura y la presentación) y quieras aprender la parte interactiva del mundo Web: JavaScript.

Si alguna vez te has interesado por el mundo interactivo en su parte más técnica, una y otra vez habrás encontrado referencias a JavaScript, es normal. JavaScript es el lenguaje de la Web y si quieres vivir del entorno Web has de aprenderlo, pero para hacerlo debes saber cómo, ser selectivo y aprovechar la enorme cantidad de material que hay en la red sin que esto te paralice.

Como siempre, si buscas un resultado notable en el menor tiempo posible, debes tener un método.

Este es el mejor momento

Has elegido bien: este es un momento increíble para lanzarse al mundo Web en general y aprender JavaScript en particular.

JavaScript ha pasado de ser ridiculizado a estar presente en todas partes. Ya no sólo vive en tu navegador sino también en el servidor, dando paso al full-stack JavaScript y al stack MEAN.

No te dejes llevar por acrónimos, siglas o modas, lo más importante son los fundamentos.

Durante tu primera fase a la hora de aprender JavaScript, tu foco y atención deben estar y permanecer en los fundamentos.

Sólo cuando hayas entendido lo fundamental podrás saltar al ecosistema JavaScript con seguridad. En caso contrario estarías construyendo sobre una base incompleta que tarde o temprano se desmoronará.

Aunque es fácil de comenzar, es difícil de dominar

JavaScript es un lenguaje con una curva de dificultad inicial muy pequeña. Esto quiere decir que tras poco tiempo podemos comenzar a escribir JavaScript en nuestros propios proyectos.

Sin embargo, dominar JavaScript es un trabajo considerable de paciencia y dedicación. Hay ciertas partes en el lenguaje que suelen llevar a error y confusión, sobre todo cuando se está comenzando a aprender.

Por lo tanto, tienes que hacer la distinción entre aprender la sintaxis y entender lo que está ocurriendo de fondo, lo cual nos lleva al siguiente punto.

Se acabó el copiar y pegar sin entender

El método que te propongo sólo tiene una regla, esta: nunca copies y pegues sin entender lo que estás haciendo.

Por propia experiencia te puedo asegurar que copiar y pegar sin parar, aunque pueda parecer un beneficio rápido temporal, está saboteando tu propio proceso de aprendizaje.

Todos buscamos en StackOverflow alguna vez. Quien diga que no, miente. Ese no es el problema.

El problema se da cuando copias y pegas sin entender lo que estás haciendo, lo cual es una receta para el desastre. Más tarde o más temprano, las deficiencias en tu aprendizaje saldrán a la luz y quedarás en ridículo.

Busca, copia y pega, pero entiende. Si hay algún concepto nuevo, búscalo. Si hay métodos o funciones que no conoces, investígalos haciendo tests y pruebas.

Persigue cada nueva palabra y concepto hasta llegar a su origen. Sólo así tendrás el espectro completo del lenguaje y el conocimiento suficiente como para entenderlo.

No busques atajos, no los hay

En muchas ocasiones he encontrado personas que prefieren aprender librerías y utilidades que se basan en JavaScript (el ecosistema) antes que JavaScript (la base) en si.

Entiendo que, por ejemplo, jQuery es más divertido y que tiene una API muy expresiva. Entiendo que, como las acciones realizadas con jQuery impactan directamente en el DOM, la persona que está aprendiendo tiene un resultado visual inmediato.

Estos y otros motivos son válidos pero, aún así, aprender jQuery —por ejemplo— antes que JavaScript es un error garrafal y demasiado común. No se puede comenzar a construir por el tejado.

En mis clases dedico mucho tiempo a aprender —vanilla— JavaScript y sólo entonces seguimos con librerías y frameworks. Te aconsejo lo mismo: atención plena a los fundamentos.

¿Los fundamentos son más aburridos?, quizás, pero es mucho más inteligente y profesional aprenderlos con seguridad. El alumno/a —o sea, tú— sale con un cocimiento mucho más amplio del lenguaje y no depende de una librería para poder trabajar.

Por ejemplo, nada de lo que se puede hacer con jQuery no se puede con JavaScript.

No caigas en la moda de los frameworks… todavía

Lo mismo ocurre con los frameworks, los cuales son un conjunto de utilidades que aportan muchos beneficios a la hora de desarrollar Apps.

Hay muchos frameworks, muchísimos. Todo el mundo habla de ellos y parece que lo más cool es dedicarles toda tu atención y, cómo no, comenzar con ellos. Es un error.

Por ponerte un ejemplo, debes entender que si no sabes JavaScript y te lanzas con Angular, Backbone, Ember o cualquier otro framework, no estás tomando un atajo, estás haciendo el imbécil.

No te dejes llevar por las modas. Todos las librerías y frameworks front-end que existen tienen algo en común: JavaScript. Dedícale el tiempo necesario para dominarlo y entenderlo y entonces podrás darte el lujo de jugar con cualquier framework presente y futuro, entendiéndolo.

Cómo aprender JavaScript y no morir en el intento

Entre la enorme cantidad de recursos existentes te voy a recomendar los que yo creo que te servirán a la hora de comenzar a aprender y entender JavaScript. Antes, sin embargo, debo recomendarte que obtengas —si no lo tienes ya— un nivel elemental de inglés leído.

El 95% del contenido relevante sobre JavaScript (y sobre prácticamente cualquier tema) se encuentra en el idioma de Shakespeare.

Si tu nivel inglés flaquea, añade Duolingo a tu rutina diaria (son 5~15 minutos) para llegar a dominar un nivel elemental que te permita consumir el mejor contenido y material docente.

El método

Material:

Si no te sientes a gusto con el inglés:

  1. Mi propia serie de vídeos sobre JavaScript esencial.
  2. CodeAcademy JavaScript Track.

Si te sientes cómodo con el inglés:

  1. Serie de libros You Don’t Know JS.
  2. Eloquent JavaScript.

Consejos

  • Dedica tiempo diario a tu proceso de aprendizaje. Si es posible hazlo como la primera acción de tu día (estarás más fresco). Si además puedes hacerlo siempre a la misma hora, crearás y reforzarás el hábito más rápidamente.
  • Durante tu aprendizaje te enfrentarás a innumerables conceptos nuevos. Algunos los entenderás a la primera, otros te costará más. En esos casos es vital consultar otras fuentes ya que a través de nuevas formas de explicar el mismo concepto es cuando se llega a entenderlo de verdad. Ese es el motivo por el que añado más de un recurso en la lista de material.
  • Practica, practica, practica. Es indispensable que crees tus propios ejercicios y que repliques constantemente lo que aprendes. Usa tu propio editor, JSBin, o la forma que quieras. No sólo te servirá para memorizar lo esencial sino que además comprobarás de verdad si has entendido algo o no.
  • Es importante recordarte que no debes continuar con el siguiente capítulo o tema sin haber entendido realmente el anterior.

Buscar ayuda

En algunos momentos de tu aprendizaje necesitarás ayuda ya que te encontrarás con conceptos que no entenderás del todo a la primera y, por muchas vueltas que le des e información que busques, sentirás que necesitas que alguien te eche una mano.

Hay multitud de lugares a los que puedes acudir. El más famoso sin duda es StackOverflow, una enorme comunidad de desarrolladores donde se formulan y responden miles de preguntas al día. Eso sí, está en inglés.

Otra herramienta muy valiosa es buscar en Google tu propia pregunta, escribiéndola con tus palabras. El 99% de las veces encontrarás resultados donde otras personas que han tenido la misma duda que tu han encontrado una respuesta. Aprovecha esa información.

Por último me gustaría ofrecerte mi ayuda en los momentos en los que la necesites. Todos hemos sido principiantes en algún momento y se por experiencia lo duro que puede llegar a ser algo tan ajeno como el desarrollo. No dudes en contactar conmigo.

Conclusión

Espero que este artículo te haya animado a aprender JavaScript.

No voy a sacar las cifras porque tú ya lo sabes. El perfil de desarrollador front-end está bastante bien pagado, así que como dije antes: este es el mejor momento.

Ánimo. No olvides mantenerme al tanto y pedirme ayuda si la necesitas. Estoy aquí para ayudarte.