¿Cómo convertirse en un buen desarrollador web en 2017 (y 2018)? ¿Qué lenguajes y habilidades de programación debo saber?

Lo bueno de la programación es que, aunque sigue evolucionando, el proceso de aprendizaje es casi siempre el mismo.

Entonces, supongamos, por el bien de esta respuesta, que tienes 0 experiencia con cualquier cosa relacionada con la codificación. Sin HTML, sin CSS, sin WordPress, nada.

La forma en que debe abordar esto es la siguiente:

  1. Aprenda los conceptos básicos de cómo funciona un navegador. Esto lo ayudará a comprender lo que sucede detrás de escena cuando escribe en la barra de direcciones “http://facebook.com”. Es un concepto muy básico, pero muy importante. Este es un pequeño artículo bien escrito que lo guiará a través de todo. Comience con él y luego siga buscando en Google los bits que no entiende.
  2. ¡Guay! Vayamos ahora al meollo del desarrollo web. Lo primero que debe hacer es aprender cómo funcionan HTML y CSS. Estos dos tipos son tan fáciles, pero tan importantes de entender. HTML y CSS son dos de los idiomas en los que cada navegador tiene fluidez. Asegúrese de hablar con fluidez si desea tener buenas conversaciones con su navegador. Para conocer a estos dos tipos, recomendaría que sigan el plan de estudios de FreeCodeCamp. Es gratis y es genial.
  3. A estas alturas ya debería poder entender cómo armar una página web básica. Muy probablemente, tus páginas no serán muy bonitas. No temas más, amigo mío. Bootstrap está aquí para rescatarte. También puedes aprender sobre Bootstrap en FreeCodeCamp. Mi sugerencia aquí es más allá de lo que te piden que hagas (no voy a estropear nada). Juegue con él y pronto se dará cuenta de lo simple e importante que es este pequeño marco.
  4. Ahora sus páginas se ven más como 2017. Genial, hora de celebrar. Puedes comenzar a llamarte diseñador web junior . Vamos ahora a llevar esta muesca más lejos y te haremos un desarrollador web increíble. Para considerarte un desarrollador, necesitas saber al menos un lenguaje de programación (spoiler, HTML y CSS no son lenguaje de programación). El primero que todos deberían llamarse Javascript. Mi consejo es aprender los conceptos básicos de lo que se conoce como Vanilla Javascript (por ejemplo, Javascript simple y simple sin superpoderes). Haría esto nuevamente en FreeCodeCamp. Tenga en cuenta que Javascript experimentó un cambio bastante masivo recientemente (llamado ES6). FreeCodeCamp no se ocupa de eso (todavía). Para facilitarle la vida, aquí tiene una lista de recursos gratuitos que puede usar ( asegúrese de aprender primero el Javascript estándar, de lo contrario ES6 podría ser abrumador para usted) :
    1. https://javascript30.com
    2. https://egghead.io/courses/learn…
    3. https://laracasts.com/series/es6…
    4. https://watchandcode.com/p/pract…
  5. ¡Dulce! ¡Ahora ya sabes todo lo básico! Celebra, date una palmadita en el hombro. Es hora de decidir qué quieres hacer con tu vida de desarrollo. Básicamente, hay tres tipos de desarrolladores web:
    1. Desarrolladores frontend: estos chicos manejan toda la parte orientada al usuario de cualquier aplicación web. Tomando a Quora como ejemplo, la barra de navegación en la parte superior es frontal, los íconos son frontend. Este área de texto en la que estoy escribiendo es frontend. Algunos de los lenguajes y tecnologías que utilizan los líderes son: HTML, CSS y Javascript (sí, los conoce todos). Este es solo el comienzo. Para ser un desarrollador frontend listo para el mercado 2017/2018, necesitará aprender al menos un marco JavaScript moderno. Los más comunes son: Angular, React, Vue y Ember. Yo personalmente uso Vue porque me resulta mucho más fácil, pero esa es solo mi preferencia personal. Si desea obtener un trabajo como desarrollador frontend, su mejor opción será React, ya que en este momento es el rey de los marcos frontend.
    2. Desarrolladores de backend: estos chicos hacen toda la magia detrás de escena que hace que Quora realmente publique su pregunta después de presionar el botón “Enviar”. Sin backend, al hacer clic en ese botón no pasaría nada . El backend es lo que no ves, pero si no está allí, ¡te lo pierdes! Aquí es donde se pone interesante, por ahora, no estará familiarizado con muchas de las tecnologías de back-end más comunes. Los más populares y los que recomiendo en este momento son: PHP y Laravel, Python y Django, Javascript y Meteor o Ruby and Rails. Como principiante, creo que PHP / Laravel y Ruby / Rails son los más fáciles de comenzar. Personalmente, soy un desarrollador (orgulloso) de Rails y creo que, como principiante, es bastante fácil de entender.
    3. Desarrolladores Fullstack: estos chicos manejan tanto tareas frontend como backend.

Ahora te preguntarás: “Sí, claro, salud Andrea. ¿Cómo diablos sé si quiero ser un frontend o un desarrollador de backend? ¡No tengo ni idea! “. Bueno, amigo mío, la regla general que siempre he recomendado a las personas es que se hagan un par de preguntas:

  • ¿Me gusta diseñar y tener comentarios visuales de lo que hago? ¿Me ha gustado mucho diseñar la interfaz de los sitios web que he creado hasta ahora?
  • ¿Prefiero establecer la lógica de cualquier aplicación dada? ¿Estoy de acuerdo con recibir comentarios visuales de poco a nada?

Si las respuestas a las dos primeras preguntas han sido un fuerte ¡ INFIERNO SÍ! luego siga adelante y elija un marco frontend de su elección y comience a mojarse los pies. Si no le gusta trabajar con él, aún puede cambiarlo y probar uno nuevo.

¡De lo contrario, es mejor que aprendas backend primero! Elija una tecnología que parezca interesante y comience a aprender cómo funciona.

Si respondiste ¡ INFIERNO SÍ! a todas esas preguntas, bueno, podrías estar preparado para convertirte en un desarrollador fullstack. Aprenda algunos backend y frontend y se convertirá en un desarrollador junior fullstack.

¡Qué viaje pasaste! ¡De analfabeto informático a desarrollador web! ¡Felicidades! ¡Cuidado, sin embargo, que solo estás al principio! Las tecnologías cambian súper rápido y si quieres tener éxito debes mantenerte al día.

Por supuesto, hay mucho más que deberías aprender, sin embargo, te verás a ti mismo que mientras atraviesas este proceso paso a paso, enfrentarás algunos desafíos que automáticamente estimularán tu curiosidad por aprender más.

Mi consejo en este punto es usar tu imaginación . Piensa en algunos desafíos que tienes y crea aplicaciones web que puedan ayudarte con ellos. ¡Anótelos en su diario / evernote / lo que sea y comience a trabajar en ellos!

En realidad, estoy escribiendo mientras hablamos de una serie de publicaciones de blog donde paso paso a paso desde la idea de comercializarla. Por supuesto, esto será demasiado avanzado para tu yo actual, sin embargo, podría ser una muy buena lectura para tu futuro desarrollador web.


Utilicé esta respuesta como inspiración para escribir un libro electrónico más completo donde no solo explico el proceso (como en la respuesta anterior) sino que también proporciono lo que creo que son algunos de los mejores recursos para aprender. Ve a buscar una copia gratis aquí.

Realmente, puedes sobrevivir con lo esencial:

  • HTML
  • CSS
  • JavaScript

Pero, es útil saber sobre

  • Preprocesadores CSS (SASS, LESS, etc.)
  • Marcos de JavaScript (React, Vue.js, etc.)
  • Tecnologías de back-end (SQL, NodeJS, PHP, Python, etc.)
  • Control de fuente (GitHub, VCS, Mercurial, etc.)

Sin embargo, si puedes leer documentos y no estás completamente desesperado, esto te ayudará:

  • DESBORDAMIENTO DE PILA

Aprenda Javascript y luego familiarícese con todos los marcos web que se usan hoy en día como Node.js, React, Angular. Esto es lo que la mayoría de las páginas web usan hoy en día porque es muy fácil hacer algo. Sin embargo, todavía hay una gran necesidad del sitio oficial de Microsoft ASP.NET y las páginas del servidor Java porque son mucho más fáciles de integrar en aplicaciones de escritorio y son más fáciles de expandir.

Por lo tanto, si tiene que desarrollar un sitio en el que los usuarios puedan chatear, entonces debe usar algún back-end basado en Javascript o Python. Pero si su aplicación de servidor tiene varias capas o tiene que ejecutar un entorno distribuido, entonces usaría Java o C # porque tienen bibliotecas más ricas para eso.

Para el frontend, es posible que necesite saber HTML y CSS, sin embargo, hay muchas herramientas, plantillas que puede usar sin ningún conocimiento.

Por lo tanto, realmente depende de dónde desee trabajar, el frontend es Javascript / HTML / CSS, el backend ligero es Javascript / Python, el backend “Heavyweight” es Java / C #.

Ve a ver Free Code Camp …

Aprenda a codificar con cursos en línea gratuitos, proyectos de programación y preparación de entrevistas para trabajos de desarrollador.

Comienza desde el principio y le brinda todas las habilidades que necesita para obtener un trabajo de nivel de entrada como desarrollador web. Está diseñado para tomar aproximadamente un año, pero puede ir mucho más rápido si lo desea.

Este repositorio de Github ofrece la hoja de ruta completa para ser desarrollador web en 2017
kamranahmedse / desarrollador-hoja de ruta

Vea mi respuesta a una pregunta muy similar aquí: la respuesta de Matt West a ¿Qué tengo que aprender y en qué orden para convertirme en un desarrollador web de pila completa?

More Interesting

¿Qué es el alojamiento web? ¿Cuál es el ejemplo más simple?

¿Cuáles son los mejores temas gratuitos de WordPress para el sitio web de una iglesia?

Además de WPF, ¿qué otros marcos o idiomas puedo usar para una interfaz de usuario mejor y más rápida como FL Studio, etc. (software profesional)?

¿Hay algún ejemplo de grandes empresas que desarrollen software empresarial complejo con Angular 2?

¿Puedo migrar una base de datos de 600 GB en MySQL? ¿Cuánto tiempo lleva migrar?

¿Cuáles son las principales limitaciones de WordPress como plataforma de desarrollo web en comparación con la codificación en HTML, CSS y JavaScript?

¿Cuál es la mejor manera de probar el diseño web receptivo?

¿Cuáles son los mejores sitios de video tutorial de JavaScript pagados / no pagados que cubren contenido integral?

¿Cuánto tiempo llevará aprender Laravel Framework?

¿Qué es HTML CSS y JavaScript?

¿Debería centrarme en el desarrollo de stack completo ya que tengo 2 años de experiencia en frameworks Java y JS o elegir tecnologías avanzadas como IA, aprendizaje automático o big data?

¿Cuánto deberíamos esperar para automatizar 50 casos de prueba funcionales (cada uno con aproximadamente 25 acciones por prueba) si automatizáramos usando Selenium?

¿Cuál es su futuro en desarrollo / diseño web, si es bueno tanto en PHP como en la parte de diseño front-end?

Como desarrollador web, ¿qué herramientas consideró una pérdida de tiempo y cuáles son esenciales?

¿Vale la pena tener mi propio sitio web personal?