Un gran desarrollador no siempre significa un gran líder técnico

Matt Belcher & Rubén Recio

Matt Belcher & Rubén Recio

Ver biografía y publicaciones del autor

¿Piensas que no eres un líder técnico?

Antes de abandonar este artículo, sé sincero contigo mismo y responde a estas preguntas:

  • ¿La gente espera tus consejos técnicos o tu orientación?
  • ¿Vas corriendo de una reunión a otra?
  • ¿Cambiar de contextos es habitual en tu día a día?

Entonces... ¡Enhorabuena, eres un líder técnico! 

¿Qué es el liderazgo técnico?

Dejando a un lado las bromas, el liderazgo técnico suele entenderse como la capacidad de supervisar a un equipo de expertos IT mientras se toman decisiones relacionadas con la ingeniería y el desarrollo de software. Por lo general, se espera que estos perfiles tengan una combinación de las siguientes competencias:

Habilidades técnicas:

  • Ofrecer orientación técnica
  • Toma de decisiones técnicas
  • Revisión de código
  • Excelencia operativa

Habilidades de gestión:

  • Gestión de proyectos
  • Gestión de riesgos
  • Resolución de problemas
  • Personalidad sociable y buena comunicación

Sin embargo, el liderazgo técnico puede manifestarse de maneras diferentes (especialmente en Codurance), sin el título formal de "líder". Por ejemplo, algunas de las iniciativas que puede llevar a cabo un líder técnico pueden ser:

  • Escribir un blog
  • Formar un club de lectura
  • Participar en una conferencia
  • Facilitar una comunidad de práctica entre equipos
  • Papel de líder técnico de un equipo de desarrollo 

Es importante señalar que el liderazgo técnico no significa necesariamente saber "todo sobre tecnología", sino también estar abierto a hacer preguntas y a aprender de tus compañeros de equipo.

¿Por qué necesitan los equipos un Tech Lead?

Desde nuestro punto de vista, creemos que esta función es importante porque es la persona entre la gestión del proyecto y las discusiones técnicas con el equipo, y también es el punto de contacto entre otros equipos de ingeniería.

Como líder técnico, los compañeros esperan de ti cosas como fomentar un entorno de colaboración e inspirar al equipo para que trabaje hacia el mismo objetivo. Esta es una de las cosas más importantes que hace un "líder".

Los directores técnicos son (potencialmente) responsables de orientar a otros miembros del equipo de desarrollo, tomar decisiones clave sobre aspectos técnicos (arquitectura, marcos de trabajo, tecnologías, etc.), asumir la responsabilidad de gestiones complejas relevantes y mucho más.

Además de ser responsables de tomar decisiones clave, también tienen autoridad para arbitrar en todo el equipo.

Factores clave para convertirse en un líder técnico

Mentalidad de crecimiento

Las personas que creen que sus talentos pueden desarrollarse mediante el trabajo duro, buenas estrategias y la aportación de los demás, tienen una mentalidad de crecimiento. Estos perfiles suelen tener más éxito que los de mentalidad fija (los que creen que sus talentos son dones innatos).

De creador a multiplicador

  • Compartir conocimientos
  • Capacitar a los demás
  • Desbloquear equipos
  • Tomar decisiones clave, etc.
  • Blindar/proteger al equipo

Una característica a evitar - Principio de Peter

Nota: la mentalidad de crecimiento no debe confundirse con tener un ascenso, sin tener todas las características mencionadas anteriormente.

El "Principio de Peter" es un concepto de gestión desarrollado por Laurence J. Peter, según el cual en una jerarquía las personas tienden a ascender hasta "un nivel de incompetencia respectivo": los empleados ascienden en función de su éxito en trabajos anteriores hasta que alcanzan un nivel en el que dejan de ser competentes, ya que las habilidades en un trabajo no se trasladan necesariamente a otro.

peter_principal_blog_img

Patrones del liderazgo técnico

Una vez definido lo que significa el liderazgo técnico, vamos a analizarlo con más detalle, empezando por las distintas formas que puede adoptar. Basándonos en nuestra experiencia, hemos visto que el liderazgo técnico se manifiesta de diferentes maneras. Por ejemplo, a algunas personas les apasiona compartir conocimientos y enseñar a los demás. Esto puede traducirse en numerosas acciones, como escribir un blog, formar un club de lectura, hablar en una conferencia o facilitar una comunidad de práctica entre equipos. Todas estas actividades permiten a esa persona multiplicar su impacto en los demás. Asumir responsabilidades de este modo es una forma de liderazgo, aunque quizá sin la "etiqueta" o el "título" de líder.

Modelo Mariposa

Un antiguo colega, Dan Abel, ideó el "Modelo Mariposa" de liderazgo técnico.

butterfly_method_blog_img

Este modelo hace referencia a que cuando se desempeña el papel de líder técnico de un equipo de ingeniería, hay una serie de preocupaciones que se deben tener en cuenta y, por lo tanto, una serie de actividades que hay que realizar mientras se ocupa el cargo. Dan las clasifica en cuatro áreas:

Compromiso con la empresa - Mirar hacia fuera de tu propio equipo y comprometerse con los demás equipos o áreas de la empresa, tanto desde el punto de vista técnico como no técnico.

Compromiso con el equipo - Un enfoque hacia el interior de tu equipo. Trabajar para construir y nutrir a los individuos y ayudar a que el grupo crezca unido. Actuar como un modelo a seguir.

Entrega y riesgo - Asumir los riesgos técnicos y la deuda técnica. Contribuir a la creación de un plan realista y estratégico que el equipo pueda cumplir.

Arquitectura e infraestructura - Trabajar con tu equipo en la aplicación de buenas prácticas y la mejora continua; centrarse en las dimensiones técnicas.

Liderazgo de servicio

Al iniciar una carrera en el desarrollo de software, es muy fácil asumir que, para ser el líder de un equipo, hay que ser el desarrollador más capacitado. Sin embargo, muchos de los mejores líderes técnicos que hemos visto a lo largo de nuestras carreras no han caído necesariamente en esta categoría. El modelo de Dan Abel a que para convertirse en un buen líder técnico hay que contar con una mezcla de habilidades diferentes, algunas de las cuales no son directamente técnicas por naturaleza. Quizá este sea un buen punto de partida para otro modelo de liderazgo técnico que complementa al de la mariposa: el liderazgo de servicio.

Ser un líder servidor es centrarse en atender las necesidades del equipo y de sus miembros, por encima de los propios intereses u objetivos personales. Este enfoque hace especial hincapié en habilidades como la escucha, la empatía y el compromiso con el desarrollo personal y profesional de los demás.

Para convertirse en un buen líder técnico hay que contar con una mezcla de habilidades diferentes, algunas de las cuales no son directamente técnicas por naturaleza.

Situar esto en el contexto del liderazgo técnico puede significar, por ejemplo, renunciar a trabajar en algunos aspectos más interesantes de un proyecto para garantizar que se presta atención a otras áreas más críticas. Por lo general, esto puede significar que el responsable técnico de un proyecto se dedique menos a escribir código y, en su lugar, dedique más tiempo a reunirse con stakeholders ajenos al equipo para garantizar la alineación o eliminar posibles bloqueos. De este modo, el responsable técnico crea un entorno en el que el resto del equipo puede prosperar y ser más eficaz.

Feature lead (jefe de sección)

A menudo, en los equipos de desarrollo de software complejo puede haber demasiadas cosas para un único responsable técnico. Los proyectos de este tipo suelen presentar una serie de integraciones complejas con sistemas externos, procesos empresariales que deben diseñarse en el software o un cierto grado de acoplamiento con otros equipos. En este tipo de situaciones, puede ser útil complementar la dirección técnica con uno o varios jefes de sección (por funciones o características).

Como su nombre indica, un jefe de sección se encarga de un área concreta dentro de un proyecto. A menudo puede tratarse de una funcionalidad empresarial, pero también de la integración de un sistema de procesos empresariales. El jefe de sección es responsable de actividades correspondientes a áreas específicas identificadas. Esto podría incluir el manejo y la escalada de bloqueos, asegurando que todo el equipo tiene claridad sobre el proyecto e identificando un backlog de historias de usuario para el trabajo a realizar. Es importante señalar que no se espera que un jefe de sección entregue únicamente el trabajo de su área asignada, sino que permanezca en continua colaboración con el proyecto global de todo el equipo de desarrollo.

El modelo de líder de funcionalidades puede ser un buen mecanismo para introducir a las personas en el liderazgo técnico de un equipo de desarrollo de software, sin tener que asumir todas las tareas de un proyecto. El jefe de sección seguirá consultando con el líder técnico y será éste quien, en última instancia, asuma la visión técnica de todo equipo.

Liderazgo técnico en Codurance

Formalmente, dentro de Codurance el liderazgo técnico tiene 3 perfiles principales:

  • Feature lead (jefe de sección). Persona que se centra en un trabajo específico, normalmente en una tarea individual. El jefe de funcionalidades asume la responsabilidad general de una característica o área específica del proyecto, asegurando que todo el equipo comprenda la visión técnica de la implementación y que el trabajo a realizar se gestione adecuadamente. A menudo, esta persona trabajará en colaboración con un líder técnico.
  • Tech lead (líder técnico). Es la persona que suele gestionar un equipo de desarrollo y las obligaciones/tareas asociadas al proyecto. Es responsable de la ejecución técnica del proyecto, garantiza que los problemas se resuelvan a tiempo, que el equipo comprenda claramente la visión técnica general y suele ser el árbitro de las decisiones técnicas a lo largo del proyecto.
  • Tech Principal (director técnico). Persona centrada en el éxito de uno o varios compromisos con clientes. A menudo se asegura que los equipos estén correctamente configurados para lograr resultados satisfactorios en la fase de descubrimiento con un cliente y en el establecimiento de una arquitectura adecuada. El Tech Principal también proporciona una capa de gobernanza en muchos equipos de entrega, garantizando que se sigan las mejores prácticas y actuando a menudo como mecanismo de apoyo para el Tech Lead.

Además de estas 3 funciones formales, hay otras áreas dentro de Codurance en las que el liderazgo técnico se produce con frecuencia. Por ejemplo, las personas que dirigen eventos, como una comunidad de práctica, un club de lectura, cursos de formación, etc. Codurance también tiene una fuerte conexión con distintas comunidades y muchos de nuestros empleados hablan en conferencias externas o imparten talleres. Ninguna de estas actividades requiere un título formal de "liderazgo" per se, pero no dejan de ser ejemplos de liderazgo técnico.

Comparación de patrones de liderazgo técnico

¿Cómo adoptamos estos modelos en Codurance?

De la misma manera que el modelo Mariposa se refiere a un líder técnico como un perfil con múltiples habilidades a través de distintas áreas (compromiso con el negocio, compromiso con el equipo, entrega y riesgo, y arquitectura e infraestructura), en Codurance nuestros roles formales de líder técnico también exigen habilidades en diversas disciplinas. En consecuencia, consideramos que las personas con este perfil son "codurances" con gran experiencia que pueden dirigir un proyecto y/o una cartera de clientes con confianza y fiabilidad.

En segundo lugar, el liderazgo de servicio es una característica que consideramos obligatoria en un "codurancer" que quiera ser visto como un líder. Preocuparse por su equipo, eliminar obstáculos y dejar de lado sus propios intereses personales en favor del grupo, cuando sea necesario, son las cosas que esperamos ver en nuestros líderes técnicos.

Por último, pero no menos importante, está el concepto de feature lead (jefe de sección). Este modelo es uno de los más importantes para iniciarse en un papel de liderazgo. Incluso si se lidera una pieza de trabajo muy pequeña y precisa, se está asumiendo la responsabilidad de la misma. Como resultado, todos tus compañeros (sean técnicos o no) te verán como el líder de ese componente. Esto puede ser útil para fomentar la confianza en uno mismo, sin tener que asumir necesariamente la carga total de un proyecto. En Codurance, ésta es una de las formas de trabajar que adoptamos para fomentar el liderazgo técnico como parte de la progresión profesional de nuestro equipo. 

Conclusión

En este artículo se han descrito diferentes modelos de liderazgo técnico. No obstante, es importante señalar que no existe una forma "correcta" de ser un líder técnico. Los modelos aquí expuestos deben utilizarse más bien como una referencia e inspiración para dar forma a tu propio estilo de liderazgo técnico. Como se indica al principio de este artículo, el liderazgo puede adoptar muchas expresiones, todas ellas igualmente válidas.

Es probable que los distintos contextos también requieran estilos de liderazgo ligeramente diferentes. Por ejemplo, es probable que un equipo de desarrollo de software junior se beneficie de tener un líder técnico que esté más implicado en la creación de código y que sea capaz de hacer pair programming para establecer las mejores prácticas en la base de código. Mientras que un equipo más experimentado podría beneficiarse de un líder que dedique menos tiempo a codificar y más a garantizar que los desarrolladores puedan ser eficaces.

En este artículo, también hemos compartido cómo enfocamos el liderazgo técnico en Codurance mientras trabajamos con nuestros clientes. Echa un vistazo a algunos de nuestros casos de éxito, quizás te sirvan de inspiración.

 

New call-to-action