Główny programista

W rozwoju oprogramowania główny programista jest odpowiedzialny za udzielanie wskazówek technicznych i mentoringu zespołowi programistów . Tytuły alternatywne obejmują kierownika ds. rozwoju , kierownika technicznego , głównego programistę lub głównego programistę aplikacji . Jeśli głównie uczestniczysz w projekcie oprogramowania korporacyjnego niskiego poziomu, koncentrując się na strukturze aplikacji, np. wzorcach projektowych, rola byłaby architektem oprogramowania (w odróżnieniu od mniej technicznej roli wysokiego poziomu architekt rozwiązań ).

Obowiązki

Główny programista ma obowiązki, które mogą się różnić w zależności od firmy, ale ogólnie jest odpowiedzialny za nadzorowanie pracy, w sensie technicznym, zespołu programistów pracujących nad projektem, upewniając się, ż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ą kod oprogramowania, pomagając swojemu zespołowi dotrzymywać terminów i poprawiać jakość bazy kodu. Pełnią rolę mentora programistów nowych lub niższego szczebla , a także dla wszystkich członków zespołu programistów, przede wszystkim poprzez procesy takie jak programowanie w parach , przeprowadzanie recenzji kodu , promowanie dobrych zasad programistycznych, takich jak programowanie sterowane testami oraz podejmowanie liderem w poprawianiu błędów kodu.

Chociaż obowiązki są głównie techniczne, główny programista ogólnie służy również jako interfejs między programistami a kierownictwem, jest właścicielem planów rozwojowych swojego zespołu i ma obowiązki nadzorcze w delegowaniu pracy. Dbają o to, aby części projektów oprogramowania były realizowane na czas iw ramach budżetu, a także pomagają technicznie w zatrudnianiu i ocenie wydajności personelu. Wiodący programiści służą również jako doradcy techniczni kierownictwu i zapewniają perspektywę programowania w zakresie 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, który zarządza wieloma zespołami. Kierunek techniczny może być zapewniony przez architekta oprogramowania. Tam, gdzie zespoły stosują kaskadowe , programowanie ekstremalne lub kanban , główny programista nazywany jest kierownikiem technicznym lub kierownikiem ds . musieć spotkać. W prawdziwym podejściu Agile główny programista współpracuje z osobnym stanowiskiem scrum master , który działa jako pośrednik poszukujący kompromisu pomiędzy zapotrzebowaniem biznesowym (właściciel produktu) a możliwościami i zestawem umiejętności zespołu, np. które bilety z backlogu produktu zostaną przekazane do następnego sprintu Agile .