intive Argentina Blog

Los nuevos superpoderes del desarrollador

Históricamente, las empresas se han manejado bajo una cadena de comando bastante acotada. Esto proviene de varias escuelas de administración tales como la de Taylor, que buscaban que el operario fuera controlado tanto como fuese posible para extraer su máximo rendimiento. Con el pasar del tiempo, este tipo de metodología estructurada de trabajo demostró ser muy útil en áreas de producción, como fábricas o, posteriormente, cadenas de comida rápida (seguro ya se les vino a la mente la famosa M amarilla), ya que las tareas a realizar en esos casos eran sumamente mecánicas.

Salteándome varios acontecimientos importantes, nos encontramos con que los tiempos han cambiado y, ahora son mucho más dinámicos. Gran parte de las tareas que se requieren realizar ya no son mecánicas, sino que son más bien de índole creativa. Dentro de estas tareas, obviamente se encuentran el diseño y la programación. Si bien esta última tiene fama de ser muy estructurada, la realidad es que demanda mucha creatividad e interrelación de conocimientos para realizar algo que funcione, respete los estándares y las buenas prácticas, performe correctamente y sea seguro, mantenible, reutilizable y escalable. Por eso mismo, en áreas de la programación se inventó la metodología Agile, que busca justamente romper con este paradigma del jefe que funciona como la cabeza y los operarios que vendrían a ser sus manos.

La metodología Agile

El paradigma de Agile parte de una premisa: los equipos deben ser autodirigidos, no existe una figura de jefe controlador, sino que el jefe es el mismo equipo en conjunto. Después de todo, diez cabezas piensan mejor que una. Agile también plantea otro cambio fundamental: dejar de utilizar etiquetas de puestos como que bien podrían simular una línea de ensamblaje («Programador», «Analista funcional», «Tester», «Seguridad», «Maquetador», «Implementación», «SysAdmin», «DBA», etc) para comenzar a utilizar solamente tres figuras: el development team, el Scrum Master y el Product Owner. Si uno analiza esto, puede fácilmente notar que en las metodologías tradicionales cada uno tenía una tarea específica de la cual no podía desviarse: la entrada de uno era la salida del otro. Dentro del marco de Agile, en cambio, hoy por hoy es muy usual que el development team asuma el 100% de las responsabilidades de todos aquellos roles antes mencionados. Y ¿cómo es que llegamos a lograr este cambio? La respuesta está en un concepto que se conoce como T-Shape.

T-Shape

Al concepto T-Shape lo acuñó allá por el 2009 Tim Brown. Se usa mucho en metodologías ágiles y hace referencia a que cada miembro de equipo debe ser capaz de tomar distintas tareas, a la par de especializarse en un área. El «|» de la «T» alude al área de profesionalización, el área donde la persona es experta. Los costados de esta T vendrían a ser los conocimientos que tiene de otras áreas para colaborar con ellas.

En el development team, todos los miembros deben ser capaces de realizar todas las tareas. Hoy, el «software engineer» o «developer» tiene más responsabilidades que nunca: debe saber programar, testear, maquetar, como organizar el trabajo, evaluar el trabajo de otros compañeros, dar feedback, deployar, hablar con el cliente para relevar sus necesidades, documentar, entender el dominio de negocio. El dev team actual ya no es más un operario, es una persona con múltiples roles, que requiere un sinfín de soft y hard skills. Esta es la razón por la que, en muchas empresas, un programador puede ganar más dinero que un jefe de otra empresa, o quizás más que su propio jefe. También es el motivo por el cual hay tanta demanda de personas, pero tan poca oferta para cubrir dicha demanda. Porque reclutar gente que sepa o quiera aprender todo lo mencionado es difícil. No solamente se complica la tarea de encontrar estos perfiles, sino que, una vez ubicados, es difícil que quieran seguir mejorando o actualizándose constantemente.

Uno puede ver esta realidad como algo negativo, o como una gran oportunidad para aprovechar si se tiene en cuenta que con el solo hecho de ser autodidacta, tener acceso a internet y tener ganas de nunca parar de aprender, se puede llegar más lejos que nunca en la historia.

Yari Iván Taft

Yari Taft es SSr. Full Stack developer en intive desde octubre 2019. Curioso y emprendedor, se recibió de Ingeniero en la Universidad Tecnológica Nacional. Yari es un apasionado del arte en todas sus formas: ya sea música, teatro, películas, series, animes, código y arquitectura.

Deja un comentario