programador principal


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 . Al contribuir principalmente con un diseño de software empresarial de bajo nivel centrado 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 ).

Un programador líder tiene responsabilidades que pueden variar de una compañía 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 . , establecido por el arquitecto de software responsable de la arquitectura subyacente . [1] [2] Los deberes de un programador principal suelen ser "prácticos", 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 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 tomar la iniciativa en la corrección de defectos de código. [3]

Aunque las responsabilidades son principalmente técnicas, el programador principal también suele servir como interfaz entre los programadores y la gerencia, tiene la propiedad de los planes de desarrollo de su equipo y tiene responsabilidades de supervisión en la delegación de trabajo. [4] Se aseguran de que las secciones de los proyectos de software lleguen a tiempo y dentro del presupuesto, y ayudan técnicamente con la contratación y revisión del desempeño del personal. Los programadores principales también sirven como asesores técnicos para la administración y brindan una perspectiva de programación sobre los requisitos. Por lo general, un programador líder supervisará un equipo de desarrollo de entre dos y diez programadores. [5] [6]

Un programador principal generalmente informa 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 principal se conoce como gerente de ingeniería o gerente de desarrollo de software , y colabora directamente con un compañero, el propietario del producto , que recopila los requisitos del cliente que el producto final debemos reunirnos. En un verdadero enfoque Agile, el programador líder colabora con una posición separada de scrum master, que actúa como intermediario que busca un compromiso entre la demanda comercial (propietario del producto) y la capacidad y el conjunto de habilidades del equipo, por ejemplo, qué tickets de historia del backlog del producto pasarán al siguiente sprint ágil .