Główny programista - Lead programmer

W rozwoju oprogramowania główny programista jest odpowiedzialny za zapewnienie wskazówek technicznych i mentoringu zespołowi programistów . Tytuły alternatywne obejmują prowadzenie rozwoju , prowadzenie techniczne , główny programista , lub głównym programistą aplikacji . W przypadku wkładu głównie w niskopoziomowy projekt oprogramowania dla przedsiębiorstw z naciskiem na strukturę aplikacji, np. wzorce projektowe, rolą będzie architekt oprogramowania (w odróżnieniu od wysokopoziomowej, mniej technicznej roli architekta rozwiązań ).

Obowiązki

Główny programista ma obowiązki, które mogą różnić się w zależności od firmy, ale generalnie jest odpowiedzialny za nadzorowanie pracy, w sensie technicznym, zespołu programistów pracujących nad projektem, zapewniając, że praca spełnia wymagania techniczne, takie jak konwencje kodowania ustawiony przez architekta oprogramowania odpowiedzialnego za podstawową architekturę . Obowiązki głównego programisty są często „praktyczne”, co oznacza, że ​​zazwyczaj codziennie piszą oni kod oprogramowania, pomagając swojemu zespołowi w dotrzymywaniu terminów i poprawianiu jakości kodu. Pełnią rolę mentora dla nowych lub niższych programistów lub programistów , a także dla wszystkich członków zespołu programistycznego, przede wszystkim poprzez procesy takie jak programowanie w parach , przeprowadzanie przeglądów kodu , promowanie dobrych zasad programistycznych, takich jak test- napędzany rozwój i przejęcie wiodącej roli w korygowaniu defektów kodu.

Chociaż obowiązki są głównie techniczne, główny programista generalnie służy również jako interfejs między programistami a kierownictwem, jest właścicielem planów rozwoju swojego zespołu i ma obowiązki nadzorcze w delegowaniu pracy. Zapewniają, że sekcje projektów oprogramowania są dostarczane na czas i w ramach budżetu, a także pomagają technicznie w zatrudnianiu i sprawdzaniu wydajności personelu. Główni programiści służą również jako doradcy techniczni dla zarządzania i zapewniają perspektywę programowania wymagań. Zazwyczaj główny programista nadzoruje zespół programistów składający się z dwóch do dziesięciu programistów.

Główny programista zazwyczaj podlega dyrektorowi zarządzającemu kilkoma zespołami. Kierownictwo techniczne może zapewnić architekt oprogramowania. Tam, gdzie zespoły stosują podejście Waterfall, Extreme Programming lub Kanban , główny programista jest określany jako kierownik ds. inżynierii lub kierownik ds. rozwoju oprogramowania i współpracuje bezpośrednio z partnerem, właścicielem produktu , który zbiera wymagania klientów dotyczące produktu końcowego. musieć spotkać. W prawdziwym podejściu Agile, główny programista współpracuje z oddzielnym stanowiskiem scrum master , który działa jako pośrednik w poszukiwaniu kompromisu między zapotrzebowaniem biznesowym (właścicielem produktu) a zdolnościami zespołu i zestawem umiejętności, np. które story tickety z backlogu produktu zostaną przekazane w następny sprint Agile .

Bibliografia