Según la "Developer survey 2016" de StackOverflow, una mayoría de desarrolladores se consideran a sí mismos "full-stack developers", un perfil intrínsecamente senior, muy exigente en conocimientos y con alta demanda en el sector.

Hablamos de un desarrollador capaz de diseñar e implementar proyectos tanto en el lado servidor como en el lado cliente, lo que implica conocer los puntos fuertes y débiles de cada tecnología y mantenerse actualizado según estas vayan evolucionando y/o aparezcan otras nuevas.

Con la evolución tecnológica del Web stack, mantenerse actualizado y productivo en el front y en el back-end resulta cada vez más complicado, hasta el punto de cuestionarnos si poder cumplir esas expectativas ya es más un mito que una realidad.

Cover-Image

Fuente: www.packtpub.com

Orígenes del Full-stack Developer

Cuando se creó este perfil, a principios de los años 2000, las tecnologías Web eran claramente menos complejas y las opciones entre las que escoger, menos numerosas:

En este contexto era perfectamente posible para un mismo desarrollador asumir la responsabilidad de todo el desarrollo.

El perfil full-stack había nacido, haciéndose popular con la expansión de Facebook, la cual, aparentemente sólo contrataba desarrolladores con este perfil.

Evolución Tecnológica

Desde entonces, la evolución de las tecnologías front y back-end ha sido considerable:

o Java. Los frameworks JS modernos son casi tan complejos como los del back-end, como prueban las curvas de aprendizaje de AngularJS o Ember, empezando desde cero, o la relativa facilidad de adaptación de los developers back-end que se pasan al front.

FullStack-Image

Fuente: www.carlosja.com

Conclusiones

Aún con este panorama tecnológico tan amplio, el desarrollador con vocación full-stack aún tiene alguna posibilidad. Un ejemplo de ello es que, escogiendo bien el stack de tecnologías, ahora se puede utilizar el mismo lenguaje en todos los contextos del desarrollo: Javascript en el cliente desktop (DOM), en el cliente móvil (Cordova, React Native), en el servidor (Node.js) o en la BBDD (MongoDB).

Y sin embargo, esperar que una misma persona pueda escoger las tecnologías óptimas en toda circunstancia, realizar los desarrollos front y back con alta productividad y todo en un plazo de tiempo razonable, parece algo cada vez menos realista.

Sin negar que siga habiendo casos en los que esté justificado un perfil full-stack clásico, como en start-ups creadas en torno a un stack concreto o en proyectos más pequeños, ¿no deberíamos jubilar definitivamente este perfil tal y como lo conocemos?

¿O quizás solo es cuestión de buscar una nueva etiqueta para alguien que, teniendo que conocer hasta cierto nivel todas las capas, su responsabilidad principal sea sólo integrarlas?

Cuéntanos qué te parece.

Enviar.

Los comentarios serán moderados. Serán visibles si aportan un argumento constructivo. Si no estás de acuerdo con algún punto, por favor, muestra tus opiniones de manera educada.