JavaRush /Blog Java /Random-PL /Geniusz, programista, strateg, menadżer. Kim jest Tech Le...

Geniusz, programista, strateg, menadżer. Kim jest Tech Lead i jak nim zostać?

Opublikowano w grupie Random-PL
W dziedzinie tworzenia oprogramowania, jak i w ogóle w branży IT, istnieje wiele stanowisk, które nazywane są różnie, ale częściowo lub w dużej mierze są podobne w treści pracy. Nawet jeśli mówimy o specjalnościach bezpośrednio związanych z rozwojem, to pojawiają się stanowiska takie jak Starszy Programista, Lider Techniczny, Architekt, Menedżer Inżynierii i szereg innych. Często to, co robią ci specjaliści, jest różnie interpretowane w zależności od firmy i zespołu. W miarę możliwości staramy się analizować każde z głównych stanowisk tego typu, opisując jego istotę, wymagane umiejętności i ogólne perspektywy. Geniusz, programista, strateg, menadżer.  Kim jest Tech Lead i jak nim zostać?  - 1Dziś kolej na Liderów Technicznych. A jest tu naprawdę o czym rozmawiać, więc zaczynajmy. Geniusz, programista, strateg, menadżer.  Kim jest Tech Lead i jak nim zostać?  - 2

Kto jest liderem technicznym?

Krótko mówiąc, jest to jeden z najbardziej doświadczonych programistów w firmie, który zarządza zespołem programistów i odpowiada za jakość wszystkich prac technicznych nad projektem. Ujmując nieco bardziej szczegółowo, jedną z głównych funkcji skutecznego Tech Leada jest sformułowanie wizji technicznej części projektu dla zespołu deweloperskiego i wdrożenie jej wspólnie z innymi członkami zespołu. Tym właśnie różni się rola lidera technicznego od innych pokrywających się stanowisk, takich jak lider zespołu, menedżer ds. inżynierii oprogramowania i architekt. O różnicach porozmawiamy nieco bardziej szczegółowo później. Istota stanowiska Tech Lead jest wszędzie rozumiana inaczej i jest to normalne, biorąc pod uwagę młodość całej branży deweloperskiej i jej ciągłą transformację. Oto, co mówi tenna Inni uważają, że liderzy technologii to menedżerowie średniego szczebla, którzy pierwotnie byli zwykłymi programistami. Znajdą się też tacy, którzy powiedzą, że leady techniczne to zazwyczaj po prostu najbardziej doświadczeni i wpływowi programiści w firmie, którzy zostali powołani na to stanowisko ze względu na ich realny wkład w techniczną część pracy nad projektem. Dla mnie lider techniczny to ktoś, kto ma duże doświadczenie jako programista i wykazał już umiejętność skutecznej komunikacji nie tylko z innymi programistami, ale ze wszystkimi innymi, w tym z menedżerami produktu, zarządem firmy, projektantami, reklamodawcami i wszystkimi innymi. Bardzo wszechstronne.

Na czym polega funkcja kierownika technicznego?

Tech Lead, którego w różnych firmach można nazwać także TechManagerem, Lead Platform Engineer, Head Architect of Development lub jakoś inaczej, w zależności od dzikiej wyobraźni kierownictwa, jest zazwyczaj odpowiedzialny za realizację technicznej części projektu. To osoba, która w zespole deweloperskim ma ostatnie słowo i jest jednocześnie odpowiedzialna za błędy i problemy w projekcie. Istotę funkcji Tech Lead w firmie bardzo dobrze podsumował Amr Noaman, twórca i szef Agile Academy: „Głównym i głównym obowiązkiem tej osoby w każdej organizacji jest techniczne wdrożenie produktu”. Krótko mówiąc, lista głównych funkcji „prawidłowego” lidera technicznego będzie wyglądać mniej więcej tak:
  • Przygotowanie strategii technicznego rozwoju projektu lub jego części, adaptacja i dostosowanie tej strategii w zależności od wymagań i okoliczności.
  • Zachęcanie do zdrowej debaty i dyskusji w zespole oraz ułatwianie procesu decyzyjnego.
  • Praca nad wyeliminowaniem problemów i czynników, które mogą uniemożliwiać członkom zespołu efektywną pracę.
  • Identyfikowanie i znajdowanie rozwiązań problemów pojawiających się w procesie rozwoju, a najlepiej przewidywanie i eliminowanie przyczyn tych problemów, zanim się pojawią.
  • Delegowanie zadań i odpowiedzialności za różne części projektu innym członkom zespołu.
Geniusz, programista, strateg, menadżer.  Kim jest Tech Lead i jak nim zostać?  - 3

Czy firmy IT potrzebują Tech Leadów?

Jak zwykle w branży, również i w tej kwestii nie ma konsensusu. Na przykład Vinicius Gomes, programista w ThinkWorks, twierdzi , że stanowisko Tech Leada jest często problematyczne i powinno zostać całkowicie wyeliminowane. Jego zdaniem, mającego dość spore poparcie w kręgach programistycznych, stanowisko to w większości przypadków wiąże się z nakładem pracy dla kilku osób, przez co często cierpi na tym struktura zespołu. Dlatego zdaniem Gomez lepiej jest całkowicie wyeliminować stanowisko Tech Leada, dostosowując strukturę zarządzania tak, aby różni członkowie zespołu programistów mogli rozdzielać między sobą różne role. Dzięki temu zespół będzie mógł pracować efektywniej. Jednak większość programistów nadal uważa, że ​​stanowisko Tech Lead jest konieczne i ważne, jeśli oczywiście lider tech dobrze zna się na swojej pracy i prawidłowo wykonuje swoje funkcje. Geniusz, programista, strateg, menadżer.  Kim jest Tech Lead i jak nim zostać?  - 4

Jak wygląda dobry lider techniczny?

Rozumiemy zatem, jaki powinien być dobry i poprawny Tech Lead oraz co może i powinien dać zespołowi.
  • Organizowanie sprawnej i skoordynowanej pracy zespołu deweloperskiego.

    Większość ludzi uważa, że ​​praca lidera technicznego polega na robieniu wszystkiego, co konieczne, aby zespół programistów wykonywał swoją pracę najskuteczniej. W tym przypadku funkcje kierownika technicznego pokrywają się z obowiązkami kierownika zespołu i głównego inżyniera, z tą tylko różnicą, że kierownik techniczny musi być odpowiedzialny za cały proces i wyniki końcowe. Dlatego posiadanie Lidera Technologicznego ma sens tylko w przypadkach, gdy zespół programistów jest wystarczająco duży, a projekt, nad którym pracuje, jest dość złożony i zakrojony na dużą skalę.

    Dobra praca Tech Leada sprawia, że ​​cały zespół pracuje prawidłowo i harmonijnie, jako jeden mechanizm, dostarczając pożądany produkt w zaplanowanym terminie.

  • Utworzenie zmotywowanego zespołu programistów i kadry zarządzającej.

    Chociaż na pierwszy rzut oka ten punkt niewiele różni się od poprzedniego, w tym przypadku mówimy o tej części organizacji pracy zespołowej, która dotyczy komunikacji między członkami zespołu, motywacji, coachingu i ogólnie wszystkiego innego, co nie ma zastosowania do prac technicznych.

    Jest to część kierownicza zadania, a jednocześnie część, której wielu leadów technicznych stara się unikać lub nie uważa za konieczne zwracania na nią uwagi, ponieważ uważają ją za mniej ważną i drugorzędną. Praktyka pokazuje jednak, że takie rzeczy jak motywacja, podejście osobiste, coaching, motywacja i tworzenie przyjaznej atmosfery w zespole nadal odgrywają dość ważną rolę (nawet jeśli nie są w stanie zrekompensować problemów z częścią techniczną) i znajdują odzwierciedlenie w finale skutkować w najbardziej bezpośredni sposób.

  • Koordynacja i równoważenie wysiłków.

    Koordynacja oznacza, że ​​zespół programistów nie tylko działa sprawnie i wydajnie, ale jego praca jest również dobrze skoordynowana z innymi działami. Aby tego dokonać, skuteczny Tech Lead musi nie tylko rozumieć potrzeby programistów, ale także potrafić patrzeć na pracę oczami innych specjalistów firmy.

  • Odpowiedzialny za wszelkie sukcesy i porażki zespołu deweloperskiego.

    Również dobry Tech Lead, będący głównym strategiem i taktykiem w jednej osobie, wie, jak wziąć odpowiedzialność zarówno za sukcesy w pracy, jak i za niepowodzenia czy błędy, które nieuchronnie pojawiają się podczas realizacji konkretnego projektu.

Co robi dobry Tech Lead i jak nim zostać?

Przejdźmy teraz nieco bardziej szczegółowo i przyjrzyjmy się, jaką pracę wykonują liderzy techniczni, aby osiągnąć cele omówione w poprzedniej sekcji.
  • Metodologia rozwoju.

    To, jaka dokładnie powinna być metodologia rozwoju, będzie w dużej mierze zależeć od celów projektu, zasobów dostępnych dla zespołu, terminów, zarządzania i wielu innych rzeczy. Ale opracowanie metodologii jest właśnie jednym z głównych zadań lidera technicznego. To on decyduje, jak często mają być wydawane nowe wersje, co należy wdrożyć podczas kolejnego sprintu rozwojowego itp.

  • Stos technologii.

    Za ten aspekt, niezwykle ważny dla ogólnego powodzenia projektu, odpowiada również lider techniczny. Może zawierać listę języków programowania, które zostaną wykorzystane przy realizacji projektu, a także frameworki, rozwiązania do przechowywania danych, biblioteki, rozwiązania QA itp.

  • Architektura oprogramowania.

    To obszar, w którym uprawnienia leada technicznego bezpośrednio krzyżują się z obowiązkami architekta oprogramowania, przy czym Tech Lead w tym przypadku stoi wyżej niż zwykły architekt i jest odpowiedzialny za ostateczne decyzje i podejście do nich.

  • Wewnętrzne planowanie i podział obszarów odpowiedzialności.

    Tech Lead, jako osoba odpowiedzialna za efekt końcowy, musi wyznaczyć terminy realizacji poszczególnych części projektu oraz określić obszary odpowiedzialności.

  • Terminy nowych wydań.

    Pomimo tego, że o tej funkcji przewodnictwa technicznego wspomniano już w poprzednim rozdziale, warto ją wyróżnić jako osobną pozycję, ponieważ ustalanie terminów nowych wydań z reguły odgrywa bardzo istotną rolę w życiu każdego projektu.

  • Polityka przeglądu kodu.

    Wszystko, co jest związane z przeglądaniem i recenzowaniem kodu, a dokładniej z wyborem głównych podejść do tego procesu, również należy do kompetencji lidera technicznego.

Perspektywy płacowe

I na koniec najsmaczniejsza rzecz - ile zazwyczaj zarabiają specjaliści na stanowiskach Tech Lead, czyli inaczej jeden z głównych powodów, dla których warto (lub nie ma sensu, oceńcie sami) dużo pracować siebie i swój rozwój zawodowy, aby pewnego dnia stać się dumnym i szanowanym liderem technicznym. Jak podaje popularny portal Glassdoor, średnie globalne wynagrodzenie na stanowiskach Tech Lead to 78,6 tys. dolarów rocznie. Według wiarygodnego zasobu PayScale w USA przeciętny lider technologiczny zarabia około 101,4 tys. dolarów rocznie. Inny popularny zasób, Salary.com, podaje kwotę 131 tysięcy dolarów rocznie, przy przybliżonym przedziale od 118 tysięcy do 145,5 tysięcy dolarów rocznie. W „naszych szerokościach geograficznych”, jak już zapewne się domyślacie, pensje liderów technicznych są niższe niż amerykańskie i nieco niższe od średniej światowej. Zatem według zasobu DOU w grudniu 2019 r. na Ukrainie średni lead techniczny zarabiał około 4400 dolarów miesięcznie. Według zasobu Trud.com w Rosji wynagrodzenie lidera technicznego może sięgać nawet 400 tysięcy rubli miesięcznie (5600 dolarów).
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION