Qué es ser Full Stack Developer

Publicado el 3 de agosto de 2023, por Antonio Rodríguez

A raíz de la publicación de nuestro informe de procesos, hemos querido indagar más en el rol de Full Stack, sus implicaciones y sus responsabilidades.

Uno de nuestros usuarios nos preguntaba el otro día por qué es el rol con menor tasa de éxito en nuestros procesos. 

Infografía obtenida de nuestro Informe de Procesos de Selección

La realidad es que no son muchos los procesos de Full Stack que nos demandan las compañías, y, por tanto, los procesos que no son exitosos impactan más en la métrica final, al ser la muestra más reducida. 

Más allá de todo esto, a lo largo de nuestros años de experiencia nos hemos percatado de que developers y compañías tienden a confundir o idealizar este término. Por eso, como siempre, queremos arrojar un poco de luz caracterizando el rol, hablando de salarios y de las situaciones idóneas para tener un equipo Full Stack.

Así pues, ¡zarpamos, grumetes!

1. Qué es ser Full Stack Developer

Vamos con dos definiciones, una que nos va a regalar nuestro estimado ChatGPT y la otra extraída de nuestra Guía de Roles:

  • Un desarrollador Full Stack es aquel que tiene experiencia y habilidades para trabajar en todas las capas de una aplicación o proyecto de software. Esto incluye tanto el desarrollo del lado del cliente (front-end) como el del lado del servidor (back-end). Un/a desarrollador/a Full Stack es versátil y puede asumir responsabilidades en todas las etapas del desarrollo de un producto o servicio.

Según nuestra guía de roles:

  • El rol de Full-Stack es un perfil generalista de ingeniería que suele requerir el trabajo con toda la base de código. Suelen encajar con personas interesadas en diferentes retos técnicos, en los que intervienen tanto el Backend como el Frontend.

Vemos varios denominadores comunes. La presencia tanto en el back como en el front, la capacidad de trabajo en toda la base del código y la versatilidad en el perfil. 
Podríamos hablar, también, de las soft skills que alguien Full Stack debería tener, como la capacidad de comunicación –para comunicarse con las diferentes partes del equipo–, la documentación, atención al detalle, pensamiento analítico y visión crítica y estratégica. Todas ellas orientadas hacia un mismo fin: entender el producto o servicio y el ciclo de desarrollo del software.

2. Tecnologías más habituales empleadas por un/a Full Stack

Las tecnologías empleadas por un/a Full Stack suelen responder a su finalidad: que tengan sentido como un todo. Es decir, como el/la Full Stack tendrá impacto en diversas partes del código, tiene sentido que las tecnologías que utilice para una complementen a la otra, y viceversa. 

Los stacks más popularizados en lo últimos años son los conocidos como MERN y MEAN. Porque combinan un mismo lenguaje para frontend y backend: Javascript.

  • MERN (MongoDB, Express, React y Node.js). Destaca por la versatilidad que ofrece. Emplea MongoDB como base de datos por su flexibilidad, Express como capa superior a Node.js para la creación de aplicaciones, React para el front y Node.js como tecnología que se encarga del back.
  • MEAN (MongoDB, Express, Angular y Node.js). Consta de los mismos lenguajes y herramientas, salvo que en el front se cambia React por Angular. 

Aunque también es común encontrarnos con stacks como, LAMP o combinaciones de Python/Django con Angular o Java + Vue.js, y muchos otros.

3. ¿Cuánto cobra un/a Full Stack?

¿Debería cobrar más un perfil de Full Stack que uno de Back o de Front? ¿Realmente lo hace? Vamos a tratar de arrojar algo de luz sobre la oscuridad salarial. 

Sirviéndonos de nuestra brújula salarial, la herramienta de Manfred que permite atribuir un salario medio a un rol según su experiencia, habilidades y otras características, hemos obtenido los salarios típicos para un/a Full-Stack Developer. 

Cabe resaltar que para que la brújula sea fiable está configurada de tal modo que solo muestre datos si hay más de 200 muestras de una búsqueda. Por ello hemos hecho esta comparativa sin incluir tecnologías concretas, únicamente años de experiencia, idiomas y roles.

Infografía propia a partir de datos de la brújula salarial

4. ¿En qué situaciones se necesita un/a Full Stack?

Cada compañía, cada situación a la que se enfrente y las necesidades en un momento determinado son un mundo. Es preciso analizar cada contexto de manera individual.

Los perfiles de Full Stack suelen disponerse en la conocida ‘T-Shape’. Un/a profesional ‘T-Shape’ tiene habilidades profundas y especializadas en más de un área técnica. Esto se une con ciertas soft skills que permiten a la persona adaptarse a equipos multidisciplinares

En esta estructura en forma de T, las habilidades técnicas de alguien están dispuestas como una variable vertical, la base de la T, que son los conocimientos más profundos, y una variable horizontal, que son los conocimientos que complementan. Por lo general, un/a Full Stack será más fuerte y tendrá unos conocimientos más profundos o bien en back o bien en front. 

Por ejemplo, puede haber alguien que comenzara trabajando como Backend y que con el tiempo haya ido aprendiendo y mejorando en tecnologías de Front. En este caso, su columna sería el Back y su complementaria el Front. Puede ser al revés. 

Ayuda tener claro no solo cómo se disponen las habilidades de alguien en este diagrama, sino a quién necesitamos para nuestro proyecto: queremos a alguien fuerte en back y que pueda ayudarnos sin problemas con el front, o queremos un/a Frontend sólido/a que trabaje para ayudar también a la persona de back que ya tenemos en nuestro equipo. 

Representación del diagrama T-Shape

Si puedes definir con claridad cuál de las dos variables será más importante en el rol que estás buscando, ¡entonces todo FETÉN!

Lo importante es entender que un/a Full-Stack Developer no es un mago/a, no es una persona que cubra dos roles por uno en cualquier situación. 

Hay determinadas situaciones en las que el rol del Full Stack encaja como anillo al dedo en una empresa. Puede ser que hablemos de una start up y el departamento tecnológico sea asumible por una o varias personas; puede que hablemos de una empresa de consultoría, en la que cada proyecto es diferente; o quizás se quiera incorporar a alguien para un rol de mantenimiento o actualización de proyectos. 

De nuevo, hemos de tener claro el denominador común. En ninguna de estas situaciones cubrimos dos roles con una sola persona, sino que la situación y condiciones hacen que un/a Full Stack sea idóneo para encargarse de un proyecto.

Un rol no puede entenderse sin su función dentro de una compañía. Actualmente, muchos equipos de ingeniería dividen sus aplicaciones en equipos diferenciados de frontend y backend. Pero en muchas compañías, el rol de full-stack sigue siendo clave y fundamental. 

Por eso, comprender en su totalidad un puesto requiere de entender el contexto en el que este se desarrolla.

Si necesitas que te echemos un cable porque tienes dudas acerca de tu carrera profesional o podemos guiarte en tus próximos pasos, escríbenos

Publicado el 3 de agosto de 2023, por Antonio Rodríguez
¡Súbeme!