Ten en cuenta que ser fullstack no es hacer todo y tampoco dominar todas las tecnologías. Porque querer ser fullstack es como entrar a un buffet de "come todo lo que quieras"
con ganas de acabarte todo para darte cuenta a los minutos que no puedes más y tienes el estómago reventando. Es mejor ir con calma, escoger tu combinación perfecta de platillos y disfrutar del buffet.
Lo mismo con ser full stack, si quieres aprender de todo vas a terminar indigestado, sin saber nada bien, picoteando de aquí y de allá pero sin profundizar en nada. Luego eso se convierte en una pérdida de tiempo al estudiar y en burnout.
Así que para ayudarte a navegar en este mar de tecnologías del fullstack (aunque nadie sabe qué es fullstack) hemos preparado este blog.
Entonces, ¿cuál es la ruta definitiva para ser full stack?
Repite conmigo: no existe una ruta para ser full stack, existen muchos caminos y te toca elegir el tuyo. Quien te diga que hay una ruta, miente. Incluso, recuerda que más que ser full stack lo que necesitas es entender completo todo el ciclo del desarrollo web para saber en qué especializarte. Por lo que este blog no es para decirte que tomes todos los cursos de esta lista, sino que puedas entender las tecnologías y escoger tu ruta.
Además, recuerda que solo hasta mañana (1 de septiembre) todos los cursos para ser full stack tienen un 40% de descuento en EDteam. No los dejes pasar, aprovéchalo en 👉 ed.team/fullstack
1. Curso obligatorio: La ruta del desarrollador web (gratis)
Para entender los conceptos y tecnologías del desarrollo web este es tu curso. Aprenderás como funciona la web, qué tecnologías se usan. Qué es GIT, las bases de datos, que es frontend y backend, qué lenguajes se utilizan, que es el estado de la aplicación, server side rendering y client side rendering y muchas cosas más. Este curso es gratis y único en español. Empieza a estudiarlo en 👉 ed.team/cursos/web (incluye certificado).
2. Cursos transversales
Recordemos que full stack significa (o se supone que significa) frontend + backend. Así que independientemente de si quieres ser full stack, backend o frontend (o un megazord fusionado con las tortuninjas) estos son los cursos que deberías tomar y que todo desarrollador web debería comprender sin importar su especialización.
- HTML El lenguaje con el que se creó la web, se usa para estructurar la información y hacerla accesible y semántica. Deja las discusiones inútiles de si es un lenguaje de programación o no, lo tienes que aprender sí o sí.
- Programación desde cero Para ser un desarrollador web tienes que saber programar. Pero un error común es comenzar con un lenguaje y no con la lógica y los fundamentos. En EDteam tienes un curso 100% gratuito para comenzar con la programación. Miles de personas comenzaron su carrera con este curso y ya están trabajando en la programación.
- JavaScript El lenguaje para la web por excelencia. Podrías no aprender más lenguajes que JavaScript y ser fullstack porque funciona en servidor, cliente e incluso en bases de datos.
- Git Un buen programador que no sabe Git va a tener muy difícil conseguir un buen trabajo porque con Git se lleva el control de los cambios de un proyecto y gracias a Git varios programadores pueden trabajar en el mismo proyecto.
- SQL Las aplicaciones web necesitan bases de datos para almacenar su información y las más usadas son las SQL o relacionales. No importa si quieres ser frontend, debes saber por lo menos lo básico de SQL.
- Administración de servidores Linux En el mundo web las probabilidades de que trabajes con Linux son más del 90%. Incluso si trabajas con tecnologías Microsoft como .NET puedes desplegar a Linux. Así que Linux va a la lista de tecnologías obligatorias.
- Manejo de la terminal Si vas a usar Linux como programador, casi siempre interactuarás por la terminal y no por una interfaz gráfica de íconos y menús. Si te intimida la terminal tenemos un curso 100% gratis para que le pierdas el miedo y veas que es más fácil de lo que pensabas.
3. Rutas para ser frontend
Como ya debes saber, el frontend es la parte del desarrollo web que ocurre en el cliente (en el navegador). Y puesto que los navegadores web actuales son muy potentes, el frontend es cada vez más complejo (sobre todo porque hay que hacer que tu código funcione en todos los navegadores).
Un programador frontend tiene entre sus responsabilidades la implementación de la interfaz, comunicarse con el backend a través de una API, el manejo del estado de la aplicación, la interacción con el usuario y la lógica del lado del cliente.
Las tecnologías y cursos que debes aprender son:
- HTML, CSS y JavaScript Las tres tecnologías web. Son los únicos lenguajes que el navegador comprende. HTML para estructurar la información. CSS para hacer hermosas las páginas web (no menosprecies CSS, sin él la web seguiría siendo texto feo e imágenes cuadradas) y JavaScript para darle vida a la web, es decir agregarle programación para que los usuarios interactúen y conectarse con el backend y los datos.
- TypeScript A pesar de que JavaScript tuvo su época dorada, muchos programadores lo miraban mal principalmente por su manejo de los tipos y la programación orientada a objetos. TypeScript es un superset de JavaScript, que le agrega estas características y varias más. Además, es usado en casi todos los frameworks.
- Frameworks y librerías: Angular, React, Vue Hoy por hoy no basta JavaScript ni TypeScript, sino que las empresas están usando frameworks para escalar su frontend (recuerda, el frontend actual es sumamente complejo). Por lo que debes escoger el camino de React (el más demandado por el mercado), Angular o Vue.
- Testing con JavaScript El testing es una de las características que separa a un junior de un senior. El junior quiere que las cosas funcionen, el senior quiere que funcionen bien, hoy, mañana y dentro de un año. Por lo que debes aprender a hacer testing a tu código.
4. Rutas para ser backend
Si no hay un solo camino en el frontend donde solo existen tres lenguajes (y solo uno de ellos es de programación), imagínate en el backend donde hay muchos lenguajes, framewors, ORM, etc.
El programador backend se encarga de la conexión a la base de datos, de la seguridad de la información, el rendimiento de la aplicación, de programar las API y de la lógica de negocio.
Las tecnologías y cursos que debes aprender son:
- Backend con Java Java es históricamente el lenguaje más usado en el backend principalmente por grandes empresas. Además, Java es uno de los lenguajes preferidos en microservicios y está en el top 5 de los lenguajes más populares en todos los rankings. Para desarrollo web necesitas Java Enterprise Edition (Java EE) y Spring como framework. Empresas como Twitter o Netflix usan Java.
- Backend con Python Python es un excelente lenguaje para el backend, muy rápido de aprender y veloz en su ejecución. Además, con Frameworks como Django o Flask, el desarrollo web es muy divertido (y poco verboso). Empresas como Instagram, Spotify o Pinterest usan Python en su backend.
- Backend con JavaScript Gracias a Node.js puedes llevar a JavaScript al backend y usarlo en todo el stack de la aplicación. Existen además frameworks como Express, Next (para React) o Nuxt (para Vue) que ayudan a hacer server side rendering de las páginas. Compañías como PayPal, Uber o Airbnb usan Node.js
- Backend con PHP PHP es el lenguaje de backend con mayor cuota de mercado (principalmente gracias a los CMS como WordPress). Si bien tuvo una época en que bajó su popularidad, gracias a Laravel resurgió demostrando que es un excelente lenguaje y solo le faltaba un gran framework. Una empresa muy famosa que usa PHP es Slack.
- Backend con Go Go es un lenguaje de Go que combina lo mejor de lenguajes como C y Python, con lo que se consigue un lenguaje veloz, con una sintaxis amigable y capaz de soportar una gran carga de usuarios. Go es usado por compañías como Dropbox, Twitch, Mercado libre o EDteam.
- Backend con Ruby Ruby es un lenguaje con una sintaxis que alcanzó una gran popularidad con el framework Ruby on Rails (que sirvió como inspiración para Laravel) y su sencilla gestión de paquetes (las gemas). Ruby es usado por compañías como Stackshare, 37 signals o Shopify.
- Backend con C# y .NET El lenguaje estrella de Microsoft (con el perdón de TypeScript) es una de las opciones más queridas por los programadores web. Además que la plataforma .NET no solo se usa en el desarrollo web sino para múltiples plataformas (y es Open Source). Empresas como Microsoft, Samsung o StackOverflow usan C#.
- API Rest y GraphQL Finalmente, uno de los roles principales de un backend es crear las APIs que exponen la información que será consumida por el frontend. El tipo de API más usado es REST y en EDteam tienes cursos para crear APIs REST con todos los lenguajes (y un curso gratuito para que conozcas los conceptos básicos). Una alternativa a las API REST es GraphQL. Si quieres saber un poco más, tenemos un video que son las API en YouTube y otro de qué es GraphQL.
5. Bases de datos
Para terminar hablemos de bases de datos. Porque, aunque suele empaquetarse dentro del backend, las bases de datos son una especialización en sí misma (de hecho muchos programadores backend utilizan un ORM como ayuda).
En bases de datos lo primero que debes aprender es el diseño de las bases de datos relacionales y el lenguaje SQL. Estos conceptos se aplican por igual a todos los motores de bases de datos entre los que puedes elegir a MySQL o Postgres (Open Source y gratuitos) o SQL Server de Microsoft y Oracle Database de Oracle que son de pago.
Todos estos motores usan SQL con pequeñas diferencias que extienden SQL para agregarles funcionalidades propias, SQL Server usa TSQL, Oracle usa PL/SQL y Postgres PL/PgSQL.
6. Otras áreas relacionadas
Existen areas adicionales que no corresponden estricamente ni a frontend ni a backend (pero que sí son parte del desarrollo web) por lo que no entrarían en el full stack pero, ya que no hay un consenso de qué es full stack te las comento para que tengas un panorama general.
UX / UI
Los profesionales de UX se encargan de investigar las necesidades de los usuarios y probar las aplicaciones con usuarios reales para saber que cumplen con los requerimientos. Mientras que UI lleva esas investigaciones a una interfaz (a un diseño). Estos son los cursos recomendados en EDteam:
- UX para principiantes
- UX: de la metodología a la práctica
- Diseño UI desde cero
- Figma desde cero
- App de delivery con Figma
Infraestructura / Cloud
El cloud computing y toda la infraestructura para desplegar una aplicación es un rol con mucha demanda ya que todas las aplicaciones terminan en la nube. Así que mientras más apps se desarrollen, más demanda de profesionales en nube habrá. Si quieres saber más de qué es la nube, te recomiendo este video en nuestro canal de YouTube: ¿Qué es la nube y cómo funciona (cloud computing)?. Estos son los cursos que te recomendamos:
- Linux desde cero
- Administración de servidores Linux
- AWS
- Azure
- GCP
- Docker
- Kubernetes
- Microservicios
- CI / CD
Conclusión
Recuerda que este post es como el buffet del que hablamos al inicio. No esperamos que comas todo porque te vas a indigestar. Esperamos que conociendo el panorama general tengas la capacidad de elegir las tecnologías y cursos que tomar y no te abrumes con tantos lenguajes, frameworks y tecnologías.
Pero si aun te quedan dudas déjalas en los comentarios y seguimos conversando.
Y aprovecha el 40% de descuento en todos estos cursos solo hasta el 01 de septiembre. ¡No lo dejes pasar!
Descarga los recursos del artículo
📥 Mapa mental con toda la ruta para ser Fullstack
Descargar gratis