Según Google Trends, el volumen de búsqueda de términos como, ¿Qué es Full Stack? y Full Stack Developer ha aumentado un 120% en los últimos 5 años. Este perfil se ha convertido en una especie de santo grial para todo tipo de empresas. ¿A qué se debe esta popularidad? ¿Se está quemando el término? Y lo más importante, ¿Qué es Full Stack y qué significa realmente ser un verdadero Full Stack Developer?
Empecemos por el principio.
¿Qué es Full Stack en realidad?
La expresión Full Stack surgió y se puso de moda hace algunos años en EE.UU. Se relaciona directamente con la programación y desarrollo web, a día de hoy es muy usada y “abusada”, así que es vital entender muy bien lo que significa. Para entenderlo dentro del mundo tecnológico, primero tenemos que entender la estructura o arquitectura de cualquier producto de software moderno.
Todo producto de software moderno que usas a través de tu móvil o de una web, es mucho más complejo de lo que crees y es mucho más que sólo una app o una web. Es un conjunto de ellas trabajando juntas. Usaremos como ejemplo, a Strava, una “app” (recuerda, es mucho más que eso) que sirve como red social para deportistas, donde puedes registrar tus actividades en distintos deportes.
La estructura que vamos a explicar es común a casi cualquier otro producto moderno de software, como por ejemplo Facebook, Google Drive, Spotify, Youtube, Whatsapp, Paypal, etc…
Backend
El backend es donde está de verdad la chicha del producto. Es equivalente a la trastienda de un negocio físico: no se ve, pero es de vital importancia. Es donde se guardan los usuarios, las actividades, las relaciones entre usuarios, los grupos, etc. Todo esto suele estar en la nube y hay lenguajes de programación y herramientas especialmente adecuadas para este componente.
REST API
REST API es un mecanismo de comunicación por el que tiene que pasar todo aquel quiera “hablar” con el backend.
Frontend
Los clientes son diferentes aplicaciones que nos permiten interactuar con el backend. Es lo que vemos. Algunos ejemplos son la app para Android, la app de iOS y la web. Todos son como ventanas que permiten que los usuarios interactúen con el backend. También hay lenguajes específicos para cada uno de estos clientes (Android, iOS o Web).
Si nos fijamos sólo en la parte web, tendríamos este corte del diagrama anterior:
En resumen ¿Qué es Full Stack?
Full Stack es una “pila completa”
Si te fijas, los diferentes componentes uno encima de otro, parecen una pila. Pila, en Inglés, se dice “Stack”, y Full Stack es “pila completa”.
Por lo tanto, el origen de la expresión Full Stack es para referirse a aquellos programadores web que sabían crear ambos sistemas, el backend y el cliente web (también llamado frontend).
En KeepCoding, usamos el término Full Stack de forma más amplia, para referirnos al profesional con una visión arquitectónica amplia y clara de los principales componentes con los que debe de trabajar en su área de especialidad. Algo como el arquitecto de la fábula.
Volviendo al ejemplo web, si sólo sabes algo de HTML y CSS, sólo podrás hacer el aspecto cosmético del cliente web, pero nunca su funcionalidad. Eres el esclavo de la fábula.
Si además sabes algo de JavaScript, normalmente usando un solo framework sencillo, como pueda ser Express.js, podrás hacer parte de la funcionalidad, mientras se use la única herramienta que conoces (Express). El día que eso cambie estás perdido. Eres el liberto de la fábula.
Sin embargo, si sabes Javascript en profundidad, HTML, CSS, programación backend con node.js, arquitectura de microservicios, React, bases de datos relacionales y NoSQL, autorización, código seguro, despliegue en la nube, creación y consumo de APIs REST y un largo etcétera, serás un Full Stack Web de verdad y serás el arquitecto de la fábula.
¿Cómo convertirte en Full Stack?
No te vamos a mentir, es un camino de mucho sudor y código, pero si estás dispuesto a seguirlo, en muy poco tiempo podrás convertirte en un desarrollador Full Stack. El mejor camino es un bootcamp de programación ya que es una formación intensiva que en menos de 8 meses te podrá llevar de 0 a 100 en cualquier área de la programación y además ayudarte a conseguir un mejor empleo. En KeepCoding llevamos desde 2012 impartiendo estas formaciones y con más de 50.000 alumnos en todo el mundo, podremos decirte que este es el camino ideal. Descubre cada detalle de nuestros bootcamps: