En el desarrollo de software , un programador líder es responsable de brindar orientación técnica y tutoría a un equipo de desarrolladores de software . Los títulos alternativos incluyen líder de desarrollo , líder técnico , programador líder o desarrollador líder de aplicaciones . Cuando se contribuye principalmente con un diseño de software empresarial de bajo nivel con foco en la estructura de la aplicación, por ejemplo, patrones de diseño, el rol sería un arquitecto de software (a diferencia del rol menos técnico de alto nivel del arquitecto de soluciones ).
Responsabilidades
Un programador líder tiene responsabilidades que pueden variar de una empresa a otra, pero en general es responsable de supervisar el trabajo, en un sentido técnico, de un equipo de desarrolladores de software que trabajan en un proyecto, asegurando que el trabajo cumpla con los requisitos técnicos, como las convenciones de codificación , establecidas por el arquitecto de software responsable de la arquitectura subyacente . [1] Las tareas de un programador líder suelen ser "prácticas", lo que significa que normalmente escriben código de software a diario, ayudando a su equipo a cumplir con los plazos y mejorar la calidad de la base de código. Actúan como mentores para los desarrolladores o programadores de software nuevos o de nivel inferior , así como para todos los miembros del equipo de desarrollo, principalmente a través de procesos como la programación en pareja , la realización de revisiones de código , la promoción de buenos principios de desarrollo, como el desarrollo basado en pruebas , y tomando la iniciativa en la corrección de defectos de código. [2]
Aunque las responsabilidades son principalmente técnicas, el programador principal también suele servir como interfaz entre los programadores y la gerencia, es responsable de los planes de desarrollo de su equipo y tiene responsabilidades de supervisión en la delegación de trabajo. [3] Se aseguran de que las secciones de los proyectos de software se completen a tiempo y dentro del presupuesto, y ayudan técnicamente con la contratación y la revisión del desempeño del personal. Los programadores principales también sirven como asesores técnicos para la gerencia y brindan una perspectiva de programación sobre los requisitos. Por lo general, un programador principal supervisará un equipo de desarrollo de entre dos y diez programadores. [4] [5]
Un programador líder generalmente reporta a un director que administra varios equipos. La dirección técnica puede ser proporcionada por un arquitecto de software. Cuando los equipos siguen los enfoques de cascada , programación extrema o kanban , el programador líder se conoce como gerente de ingeniería o gerente de desarrollo de software , y colabora directamente con un par, el propietario del producto , que recopila los requisitos del cliente que el producto final debe cumplir. En un enfoque verdaderamente ágil, el programador líder colabora con una posición separada de scrum master , que actúa como intermediario buscando un compromiso entre la demanda empresarial (propietario del producto) y la capacidad y el conjunto de habilidades del equipo, por ejemplo, qué tickets de historia del backlog del producto se pasarán al siguiente sprint ágil .
Referencias
- ^ "Entonces, ¿quieres ser un líder técnico…?". 10 de marzo de 2020. Consultado el 22 de octubre de 2020 .
- ^ "5 responsabilidades de un Tech Lead y 17 métricas para medir su desempeño". 21 de mayo de 2020. Consultado el 22 de octubre de 2020 .
- ^ "¿Cuál es la diferencia entre un desarrollador sénior y uno líder?" . Consultado el 22 de octubre de 2020 .
- ^ "Guía para líderes técnicos: qué hacen y cómo convertirse en uno" . Consultado el 22 de octubre de 2020 .
- ^ "Technical Lead" . Consultado el 22 de octubre de 2020 .