Cuando tenemos que seleccionar y contratar un líder tecnológico, una de las cosas más complicadas es definir qué es lo que estamos buscando.
En la industria del desarrollo de software, son muchos los roles que pueden desempeñar los programadores. La estructura y los criterios de un puesto de trabajo están definidos dentro del contexto de la empresa de la que forman parte. Y todo esto conlleva que muchos puestos con responsabilidades similares, tengan etiquetas diferentes. Además, muchos de los roles más relacionados con management crean mucha confusión, sobre todo cuando confundimos responsabilidades y funciones con las habilidades de liderazgo.
Lo que hace difícil definir y diferenciar es gestión y liderazgo. A pesar de que estos dos términos estén estrechamente relacionados, no son sinónimos. Pero aún sabiéndolo los utilizamos en la gran mayoría de los roles que existen dentro de la industria del software, por ejemplo: Líder Técnico (Technical Lead), Jefe de Equipo (Team Lead), Gerente de Ingeniería (Engineering Manager) y Responsable o Director de Tecnología (CTO).
Una de las situaciones más frecuentes en las que me encuentro cuando hablo con muchos desarrolladores es su interés por orientar su carrera profesional hacia el liderazgo técnico/tecnológico.
Sabiendo que para cada empresa, cada rol tiene sus particularidades, he ido recopilando información sobre la figura del Technical Lead, Tech Lead o Lead Developer con la finalidad de identificar las claves que definen este tipo de liderazgo.
Definición de un Tech Lead
Un Tech Lead es un desarrollador de software, responsable de liderar un equipo de desarrollo y responsable de la calidad de sus productos técnicos.
Un Tech Lead establece una visión técnica con el equipo de desarrollo y trabaja con ellos para conseguir el objetivo. En el camino, adquiere habilidades que otros roles también tienen (por ejemplo: Team Lead, Architect, Engineering Manager) pero el líder tecnológico sigue estando ligado al código y continua programando aproximadamente 1/3 de su tiempo.
Claves para ser un buen Tech Lead
Nadie es líder todo el tiempo ni en todas las situaciones
El rol debe ser flexible, capaz de ser asumido por otros miembros del equipo según sea necesario.
Si te encuentras en el rol de líder tecnológico, es aconsejable no ser posesivo con él. Reconocer cuando es el momento de pasar el rol a otra persona, y cuando es el momento de recuperarlo, es una habilidad de un buen líder.
Ni programar a tiempo completo ni dejar de hacerlo
Una situación a la que se enfrentan los líderes tecnológicos en su día a día es encontrar el equilibrio a la hora de programar. Es decir, no quieren dejar de hacerlo, pero tampoco tienen tiempo para hacerlo tanto como les gustaría.
Para tomar las decisiones más efectivas y mantener la confianza y la empatía con los desarrolladores, un líder técnico debe programar al menos un 30% del tiempo.
El rol de líder tecnológico se encuentra en la intersección de muchas responsabilidades diferentes: Developer, Architect, Leadership.
Define la realidad del proyecto y guía al equipo
Un líder técnico tiene la responsabilidad de definir la realidad del proyecto: Lo que hay que construir, la dirección técnica general, el contexto empresarial y tecnológico y las limitaciones de tiempo y recursos. Eso incluye proporcionar un claro ejemplo de excelencia técnica y productividad para el resto del equipo.
Esa definición inicial de realidad es un punto de partida y está sujeta a evolución. El equipo de desarrollo participa en el proceso de configuración.
Su objetivo es garantizar que todos trabajen en la misma dirección y que el proyecto evolucione de manera coherente.
“The first responsibility of a leader is to define reality. The last is to say thank you. In between, the leader is a servant.”
Max DePree
Zoom out y visión general
Una de las responsabilidades de un buen líder tecnológico es alejarse y tener una visión general que le permita ver cómo el trabajo de cualquiera de los miembros del equipo encaja en el panorama general.
Se alcanza cierto nivel de competencia en varias áreas de desarrollo de software: diseño, operaciones, calidad y gestión.
Como líder tecnológico es importante no perder de vista el nivel de zoom en el que se encuentra.
Conoce las fortalezas y debilidad de los miembros del equipo
Conoce y comprende las fortalezas y debilidades técnicas de cada uno de los integrantes del equipo. Con ese conocimiento, el líder es capaz de agilizar el trabajo, apoyándose en las personas adecuadas. Además, ofrece la oportunidad de empoderarlas.
Un buen líder tecnológico capacita a los miembros del equipo para tomar decisiones y las respeta.
Sabe delegar. No es necesario estar involucrado en todas las decisiones
Como líder tecnológico, generalmente estará involucrado en decisiones críticas o difíciles, pero no debería estar involucrado en todas las decisiones.
Un buen líder tecnológico, pide voluntarios. No ordena a los demás qué hacer.
Delegar es compartir deliberadamente las responsabilidades y dar confianza y poder a los miembros de su equipo.
Integra a su equipo con la parte de negocio
La parte de negocio suele ver al líder tecnológico como la única persona que puede hablar “su idioma” mientras que el equipo técnico, ve al líder tecnológico como la única persona que puede comunicarse efectivamente con negocio.
Los mejores leads tecnológicos tienen como objetivo liderar mediante el ejemplo en la comunicación con la parte de negocio. De esta forma, todos aprenderán a comunicarse en el mismo idioma, comprenderse y estar alineados técnico-negocio.
Dedica tiempo a cada persona de su equipo
Es extremadamente difícil ser un buen líder tecnológico si no comprende el estado mental, las prioridades y las preocupaciones de todos los miembros de un equipo. Además, muy pocas personas compartirán “sus cosas” en entornos grupales.
Un buen líder tecnológico, se preocupa y dedica tiempo en exclusiva a cada persona de su equipo. Está presente, disponible y accesible para resolver preguntas y problemas.
Acepta la imperfección y el desorden en los equipos
Cuando el equipo está disfrutando y haciendo un buen trabajo, ser líder es gratificante. Pero cuando se acerca un plazo aparentemente imposible, hay deuda técnica o se generan conflictos, ser un líder tecnológico puede resultar realmente difícil.
Los líderes tecnológicos se enfrentan a una doble complejidad: los sistemas de software y los grupos de personas que trabajan juntas.
Las personas somos imperfectas, es inevitable que se produzcan conflictos y una cierta tendencia al caos. Lo importante es que todo vaya bien la mayor parte del tiempo.
Habilidad para entender y hacerse entender
Se convierte en un buen comunicador porque es el responsable de entender los requisitos y explicar las soluciones técnicas. Además debe aprender tanto a dar como a recibir feedback.
Un buen líder técnico tiene esa habilidad para comunicarse.
Ilustración del libro “Smart Feedback”
Mentor y un ejemplo para los miembros de su equipo
Un líder técnico debe ser visto como un mentor para los miembros del equipo, alguien que pueda ayudar a otros ingenieros a mejorar y avanzar en su desarrollo profesional.
El equipo debería estar mirando al líder técnico como alguien a seguir.
Reflexión
El buen Tech Lead sabe de ingeniería del software, producto, negocio y personas.
No es un título, no es una etiqueta, no es una categoría; el verdadero liderazgo surge del reconocimiento de los demás.
De la misma forma que cuando eliges un destino no debes pensar solo en dónde quieres ir, sino en cómo llegarás a ese lugar, lo mismo pasa con la carrera profesional. Además, en el sector tecnológico, los roles de liderazgo son confusos y por eso es importante trazar una career roadmap u hoja de ruta profesional para definir rangos salariales, responsabilidades y la carrera profesional de los desarrolladores.
Si alguna vez (no oficial u oficialmente) has conocido a un/a líder tecnológico, ¿qué cualidades destacarías de su labor?.
Documentación consultada
The Definition of a Tech Lead | Blog de Patrick Kua.
“8 Tips for Being a Good Tech Lead” | Articulo de Tash Postolovski en el blog Codementor.
Becoming a Technical Leader | Blog de Clear Blues Skies
What Does a Tech Lead Do | Artículo de Viach Kakovskyi en el blog Dev Community.
11 Top Responsibilities and 10 Common Mistakes of a Technical Leader | Artículo de Lorenzo Pasqualis en el blog Dev Community.
Tech Lead to Engineering Manager, Kicking & Screaming | Blog de Annyce Davis.
Tech Lead vs. Engineering Manager | Video de Félix López en Comunidad Code.