Dos cosas a tener en cuenta …
1. Está bien saltar adelante.
Esta guía lo ayudará sin importar dónde se encuentre en su viaje para convertirse en un desarrollador profesional. Después de leer esta introducción, solo desplácese al título que mejor describa su situación y comience a leer desde allí. Si recién estás comenzando, o solo estás pensando en comenzar, entonces sigue los consejos del Rey de Alicia en el país de las maravillas …
“Comienza por el principio y continúa hasta llegar al final; luego se detiene.”
2. Probar rápidamente todo primero y luego especializarse.
El dinero no es lo más importante. ¡Necesitas ❤ AMAR ❤ lo que haces! Pero no sabrás lo que amas hasta que lo pruebes.
¡Felicidades! Este es un gran primer paso y el comienzo de algo muy emocionante. También puede ser totalmente abrumador. No te preocupes, estoy aquí para ayudar.
Su primer objetivo debe ser ponerse al día muy rápidamente con los conceptos básicos de todas las áreas de desarrollo web (a menudo llamado “la pila completa”). Aprenderás mucho, pero no muy profundo. Esto se trata solo de ayudarlo a encontrar el área que más le guste y desarrollar algunas habilidades generales en todos los ámbitos para que pueda apreciar y manejar una amplia gama de desafíos independientemente de dónde termine especializándose.
Aprender HTML básico
El lenguaje de marcado de hipertexto (HTML) es lo que controla el contenido y el diseño de lo que ve en su navegador web. Al comenzar allí, obtendrá una interfaz de usuario que puede usar para interactuar y ver los resultados de su código. A medida que aborde idiomas más avanzados, esto será cada vez más importante. No quieres estar codificando en la oscuridad.
Aquí está el HTML que necesita aprender primero (haga clic en los enlaces para obtener un tutorial gratuito):
- Empezando
- Etiquetas, atributos y elementos
- Títulos de página
- Los párrafos
- Encabezados
- Liza
- Campo de golf
- Imágenes
- Mesas
- Formas
- Poniendolo todo junto
Sé algo de HTML básico
¡Increíble! Ese es un primer paso importante. Ahora necesitas un poco de JavaScript básico.
Aprenda JavaScript básico
JavaScript es el idioma de la web, todos los principales navegadores web (Chrome, Firefox, Safari, IE, y muchos más) tienen compatibilidad con JavaScript incorporada. Cada sitio web o aplicación web que haya usado probablemente tenga muchísimo código JavaScript Detrás de eso. Sin mencionar que JavaScript también se está volviendo popular en otras plataformas, incluidos servidores, equipos de escritorio y dispositivos.
Por ahora, solo necesita lo básico, estos enlaces ayudarán:
- Hacer que las cosas sucedan
- Variables y datos
- Haciendo matemáticas
- Lógica
- Condicional
- Bucle
- Las funciones
- Objetos
- Matrices
- El DOM
- Eventos y devoluciones de llamada
- AJAX
- JSON
- Alcance
Conozco algunos JavaScript y HTML básicos
¡Fantástico! Pongamos un poco de CSS en tu haber.
Aprender CSS
CSS significa hojas de estilo en cascada. Se utiliza para personalizar el aspecto de los elementos HTML en su página. Siga este tutorial gratuito de Mozilla para obtener los conceptos básicos, y luego consulte CSS-Tricks con frecuencia para resolver los problemas CSS más difíciles (use la función de búsqueda en la parte superior derecha).
Mover al “Back End”
En este punto, has estado expuesto a lo que se llama “desarrollo web front-end”. Es decir, conoce los principales idiomas que se ejecutan en un navegador web. Es hora de pasar al “back end”. Cuál es el código que se ejecuta en un servidor. No se preocupe, no necesita un servidor para aprender esto, su propia computadora funcionará bien.
Hay muchos idiomas de back-end, pero como ya está familiarizado con JavaScript, le recomendaré que aprenda a usar Node JS. El nodo JS le permite ejecutar código JavaScript en un servidor (en lugar de en un navegador).
Además de Node JS, debe aprender sobre Express y Mongo DB.
Exprimir
Express es una biblioteca que facilita que Node JS actúe como un servidor web (es decir, escuche las “solicitudes” de sus páginas web y envíe “respuestas” a sus páginas web).
Mongo DB
Mongo DB es una base de datos. Le permite almacenar y recuperar información.
Puede aprender sobre Node JS, Express y Mongo DB, a partir de este excelente tutorial gratuito y su secuela.
Necesito elegir entre ser un desarrollador “Front End”, “Back End” o “Full Stack”.
Si ha estado expuesto a ambos extremos, es hora de tomar una decisión. De lo contrario, siga los consejos de la sección anterior para llenar cualquier vacío en su conocimiento.
Por ahora, has escrito dos tipos de código. Un tipo tiene que ver con la interacción del usuario. El otro tipo tiene que ver con la interacción de datos. ¿Qué tipo prefieres?
¿La interacción del usuario? ¡Felicidades, eres un desarrollador front-end!
Interacción de datos? ¡Felicitaciones, eres un desarrollador de back-end!
¿Ambos? ¡Enhorabuena, eres un desarrollador full stack!
¿Odiaste todo? Felicidades, convertirse en un desarrollador web no es para ti, alegrate de haberlo descubierto ahora en lugar de perder más tiempo y dinero. ¿Todavía no estás listo para rendirte? ¿Quizás aún no has encontrado un idioma que te encante? Pruebe algunos de los otros idiomas cubiertos en “Quiero ser un desarrollador de back-end”.
Quiero ser un desarrollador Full Stack
Guay. Debe leer y hacer todo lo que se indica a continuación. Quiero ser un desarrollador front-end y quiero ser un desarrollador back-end a continuación .
Quiero ser un desarrollador front-end y sé algunos JavaScript básicos, HTML y CSS
Para ser eficaz como desarrollador front-end, debe dominar HTML, CSS y JavaScript del lado del cliente. También necesitará dominar algunos marcos importantes. Esto le dará las habilidades que los empleadores y clientes esperan de los desarrolladores front-end.
A estas alturas, deberías saber algo de HTML básico. De lo contrario, regrese a Learn HTML básico.
Aprenda HTML intermedio y avanzado
Siga este tutorial HTML intermedio y luego este tutorial HTML avanzado para mejorar su habilidad.
Aprenda JavaScript avanzado del lado del cliente
¡Una gran serie de libros en JavaScript disponibles en línea de forma gratuita!
Para subir de nivel tu JavaScript, recomiendo la serie de libros, You Don’t Know JS de Kyle Simpson. El autor ha hecho que toda la serie esté disponible en línea de forma gratuita en estos enlaces:
- “Up & Going”
- “Alcance y cierres”
- “Esto y prototipos de objetos”,
- “Tipos y gramática”
- “Asíncrono y rendimiento”
- “ES6 y más allá”
Junto con esos libros, la referencia de JavaScript de MDN debería convertirse en su mejor amigo.
Conocer la “trifecta front-end” HTML, CSS y JavaScript es genial. Pero para comenzar a ganar dinero, deberá familiarizarse con algunos marcos.
Aprende jQuery
jQuery es la biblioteca JavaScript más popular de todos los tiempos. Aunque algunos marcos más nuevos hacen que jQuery sea menos relevante, si está buscando empleo, es probable que jQuery sea parte de la descripción del trabajo (y la entrevista) durante muchos años.
Recomiendo seguir la ruta jQuery en FreeCodeCamp para comenzar a aprender jQuery de manera rápida y efectiva. Después de eso, vaya al sitio de aprendizaje oficial de jQuery para obtener más instrucciones.
También querrás tener a mano los documentos de la API jQuery.
Aprenda un marco JS popular
Los marcos facilitan el trabajo con un lenguaje o tecnología en particular al abordar y resolver algunos de los mayores problemas con esa tecnología. JavaScript ha visto una gran ayuda en el desarrollo y popularización de frameworks.
Parece que cada semana hay un nuevo marco de JavaScript que se promociona como el próximo estándar de facto. Tendrá que consultar las bolsas de trabajo o buscar en Google para determinar cuál es el más popular para su mercado. Un buen lugar para consultar es la herramienta de tendencias de contratación de Hacker News.
Esto es lo que parece tener demanda al momento de escribir esto:
Tendencias de contratación de Hacker News
Reaccionar JS
React fue creado por Facebook para trabajar con su arquitectura Flux. Es una biblioteca de JavaScript para construir interfaces. Ha subido al primer lugar recientemente, superando a Angular. Entonces comienza con React. Hay un buen curso gratuito que presenta React aquí.
Angular 1 y 2
Angular JS fue creado por Google y realmente despegó tan pronto como se introdujo. Muchas empresas invirtieron mucho en el marco y, como puede ver en el gráfico anterior, sigue siendo muy popular. Desafortunadamente, Google sintió la necesidad de reescribir completamente Angular cuando construyeron la versión 2. Por lo tanto, Angular 1 y Angular 2 son casi como dos fraeworks completamente diferentes. Si quiere llamarse a sí mismo un experto en Angular, en este momento, necesita aprender ambos para ser realmente comercializable. Probablemente todavía haya una ventana de tiempo, donde solo conocer Angular 1 es suficiente. Pero esa ventana se está cerrando. La mayor parte del trabajo de Angular será en la transición de las bases de código Angular 1 a Angular 2. Code School tiene un curso gratuito y divertido para Angular 1. Para Angular 2, consulte esta serie de videos gratuitos para aprender los conceptos básicos.
Ember JS
Todavía hay bastantes trabajos para personas con experiencia en Ember JS, pero como puede ver en el gráfico, está comenzando a ser plano. No cuenta con el respaldo de un gigante como Google o Facebook, y tendrás las manos llenas con React y Angular. Aún así, si tiene curiosidad, puede seguir la guía oficial de Ember JS.
Una vez que haya elegido el marco que más le guste, y esté razonablemente familiarizado con él, puede valer la pena explorar un marco CSS que lo acompañe. Los dos jugadores dominantes en CSS en este momento son Bootstrap y Material Design.
Oreja
Bootstrap fue creado por Twitter y es bastante maduro y popular. Hay versiones de Bootstrap para Angular, Angular 2 y React.
Material
El material es una guía de diseño presentada por Google que está ganando terreno. También hay versiones angulares y reactivas. Dado que Google también publica Angular, encontrará que hay un ajuste natural allí.
Aquí hay algunos enlaces para comenzar.
- Reaccionar Bootstrap
- Bootstrap angular
- Angular 2 Bootstrap
- Material UI (Reaccionar)
- Material angular
- Material angular 2
¡Felicidades! Ahora tiene las habilidades clave necesarias para ser un desarrollador front-end.
Los idiomas en verde son donde debe centrarse. Si aún no conoce ninguno de estos, comience en la parte superior y vaya bajando. ¡Detente cuando encuentres uno que te guste y profundiza!
Si ya está familiarizado con un idioma verde en particular y le gusta, concéntrese en ese.
Java
Java es un lenguaje extremadamente popular y puede ejecutarse (casi) en cualquier lugar. Fue desarrollado por Sun Microsystems (ahora propiedad de Oracle ). Java es el lenguaje utilizado para construir aplicaciones de Android. También se puede usar para crear aplicaciones de escritorio y, por supuesto, se puede usar para construir aplicaciones web (ya sea como un back-end independiente o junto con JSP). Es maduro, estable y hay muchos recursos para aprender Java. También es uno de los lenguajes de programación orientada a objetos más ampliamente enseñados en colegios y universidades de todo el mundo. Aquí hay un curso gratuito de Java para principiantes, que es bastante bueno.
DO#
C # es un lenguaje creado por Microsoft para competir directamente con Java. Hasta hace poco, no era compatible con sistemas que no son de Microsoft, pero eso está cambiando rápidamente. Al igual que Java, está orientado a objetos y puede usarse para construir no solo aplicaciones web (ya sea como un backend independiente o junto con el sitio oficial de Microsoft ASP.NET) sino también para aplicaciones de escritorio. Si eres un usuario de Windows y quieres programar un ecosistema un poco más contenido, C # podría ser el camino a seguir. Echa un vistazo a este curso gratuito de Microsoft Virtual Academy.
Pitón
Aunque no tiene una compañía de renombre como Java o C #, Python es un gran lenguaje para hacer las cosas rápidamente. Es relativamente fácil de aprender y se está volviendo cada vez más popular cada año. Si no amas a los demás, este es un buen lenguaje para aprender. El mejor lugar para comenzar es aquí.
JavaScript
Si ha estado siguiendo desde el principio, ya hemos cubierto JavaScript. Con la llegada de Node JS y la popularidad de npm (Node Package Manager). JavaScript en el servidor solo se volverá más popular en los próximos años. Vale la pena aprenderlo.
Si no lo hizo antes, ahora es un buen momento para aprender sobre Node JS, Express y Mongo DB, a partir de este excelente tutorial gratuito y su secuela, es hora de hacerlo ahora.
Rubí
Ruby es un pájaro extraño. Las personas que lo aman, de verdad, de verdad, lo aman. Está en el top 10, pero parece estar disminuyendo su crecimiento. El lenguaje en sí es una mezcla entre la programación funcional y la programación imperativa. Recomiendo probarlo, tal vez te conviertas en uno de sus fanáticos acérrimos. Habrá mucho trabajo de Ruby en los años venideros. Pero es posible que desee verificar dos veces los listados en su área particular para asegurarse de que al menos algunas empresas hayan sido mordidas por el error Ruby.
El mejor lugar para aprender Ruby es RubyMonk
¿Qué hay de PHP ?
Hay una gran cantidad de PHP en el mercado, pero, al menos según este conjunto de datos, parece ser cada vez menos popular. Lo puse amarillo porque creo que, en este momento, sigue siendo una opción viable para desarrollar una carrera. Además, en aras de una divulgación completa, no soy un fanático de PHP, por lo que tal vez también haya aparecido algún sesgo personal, pero no puedo imaginar que en los próximos 5 a 10 años PHP sea más valioso que JavaScript , a pesar de que ocupa un lugar más alto en este momento y probablemente todavía habrá trabajos disponibles para los desarrolladores de PHP.
He aprendido mucho, pero no tengo experiencia en el mundo real.
Es extremadamente difícil conseguir un trabajo sin experiencia.
El primer paso es completar uno o dos proyectos personales, para sentirse cómodo construyendo cosas de punta a punta.
Cuando comienzas a construir proyectos personales, es útil tener una forma de administrar y publicar tu código. Para eso, necesitas GitHub.
GitHub
GitHub es un repositorio de código fuente en línea creado en la plataforma Git. Le permite almacenar, administrar y publicar su código. Si usted es desarrollador hoy, DEBE tener una cuenta de GitHub. Puede obtener más información sobre GitHub y cómo usar GitHub en esta guía “Hello World” y también en este tutorial interactivo sobre el uso de la plataforma Git.
Proyectos personales
Ahora que está configurado con GitHub, aquí hay un par de ideas de proyectos personales.
- Cree un blog simple (aquí hay un tutorial con React and Node)
- Cree un calendario simple (aquí hay un tutorial con C # y .Net)
Free Code Camp también tiene una variedad de proyectos para probar, incluidos algunos solo de front-end. Aquí hay dos de mis favoritos:
- Construye un reloj “pomodoro” (solo front-end)
- Administrar un Club de negociación de libros (proyecto de pila completa)
Experiencia real
A continuación, necesitas experiencia real . La experiencia real significa trabajar para alguien más. Los proyectos personales son útiles, pero no son suficientes para hacerlo competitivo en el mercado laboral. Hay algunas vías para ganar experiencia real .
1. Contribuir a un proyecto de código abierto
Gracias a la popularidad de GitHub, hay millones de proyectos de código abierto con problemas abiertos (errores) que esperan ser solucionados por alguien como usted. Poner en su currículum que ha contribuido a algunos proyectos de código abierto populares y conocidos, es una excelente manera de establecer y aumentar su credibilidad. El mejor recurso para descubrir a qué proyectos contribuir es Triage de código. Code Triage le permite elegir su proyecto favorito y le enviará un número abierto diferente directamente a su bandeja de entrada todos los días.
2. Trabaja para un amigo o familiar
Encuentre un amigo, o un miembro de la familia, que tenga un negocio y cree una aplicación web o sitio web, o mejore su existente. Solo asegúrese de elegir con mucho cuidado, debe elegir el proyecto del tamaño correcto y el miembro adecuado de la familia para evitar situaciones incómodas en el futuro. Idealmente, debe ser un proyecto que pueda completar en menos de 90 días y una persona con la que tenga una relación muy honesta. No debe tener miedo de admitir si las cosas no salen según lo planeado y no debe tener miedo o preocuparse por tener que decir “no” o decirles que “retrocedan” en ciertas solicitudes o expectativas. Además, debe asegurarse de que si alguno de ustedes y el rescate por cualquier motivo, no dañará permanentemente su relación.
3. Trabajo para organizaciones benéficas / sin fines de lucro
Una forma muy gratificante de obtener experiencia real es hacer algún trabajo para organizaciones sin fines de lucro y / o organizaciones benéficas. Puede acercarse a una organización benéfica local o sin fines de lucro que le guste y ofrezca su ayuda. También puede usar el sitio Catch a Fire para encontrar un proyecto en el que pueda ayudar. Finalmente, si sigues el programa en Free Code Camp y obtienes todos sus certificados, obtendrás acceso a proyectos sin fines de lucro en los que puedes aprovechar tus habilidades.
4. Trabajo esclavo
Lo confieso, es un título un poco descarado para lo que voy a sugerir aquí, pero en mi experiencia, si tomas esta ruta y luego consigues un trabajo o trabajas por cuenta propia, lo mirarás como trabajo esclavo, sin lugar a duda. Sitios como Upwork, Fiverr y PeoplePerHour le brindan la oportunidad de ganar negocios, pero tendrá que mantener sus tarifas muy bajas y aceptar que solo está haciendo esto por la experiencia.
Tengo una experiencia real, por favor ayúdame a encontrar empleo.
Regla # 1 – No te llames un “desarrollador web”
Mira esto…
fuente: Indeed.com
¿Qué diablos es la diferencia entre un “desarrollador web” y un desarrollador “front-end”? Bueno, aproximadamente 7000 $ / año aparentemente. En serio, cuando llegue el momento, un simple cambio en lo que te llamas a ti mismo puede hacer una gran diferencia.
Tener un buen currículum
A pesar de todas las historias que lees sobre personas que hacen locuras y locuras para llamar la atención de un empleador, aún necesitas tener un buen currículum. Este artículo de Tech Republic lo ayudará con eso.
Construye un sitio web de cartera
Más importante que tener un buen currículum es tener un sitio web de cartera fuerte. Tome todos los proyectos reales que ha realizado y póngalos en una página de inicio personal que los muestre. Este artículo de SitePoint ofrece algunos buenos consejos sobre cómo crear un sitio de cartera. La otra cosa que destacaría es que debe asegurarse de resaltar cómo cada uno de sus proyectos resolvió un problema comercial para su cliente (o empleador). Haga eso, y su sitio de cartera se mantendrá por encima del resto.
Prepárese para codificar entrevistas
Mi artículo anterior, Cómo ganar la entrevista de codificación, lo ayudará con eso.
Mejora tus habilidades generales de entrevista
Debe estar preparado para algo más que la parte de codificación. Esta pieza de Life Hacker es una buena hoja de ruta para mucha información valiosa e importante.
Solo pon tu pie en la puerta
No se preocupe por conseguir un trabajo con el empleador de sus sueños con el salario de sus sueños de inmediato. Solo preocúpate de que te paguen por escribir código por un tiempo. Una vez que tenga más experiencia en su haber, puede comenzar a considerar su próximo movimiento.
Quiero convertirme en un profesional independiente.
Ser su propio jefe es algo increíble, pero también viene con una tonelada de presión y complejidad adicionales. La mejor fuente de información sobre trabajo independiente que he visto es DoubleYourFreelancing.com por Brennan Dunn. Tiene una serie de artículos que lo guiarán para convertirse en un profesional independiente mejor que cualquier cosa que pueda escribir aquí. Entonces, échales un vistazo.
Otra opción para trabajar independientemente, si crees que eres realmente bueno, es unirte a Toptal. Solo aceptan el 3% de los solicitantes y su proceso es notoriamente difícil, pero si ingresa, tendrá acceso a muchas oportunidades independientes bien remuneradas donde puede trabajar de forma remota.