Hace unas meses, cuando Antonio Ortiz, fundador & Director de Estrategia de Weblogs me preguntó sobre lo que el mercado demanda de un programador ahora y dentro de 10 años dí mi opinión al respecto de los tan demandados Full-Stack Developers.
Tal vez, cuestión de moda en las ofertas de empleo y en las bios, requisitos mínimos y deseados imposibles e incluso dos-tres desarrolladores en uno. Sea cual sea el origen, las empresas buscan cada vez más, desarrolladores más completos y ellos, lo saben.
En el apartado Occupation de la encuesta 2015 de Stack Overflow podemos ver que cuando se le pide a los desarrolladores que completen la encuesta y que se clasifiquen según su trabajo y lo que hacen; el 32,4% de los encuestados se considera full-stack developer, crecimiento progresivo desde el 2013. Y esto, ¿a qué se debe?.
Autodenominarse Full Stack Developer demuestra el interés (y no el ser experto) en todos los niveles de la aplicación
Daniel Pérez Álvarez, desarrollador que encontré bicheando por Github, y de esos españoles con mucho talento que decidieron marcharse fuera de nuestro país; me comentaba que es normal que un 32.4% de los desarrolladores se considere full-stack, porque cada vez es más habitual saber un poco de front-end y de back-end, sobre todo si se trabaja en un equipo pequeño. Por ejemplo, alguien que esté desarrollando un back-end con Ruby on Rails casi seguro que va a crear alguna vista HTML, y puede que también tenga que escribir un poco de Javascript. Esa persona se va a autodenominar "full-stack developer", aunque no sea un experto en tecnologías front-end.Y viceversa, alguien que esté desarrollando un front-end con Angular, igual tiene que modificar un endpoint de la API en el back-end, y se va a poner la etiqueta de "full-stack developer", aunque probablemente no entienda todos los detalles del back-end.
Para Daniel Pérez, la mayoría de los desarrolladores que se consideran full-stack es porque tienen una mínima familiaridad con las distintas capas de una aplicación, pero no quiere decir que sean expertos en todas ellas. Además, también puede que se autodenominen full-stack como expresión de su interés en todos los niveles de la aplicación.
Aunque las comparaciones sean odiosas, quería comparar UK con España para saber si la demanda de desarrolladores full-stack es también frecuente en otros países. Daniel Pérez, está trabajando en Londres y por lo que ve en su empresa y su conocimiento del mercado londinense, me confirma que es habitual la demanda de desarrolladores full-stack en los comienzos de una startup y en empresas que tengan proyectos pequeños. Es algo habitual porque se necesitan profesionales que puedan desarrollar rápidamente un prototipo inicial con el que explorar las ideas del producto y/o venderlo. Pero avisa de un riesgo; cuando ese producto crezca en complejidad y número de usuarios, la empresa va a necesitar expertos en cada una de las capas (DevOps, backend, frontend) porque si no es más que probable que se ralentice su crecimiento.
Para finalizar, Daniel me habla de este interesante artículo "The Myth of the Full-stack Developer" con el que coincide bastante su forma de pensar y se queda con esta cita:
The employability of a true full-stack developer: HIGH. The chances of finding a good full-stack developer: LOW. Smaller companies and startups NEED full-stack developers. Developers are often forced to acquire new skills when the resources simply aren’t available. I feel the problem for companies desperate to hire these guys and girls, is that the real multi-skilled developers are often lost in a sea of douchebags, claiming they know it all.
Foto: Charlton Heston, protagonista de la película Los Diez Mandamientos.
Ser especialista en backend o frontend, pero generalista en tecnología
De Londres a Berlín. De Daniel Pérez a Daniel Martín. Buscando desarrolladores PHP y soñando con elefantes morados, encontré a Daniel Martín Torres. Saber que estaba en Berlín en una de las incubadoras de startups más famosas de Europa, complicaba mi trabajo. Por muy atractivo que fuera el proyecto que yo quería contarle y la opción de volver a su tierra, no fue suficiente.
Lo estupendo es que hablar con Daniel me permitió conocer otra perspectiva; trabajar con tecnologías punteras y novedosas en Berlín es un must mientras que en España es un plus. Daniel Martín me comentaba que la proliferación de los desarrolladores full-stack, últimamente es debida a lógica evolución del desarrollo de software. Al principio fueron especialistas en un determinado lenguaje. Luego, con la proliferación de los proyectos web; el programador ya debía controlar varios lenguajes; uno que se ejecuta en el servidor (PHP, C#, Java...), Javascript para el navegador, además de HTML y CSS para el frontend. Es decir, puedes especializarte en backend o frontend, pero en general tienes que dominar varias tecnologías.
Curiosamente, Daniel Martín me comentaba que últimamente le habían empezado a llegar ofertas de empleo buscando ese perfil, y en contraste con lo que comentaba Daniel Pérez, son en general empresas grandes o ya asentadas. La explicación de Daniel Martín es porque cree que la principal intención de la empresa es no limitarse tecnológicamente. De esta forma, se aseguran tener personal capacitado para desarrollar en cualquier lenguaje, porque los proyectos pueden variar o evolucionar en cuanto requisitos técnicos. ¿Interesante, verdad? Sobre todo si lo comparamos con lo que ha comentado antes Daniel Perez, misma explicación pero desde el punto de vista del desarrollador.
Como recruiter, las reflexiones de ambos me han dado una visión imprescindible:
- Como nos etiquetemos dice mucho de lo que nos motiva. Por tanto, si un desarrollador se etiqueta como full-stack no está diciendo que se considere (ni sea) un experto en todo los niveles de una aplicación, está mostrando que le interesa trabajar tanto la parte back como front, pero seguro que su especialidad está en uno de los lados.
- Las empresas demandan desarrolladores más completos para no limitarse tecnológicamente. Sabemos que la búsqueda del full-stack en la mayoría de las startup es algo bastante habitual, de la misma forma que algunos desarrolladores no quieren limitarse tecnológicamente, las empresas tampoco.
Para finalizar y poniendo un poco de humor ácido a este tema. El Sketchnoter Developer, Javier López,me comentaba que encontrar “todoterrenos” es muy complicado si de verdad entendemos el concepto de calidad. No duda de su existencia e incluso que las empresas no lo necesiten, pero sí pone en duda que las empresas entiendan lo que pueden y saben hacer estos profesionales, y cuánto valora el mercado tener unos desarrolladores de estas características. Cree que lo mejor es no vivir engañados y reconocer que los pura sangre, tal y como es la definición de full-stack, hay pocos y si los hay, se pagan. Lo demás, es gente que sabe moverse por cualquier campo, pero que no es un especialista en cada uno de ellos.
Tal vez, a la hora de publicar ofertas de empleo, no deberíamos caer en la búsqueda del full-stack developer como si quisiéramos encontrar un bombero torero o a Moisés con el palo abriendo el Jordán.