Saltar al contenido

Desarrolladores de la pila completa: ¿Existen realmente?

Es probable que no sea la primera vez que veas un titular sobre el debate de los desarrolladores, pero es uno que merece atención. Hablemos de cómo este papel puede convertirse en una muleta para las empresas y por qué podría querer evitarlo.

La historia de fondo

Tradicionalmente, las empresas contrataban a promotores y personal de operaciones para desempeñar funciones muy específicas. La organización de un proyecto de software consistía en que cada uno pasara las tareas a la persona con la experiencia pertinente. El proyecto típico consistía en que varias personas resolvieran problemas muy diferentes. Esto podía incluir a los desarrolladores del front-end, los desarrolladores del backend, los administradores de bases de datos y los administradores de sistemas. Cada miembro del equipo conocía su área específica de adentro hacia afuera, y tal vez incluso un poco fuera de eso. Pero sólo porque alguien supiera un poco sobre otra área, eso no significa que asumieran un papel adicional. Nunca habrías visto a un diseñador de UX jugando con una tabla de base de datos o un desarrollador de PHP tratando de usar tablas en una página web.

Desarrolladores de la pila completa: ¿Existen realmente?
Desarrolladores de la pila completa: ¿Existen realmente?

Y entonces las cosas cambiaron.

Hace unos cinco años, Carlos Bueno de Facebook 'tico publicó The Full Stack, animando a muchas empresas a empezar a buscar "full stack" desarrolladores. Pero espera, ¿qué es exactamente un desarrollador de la pila completa? En pocas palabras, es exactamente lo que parece: Alguien que se espera que lo sepa todo; un Jack de toda la tecnología, por así decirlo. Se supone que esta persona debe entender cada capa que compone la pila de desarrollo completa desde la base de datos hasta la interfaz de usuario. Suena genial, seguro, pero hay una razón por la que este concepto finalmente falló; fue una muleta para la mala comunicación.

El problema

El desarrollo de una única aplicación Web de gran uso es una tarea enorme. El proceso, cuando se hace correctamente, requiere múltiples trabajadores con conocimientos a nivel de experto, que puedan comunicarse eficazmente a lo largo del proyecto. En pocas palabras, no hay manera de que una sola persona pueda saber cómo manejar cada pieza de la pila. Me parece que las empresas estaban tratando de salvar un proyecto que fracasaba. Tal vez los tipos de la parte delantera estaban constantemente discutiendo con los de la parte trasera sobre el rendimiento. Tal vez los chicos de la base de datos querían toda la lógica en la base de datos en lugar de en el código, y tal vez los administradores del sistema se quejaban de que usaban demasiada memoria en el servidor.

En lugar de trabajar para mejorar la comunicación del equipo, las empresas se volcaron a la idea de alguien que pudiera hacerlo todo. Es un pensamiento de ensueño, seguro que puedo ver el atractivo. Pero eso no compensa el hecho de que no funciona tan bien en el mundo real.

La solución

Un equipo exitoso consiste en expertos en cada capa de la pila; personas que pueden expresar eficazmente sus objetivos, y que también pueden entender los objetivos del resto del equipo. La mala comunicación es una razón común para los proyectos fallidos.

La solución consiste en volver a un método más tradicional de manejar los proyectos. Implica dejar de lado la idea de que hay una persona con suficiente habilidad para reemplazar a todo un equipo. Las empresas, los supervisores y los miembros del equipo deben trabajar juntos en una mejor comunicación.