Кіріспе

Бағдарламалық жасақтаманы әзірлеуде жетекші бағдарламашы бағдарламалық жасақтаманы әзірлеушілер тобына техникалық басшылық пен тәлімгерлік жасауға жауапты. Осы лауазымның басқа атаулары: даму жетекшісі, техникалық жетекші, жетекші бағдарламашы немесе жетекші қолданба әзірлеуші. Егер негізгі жұмыс төменгі деңгейдегі кәсіпорындық бағдарламалық жасақтаманы жобалау болса, мысалы, жобалау үлгілеріне назар аудара отырып, онда бұл рөл бағдарламалық жасақтама архитекторы болады (шешімдер архитекторының жоғары деңгейдегі, техникалық емес рөлінен өзгеше).

Жауапкершілік

Бас бағдарламашының жауапкершілігі компаниядан компанияға өзгеше болуы мүмкін, бірақ жалпы алғанда, жобада жұмыс істейтін бағдарламалық жасақтама әзірлеушілер тобының жұмысына техникалық тұрғыдан бақылау жасау, жұмыстың бағдарламалық жасақтама архитекторы белгілеген техникалық талаптарға – мысалы, кодтау конвенцияларына – сәйкес келетінін қамтамасыз ету міндеті жүктеледі. Бас бағдарламашының міндеттері көбінесе "қолмен" орындалады, яғни олар күн сайын бағдарламалық код жазып, командаларына мерзімдерді орындауға және код базасының сапасын жақсартуға көмектеседі. Олар жаңа немесе тәжірибесі аз бағдарламалық жасақтама әзірлеушілер мен бағдарламалаушыларға, сондай-ақ даму тобының барлық мүшелеріне кеңесші ретінде көмектеседі. Бұл көбінесе жұптық бағдарламалау, кодты қарау, жақсы даму принциптерін, мысалы, тесттік дамуды насихаттау және кодтағы ақауларды түзетуде жетекшілік ету арқылы жүзеге асырылады. Жауапкершіліктері негізінен техникалық болғанымен, бас бағдарламашы бағдарламашылар мен басқару арасындағы байланыс тілі ретінде де қызмет етеді, командасының даму жоспарларына жауапкершілік тартады және жұмысты бөлуде қадағалаушылық міндеттерді атқарады. Олар бағдарламалық жасақтама жобаларының бөліктерінің уақтылы және бюджет шегінде аяқталуын қамтамасыз етеді, сондай-ақ қызметкерлерді жұмысқа алу және олардың еңбек өнімділігін бағалауға техникалық көмек көрсетеді. Бас бағдарламалаушылар менеджментке техникалық кеңесші ретінде қызмет етеді және талаптарға бағдарламалау көзқарасынан тұрғызып қарау ұсынады. Әдетте, бас бағдарламашы екіден онға дейінгі бағдарламашылардан тұратын даму тобын басқарады. Бас бағдарламашы бірнеше команданы басқаратын директорға есеп береді. Техникалық бағытты бағдарламалық жасақтама архитекторы ұсынуы мүмкін. Егер командалар шарлауықты, экстремалды бағдарламалау немесе канбан әдістерін қолданса, бас бағдарламалаушы инженерлік менеджер немесе бағдарламалық қамтамасыз етуді дамыту менеджері деп аталады және өнім иесімен – соңғы өнімнің талаптарын жинақтайтын әріптесімен – тікелей өзара әрекеттеседі. Нағыз Agile тәсілінде бас бағдарламалаушы жеке Scrum Master позициясымен бірлесіп жұмыс істейді, ол бизнес сұранысы (өнім иесі) мен команданың мүмкіндіктері мен біліктілігі арасындағы келісімге келуге көмектеседі, мысалы, өнімнің артта қалған тапсырмаларының келесі Agile спринтке қайсысы өткізілетінін анықтайды.