En una época los developers se identificaban con lenguajes: java developer, c-sharp developer, python developer, etc y algunos aún se identifican así.
Pero da la impresión que las nuevas generaciones ya no se identifican con lenguajes (¡bien!) sino con las capas de la aplicación (¡oops!): frontend developer, backend developer, etc.
Este último enfoque me resulta riesgoso, porque desde el punto de vista del usuario las aplicaciones tienen funcionalidades que requieren tanto de front como de back. Me parece bien que un developer se especialice en una capa siempre y cuando tenga también la capacidad de trabajar también en otras. En una palabra yo esperaría que un developer pueda hacer una funcionalidad de punta a punta y esto es justamente lo que no estoy viendo en muchos casos. Me ha tocado trabajar en equipos donde los developers solo tenían instalados en sus máquinas el runtime/ambiente para correr su capa. Este tipo de escenarios suele generar las siguientes situaciones:
- Un developer no puede estimar el esfuerzo de construir una funcionalidad completa porque solo conoce de una capa. Esto trae complicaciones de gestión y visibilidad hacía el usuario.
- Desbalance y tiempos muertos: el equipo se compromete a desarrollar un conjunto de funcionalidades que requieren distinto esfuerzo en cada capa haciendo que en un determinado momento los devs de una capa esten muy ajustados mientras que los de la otra estén sin trabajo y terminen trabajando en cosas de menor prioridad.
Estas situaciones no tienen que ver particularmente con los frontend-devs sino con esta separación en capas, pero que a mi parecer se manifiesta más fuertemente en los frontend-devs.
Mi recomendación es armar los equipos con fullstack-devs y en términos más generales con gente de perfil-T, o sea, especialistas en una cuestión (palito vertical de la T) pero con conocimiento general en el resto de las cuestiones (palito horizontal de T).
Pero en un postura de abogado del diablo alguien podría decir que el problema no es del chancho sino de quien le da de comer. O sea, la culpa no es de los «capa-developers» sino de las organizaciones que los buscan y arman equipos con ellos.
Continuará…
(nobleza obliga: algunas de estas ideas las terminé de redondear con mi colega Matias Gorostegui, gracias Goros)