La ingeniería del liderazgo técnico

Hace algunos años el ciclo de vida del software llevado a cabo por fábricas y compañías alrededor del mundo, menospreció en gran medida el valor de los lideres técnicos en los proyectos de construcción de software, inclusive muchas compañías omitieron dicho rol en la estructura jerárquica de la organización y por ende en la estructura de los proyectos. Hoy en día el panorama es diferente, aunque no como se esperaría, muchas organizaciones en el mundo reevaluaron la importancia de este rol en la dinámica de los proyectos de construcción de software, y le otorgaron un puesto digno dentro de la jerarquía organizacional, aun así, muchas compañías pierden de vista el valor de este rol, y se termina disipando entre las responsabilidades de un Desarrollador y las de un Arquitecto de Software.

 

Lo anterior pasa tan a menudo que inclusive muchos Desarrolladores desconocen el rol dentro de la estructura de los proyectos, ya que por lo general los Arquitectos de Software son forzados a asumir las responsabilidades asociadas al mismo, lo cual no permite ejecutar un trabajo de calidad para ninguno de los dos roles, lo que termina generando consecuencias como: sobrecarga de trabajo, retrabajo y sobrecostos. En el presente artículo, exploraremos la importancia de este rol y su anatomía, todo con el objetivo de concientizar a las organizaciones de su valor, y proveer a los Desarrolladores de una guía básica para convertirse en uno, ya que por lo general este es el siguiente paso en el proceso evolutivo de un Ingeniero de Software dedicado a la construcción de software, en su camino para convertirse en un Arquitecto de Software.

La importancia del rol de Líder Técnico en un proyecto de software es muy similar a la del puente de Brooklyn en Nueva York, el cual conecta los distritos de Manhattan y Brooklyn y permite la dinámica diaria de esta inmensa ciudad, de la misma manera, un líder técnico conecta la arquitectura planteada para un proyecto de software con la realidad del código, y permite la dinámica de la construcción eficiente de software.

Un líder técnico es responsable de alumbrar y dar forma a la arquitectura planteada por el Arquitecto de software, haciendo énfasis en las especificaciones que la arquitectura no presenta en detalle, es básicamente responsable de un proceso de refinamiento, en el cual se toma la visión del Arquitecto de Software y se especifica en detalles más prácticos para el equipo de Desarrollo, y en el caso del surgimiento de retos y/o problemas, es el responsable de definir las metodologías y las técnicas para abordarlos. Como última parte, y la más importante, un Líder Técnico tiene una meta diaria que nunca puede olvidar, y es la de brindar ayuda técnica continua y proactiva a todos los Desarrolladores del equipo, con el fin de garantizar el éxito de cada uno de ellos en el proyecto.

Ahora bien, ya que hemos descrito a grandes rasgos las responsabilidades y la importancia de un Líder Técnico en la dinámica de un proyecto de software, surge la pregunta ¿Cómo llegar a ser uno? o ¿Cuáles son sus funciones?, e inclusive ¿Cuáles son sus herramientas?, daremos respuesta a estas preguntas a continuación, y para empezar debemos tratar el principio más fundamental de este tema, el cual es Que es ser un Líder y Como ser uno, y aunque suene a libro de autoayuda, existe un principio trivial, antes de ser líderes técnicos debemos ser líderes, y no solo en nuestras actividades como ingenieros de software, sino también en nuestra vida personal, es más, este es el primer ámbito de nuestras vidas por el cual comienza la construcción de nuestro liderazgo.

 

Antes que nada, saquémonos de la cabeza el mito de que las personas nacen siendo líderes, además de que es una afirmación absurda, la realidad es que los líderes se hacen, y cualquiera de nosotros puede ser uno, lo único que hace falta es determinación, y es algo con lo que contamos todos y cada uno de nosotros.

Un líder como tal no es una persona perfecta, comete errores como cualquiera, es más para ser un buen líder es requisito haber cometido muchos errores, ya que después de haber emprendido el camino, la calidad de un líder se basa en la experiencia, y el tema principal aquí, es que la habilidad principal de un líder está en NO evadir los errores o culpar a otros, sino en buscar soluciones efectivas, rápidas y de bajo impacto.

 

Por otra parte, un líder técnico cuenta con un conjunto de herramientas que le permiten realizar diferentes procesos de diagnóstico cuando un problema surge, sea en un ambiente de desarrollo o en un ambiente productivo. Entre estas herramientas contamos con profilers, debuggers, memory checkers, entre otras, todo esto le permite al líder técnico hacer frente a una gran variedad de problemas en diferentes ambientes.

 

Por último, hay que tener en cuenta, que una de las cualidades de un líder es ser proactivo, por lo cual cuando una herramienta no existe o sencillamente no puede ser obtenida por la compañía, el líder técnico a menudo pone manos a la obra con el fin de crear dicha herramienta, en consecuencia, su desván de herramientas cuenta con más de una creación de su propia autoría.

Hemos explorado la anatomía de un líder técnico, su importancia en las organizaciones, y sus herramientas, y hemos llegado a la conclusión que para convertirse en uno, dependemos en gran medida de nuestra experiencia como desarrolladores, por lo cual no puede pasar de la noche a la mañana, y el primer paso para lograrlo es aprovechar cada día nuestro rol de desarrolladores, aprendiendo las mejores prácticas y fundamentando el conocimiento de cada una de las tecnologías de nuestro manejo, además de mejorar nuestras habilidades como líder tanto en nuestra vida profesional como en nuestra vida personal, la realidad es que es un trabajo que lleva su tiempo, pero hace parte de nuestro proceso de evolución como ingenieros de software. La regla aquí es la determinación y la paciencia, siguiendo el concejo de uno de los grandes líderes de la historia moderna, “Debemos usar el tiempo sabiamente, y darnos cuenta de que siempre es el momento oportuno para hacer las cosas bien” Nelson Mandela.

 

Francisco J. Tovar Bastidas
Ingeniero de Sistemas – Universidad de Nariño
Bogotá, Colombia – 2017

 

Bibliografía
1. Robert Bogue. 2005. Cracking the Code: Breaking Down the Software Development Roles;
2. Robert Bogue. 2005. Anatomy of a Software Development Role: Development Lead; 
3. Juan Sebastián Celis Maya. 2017. La anatomía de un buen líder;

Sin comentarios

Lo sentimos, el formulario de comentarios está cerrado en este momento.