¿Que características debe tener un Lead Developer?

Blog Single

En las últimas semanas hemos realizado algunas entrevistas en busca de candidatos, y mi departamento ha decidido que asista a estas entrevistas técnicas presentándome a los candidatos como un Lead Developer. Nunca me han gustado las etiquetas y creo que simplemente podría describirme como  trabajo en lo que me apasiona. Siempre le pongo todas las ganas necesarias para seguir avanzando día a día y crecer profesionalmente. Para mi esta es la única manera de llevar mi vida profesional.

Tras buscar por el término hay varias maneras de llamar al rol de Lead Developer, se le puede también identificar como Technical Lead, Team Lead o Senior Developer. Lo que voy a intentar resolver a través de este post es entender que es exactamente un Lead Developer y que características debe de tener para ganarse este título.

¿Que es un Lead Developer?

Un Lead Developer es un desarrollador que es responsable de liderar un equipo de desarrollo. Liderar un equipo de desarrollo no es una tarea fácil, no solo debes de poseer unas habilidades técnicas específicas, si no que también debes de tener habilidades sociales y conocimiento el proceso de desarrollo. Un Lead Developer debe establecer una visión técnica, compartirla con el equipo y llevarla a cabo. Básicamente es un rol que debe de tomar decisiones manteniendo siempre la confianza y empatía con el equipo de desarrolladores, por ello este rol debe estar cercano al equipo de desarrollo y parte de su jornada diaria debe de invertirla en programar (esto es condición indispensable).

Podríamos decir un Tech Lead, es algo distinto a un Team Lead, ya que el primero tiene un background técnico y mucho más cercano en el lado del seguimiento de las tareas. Es capaz de entender mejor las estimaciones, estando cercano al equipo de desarrollo, pero al mismo tiempo, coordinarse con los involucrados en el proyecto y servir de pegamento entre negocio y desarrollo sin interrumpir el trabajo del equipo.

Responsabilidades de un Lead Developer

A continuación vamos a listar una lista de responsabilidades y acciones que debe de tener en cuenta un Lead Developer.

  • Debe de velar por los estándares de calidad del software acordados por el equipo, tratando de que estos se cumplan y el desarrollo se haga con el mayor grado de calidad posible. Para ello se espera de un Lead Developer que sea capaz de integrar una cultura de testing como TDD o BDD.
  • Entender y ser capaz de transmitir al equipo la importancia de utilizar buenas practica a la hora de diseñar el software e implementarlo, realizando el mejor software posible de la manera más ágil posible con la idea de poder evolucionarlo fácilmente.
  • Implementar prácticas ágiles como el Pair Programing o los Code Review y extraer de ello todos los beneficios proporcionando una buena cultura de equipo, en la que nadie se sienta indiferente, el equipo se sienta parte del proyecto y establecer un trabajo común, haciendo sentir el proyecto propio a cada miembro.
  • Mostrar al equipo de desarrollo las mejores maneras de realizar las cosas, ayudando y mejorando las habilidades, haciendo cada día un mejor trabajo. Los desarrolladores con mas experiencia deberían de transmitir y apoyar a los desarrolladores menos experimentados.
  • Invertir en la salud del proyecto, reduciendo la deuda técnica, haciéndola visible para todo el equipo y atacarla. Esto conlleva aplicar técnicas que haga que promueva en el equipo auto-exigencia y mejora constante.
  • Dar ejemplo es primordial. Este rol debe de ser la persona mas cercana a seguir los principios y prácticas establecidas por el equipo y siendo un espejo para el resto del equipo. De esta manera estos puedan sentirse  también seguros a la hora de implementarlas y proponer soluciones. Además debe de fomentar un entorno de aprendizaje.
  • Debe de lidiar con aspectos no técnicos relacionados con el equipo, motivando, delegando, influenciando, construyendo equipo y trabajar en el sentido de resolver conflictos y no generarlos. Dando transparencia y visibilidad al equipo además de oportunidades de colaborar y expresarse.

Conclusión

Lo más importante no es solo tener un buen nivel técnico y aplicar buenas prácticas, se necesitan dotes de liderazgo y alto sentido de la responsabilidad y organización. Para ser un buen Lead Developer, se necesitar respetar y ser respetado, escuchar al resto del equipo y aportar un entorno laboral bueno lleno de motivaciones, retos y metas comunes.

#Bonus Track

Relacionado con estas habilidades o características de un Lead Developer, hace un par de semanas que asistí al Codemotion 2017. En una de las ponencias se impartió una charla muy interesante que habla acerca de la definición de un Senior Developer, algo que muchas personas y empresas no tienen del todo claro.

¿Que es lo que hace realmente a un desarrollador para categorizarlo como senior? No es solo el número de años trabajando en una tecnología, ser senior developer es algo mas. Para llegar a ser Senior Developer se necesitan muchos aspectos y en esta charla se define claramente la madurez y el liderazgo que debe de poseer un Senior Developer. Un Senior Developer lee libros técnicos, los recomienda, ayuda al equipo, asiste a charlas…

Parafraseando a Luis G. Valle. Un Senior Developer se convierte en la mejor versión de uno mismo. Disfruten de la charla:

Comparte el artículo si te ha resultado interesante: