¿Realmente necesito contratar un Fullstack Developer?
¿Cuál es la mejor opción para tu equipo?
El mundo del desarrollo de software evoluciona a un ritmo vertiginoso, y los roles y especializaciones han cambiado considerablemente en los últimos años. Un término que suele surgir en conversaciones sobre contratación y formación de equipos técnicos es el de Fullstack Developer. Podemos ver muchas empresas y ofertas de empleo buscando a una persona con este rol… Pero, ¿realmente existe este ser mitológico tan buscado por muchas empresas?
Para poder decidir que perfil tenemos que incorporar a nuestro equipo, lo primero que tenemos que hacer es pararnos y responder a ciertas preguntas de Capitán Obvio. ¿Que necesidades tiene mi equipo? ¿Que responsabilidades voy a pedir a esta persona? ¿Que tipo de proyectos afrontará?
Antes, las empresas preferían I-Shaped o especialistas super afinados en una sola área. Estos expertos son muy productivos en lo suyo, pero tienen un gran problema: cualquier cosa fuera de su especialidad es terreno desconocido para ellos. El mundo del desarrollo ha cambiado y existen muchas tecnologías y dispositivos diferentes para los que programar, con lo que tiene sentido que se busquen perfiles mas versátiles como el conocido Fullstack, pero antes de seguir veamos que responsabilidades puede tener este perfil.
¿Qué es un Fullstack Developer?
Es un profesional versátil que tiene habilidades en todas los ámbitos del desarrollo de software, pudiendo acometer responsabilidades de un Frontend Developer, un Backend Developer y hasta gestionar la configuración de servidores y bases de datos.
Esta versatilidad puede ser una ventaja y entiendo que cierta tipología de empresas necesiten este tipo de profesionales en sus equipos. Por ejemplo, para una agencia en la que sus proyectos sean “sencillos” y “rápidos” de entregar, tal vez un perfil de este tipo con la experiencia suficiente como para llevarlos a buen puerto puede ser suficiente y tener sentido.
¿Todo equipo / empresa necesita un Fullstack Developer?
Desde mi punto de vista la respuesta es clara. NO.
Lo primero, como comentaba anteriormente debemos de conocer bien las carencias del equipo / empresa y que responsabilidades voy a pedir a la persona que se incorpore. Si por ejemplo el equipo necesita conocimientos sólidos en el Frontend, dado que el resto del equipo cubre a la perfección el Backend, creo que no tiene sentido ir a por un perfil Fullstack, aunque en ocasiones tenga que meter mano al Backend.
Para empresas de producto en las que suele haber una relación constante entre departamentos, en la que tu implicación debe ir un más haya del puro desarrollo, a mi me gusta más hablar de un perfil llamado “T-Shaped”. Persona con fuertes conocimientos en un área pero que podrá apoyar y dar valor en otros aspectos.
Como dice el dicho, el que mucho abarca poco aprieta y esto nos llevará a encontrar a personas que no tengan conocimientos tan sólidos como perfiles más especialistas. A mi, para ser honesto, me gusta más hablar de un perfil denominado T-Shaped.
Guay, pero… ¿Qué carajos es un perfil T-Shaped?
Un desarrollador T-Shaped combina el conocimiento general en varias áreas (la barra horizontal de la "T") con una especialización profunda en una área específica (la barra vertical de la "T"). Por ejemplo, un desarrollador T-Shaped podría tener un profundo conocimiento en desarrollo Frontend, pero también entender conceptos de back-end, diseño UX e infraestructura...
“Jack of all trades, master of one”
Leyendo sobre esta tipología de perfiles me he encontrado con esta descripción que me parece muy acertada. “Aprendiz de todo, maestro de un área concreta” que es una adaptación de la bien conocida frase "Jack of all trades, master of none" que en español se traduce como "Aprendiz de todo, maestro de nada."
Este tipo de persona tiene muchas ventajas y puede aportar un valor tremendo a tu equipo o compañía. Será un perfil especialista en un área concreta pero además podrá ayudar y colaborar con otro tipo de perfiles dentro del equipo dando su opinión y punto de vista o incluso llevando a cabo en momentos puntuales ciertos cambios en una de esas áreas que no son su principal conocimiento.
Mi conclusión:
Considero que es MUY complicado encontrar un Fullstack completo. Ser efectivo, solido y autónomo en todas los ámbitos de los productos digitales que se desarrollan hoy en día es MUY complicado. Y no hablemos de salarios… si una persona con fuertes conocimientos en Frontend puede estar en un salario rondando los 50K, imaginaros lo que puede cobrar alguien que domine TODO.
Yo buscaría siempre una persona que se acerque a ese perfil llamado “T-Shaped” y más aun si trabajo en una empresa de producto. Creo que saber de todo con profundidad es casi imposible y más complicado todavía adquirir esos conocimientos en pocos años de experiencia (ni hablamos de meses).