¿Cuánto tiempo lleva aprender JavaScript para convertirse en desarrollador web?

Toma relativamente poco tiempo aprender JavaScript, pero toma mucho, mucho más tiempo aprender a programar, si aún no sabe cómo …

Aprender un lenguaje de programación NO es aprender a programar.

Escribir un programa es un proceso difícil. Se requiere mucha práctica para hacerlo bien.

En general, la programación es resolver una miríada de problemas que se interponen entre usted y su aplicación de software final. En el caso del desarrollo web, estos problemas se pueden dividir en varias categorías:

  • El diseño de la interfaz de usuario (UI) en el navegador web (del lado del cliente)
  • la aplicación que se ejecuta en el servidor web (el lado del servidor): este es el “back end”
  • puede haber, pero no necesariamente, un componente de aplicación que se ejecute en el navegador web: este sería el “front end”

El diseño de la interfaz de usuario se implementa con HTML y CSS (que son lenguajes de “marcado”), posiblemente con algunos JavaScript (utilizando una biblioteca como jQuery). Este código se descarga desde la aplicación del servidor web al navegador web en el lado del cliente.

También hay activos de software para la interfaz de usuario con los que puede tener que lidiar, como imágenes, texto y videos.

El navegador web se comunica con el servidor web a través de HTTP (Protocolo de transferencia de hipertexto).

Si el lado del cliente también tiene un componente de aplicación, esto incorporaría parte de la lógica empresarial que normalmente reside en la aplicación del lado del servidor. Si bien puede escribir este componente de aplicación en JavaScript sin formato, es más común usar un “marco” que hace mucho trabajo pesado por usted. Los ejemplos de dicho marco incluyen AngularJS y ReactJS.

La aplicación del lado del servidor también se puede escribir en un lenguaje como PHP, Java, Python o Ruby con la biblioteca estándar, pero es más común usar un marco como Laravel (para PHP), Spring (para Java), Django ( para Python) o Rails (para Ruby) para ahorrar tiempo y esfuerzo.

Cuando se completa la aplicación (tanto del lado del servidor como del lado del cliente), debe “implementarse”. Eso significa colocarla en el servidor web y configurarla según sea necesario. Esto puede involucrar muchos otros componentes, como:

  • base de datos, por ejemplo, MySQL o MongoDB (NoSQL)
  • servidor web, por ejemplo, Apache o Nginx o IIS
  • SO, por ejemplo, Linux o Windows

La programación implica muchas tareas, como análisis de requisitos, diseño de interfaz de usuario, diseño y arquitectura de programas, pruebas y depuración, implementación, configuración de herramientas de desarrollo, etc. Es mucho, mucho más que el lenguaje de programación que eliges.

Yo asumo eso:

  • El candidato es dedicado y está dispuesto a dedicar unas pocas horas al día a aprender y practicar.
  • El candidato está comenzando a aprender JS y web desde cero, solo .
  • El candidato aspira a ser productivo, no a entender la web en un nivel profundo.
  • El objetivo deseado es ser contratado y poder mantener un trabajo como desarrollador web junior de JS.

Tenga en cuenta que esta es solo mi opinión ciega sin datos de respaldo, además de mi experiencia y lo que veo.

  • Programador profesional en otro campo : conoce los conceptos básicos. Está acostumbrado a enfrentar desafíos difíciles y puede aprender rápidamente usando cosas de las que no sabe nada. Probablemente también conozca algo de programación funcional. 1 a 2 meses. Tiene experiencia, por lo que pedirá ayuda a un compañero de trabajo. Eso acortará el tiempo aún más.
  • Nueva licenciatura en CS: todavía no tenía trabajo. Tenía una asignación de JS, cree que lo sabe. También cree que será como máximo 1 mes. Aprenderá que comprender y hacer todo por su cuenta le tomará aproximadamente medio año o tal vez un poco más, antes de tener su primera aplicación significativa hecha. Por supuesto, solo tiene el 10% de las características planificadas (tenía expectativas muy altas) y una calidad de código de mierda (solo hazlo / copia y pega todo), pero tal vez sea contratable . Una pasantía de medio año con un mentor lo habría hecho perfectamente.
  • Novato a la programación : No tiene idea. Empieza a aprender y hay muchas posibilidades de que renuncie, a menos que, por supuesto, sea un aspirante o un ingeniero. 2–3 años. Si está dispuesto a pagar por un mentor, o sabe de cosas increíbles como http://codecamp.com, tal vez menos. Tal vez incluso 1 año.
  • Desarrollador JS : 3-5 días para leer sobre las tonterías / tonterías avanzadas y estúpidas de JS que los entrevistadores siempre preguntan, aunque no tienen nada o muy poco que ver con el desarrollo real del software.

Por supuesto, dependiendo de las habilidades del individuo, el tiempo real requerido puede ser significativamente menor (o más).

Supongo que en el día anterior a que Google fuera popular, los programadores tratarían de memorizar todo el idioma para que no tuvieran que hojear las páginas de sus libros cuando se atascaran. Ahora, con todos los marcos diferentes, probablemente nunca podrá codificar sin buscar cosas regularmente.

Lo que necesita saber son los conceptos: ¿quiero una matriz para esto? ¿Conjunto de niveles múltiples? ¿Quiero recorrer los datos? Obviamente, mucho más podría ir aquí.

Solo codifico en el lateral, pero hay diferentes formas de ver la pregunta. Me inclino hacia “Nunca seré competente en todo”, pero para responder a su pregunta hice el tutorial básico, luego 2-3 proyectos pequeños, luego 1 proyecto de tamaño mediano (alrededor de 500 líneas de JS) – Después de eso, yo Me sentí cómodo con mis habilidades para aprender todo lo que necesito para programar aplicaciones web.

No hay tal marco de tiempo. Depende del esfuerzo que estés poniendo. Aprendí javascript en 7 días trabajando de 4 a 6 horas al día. Pero conseguir un profesional requiere algo de tiempo.

Gracias

Solo dos noches.
Sí, solo tomará dos noches.
Pero hay una condición. Debes estar en el polo norte o sur de la tierra.

Feliz aprendizaje 🙂