Engineering Manager - czym charakteryzuje się to stanowisko?

A więc jak na wstępie możecie się domyślić Engineering Manager to stanowisko o krok dalej w materii zarządzania niż tech lead. W przypadku tego stanowiska zasadniczą różnicą względem TL jest to, że Engineering Manager w wielu przypadkach nie ma zbyt dużo wspólnego z pisaniem kodu.

Engineering Manager - czym charakteryzuje się to stanowisko?

Engineering Manager - kim jest?

W jednym z moich poprzednich materiałów opowiadałem o tym kim jest Tech Lead w zespołach. Dziś postanowiłem pójść o krok dalej i opowiedzieć nieco o kolejnym stanowisku, które coraz częściej pojawia się w branży IT. Tym razem chodzi o Engineering Managera.

A więc jak na wstępie możecie się domyślić Engineering Manager to stanowisko o krok dalej w materii zarządzania niż tech lead. W przypadku tego stanowiska zasadniczą różnicą względem TL jest to, że Engineering Manager w wielu przypadkach nie ma zbyt dużo wspólnego z pisaniem kodu.

Ej, ale skoro on już nie ma zbyt dużo wspólnego z pisaniem kodu, to jaki on Engineer?

Do odpowiedzi na to pytanie dojdziemy na przestrzeni całego materiału, także zachęcam do zapoznania się z całością 🙂.

Więc jak już wspomniałem wcześniej, Engineering Manager w zakresie swoich obowiązków ma zazwyczaj mało kodowania. Oczywiście różne firmy decydują się na nieco różne założenia względem tego konkretnego wymagania, jednak możemy spokojnie założyć, że EM będzie w stanie poświęcić od 0% do maksymalnie 30% swojego czasu na prawdziwą pracę z kodem.

Tylko od czego to zależy?

Przede wszystkim różnice wynikają z liczby osób, którymi zarządza Engineering Manager. Jeśli jest to tylko jeden maksymalnie kilkunastoosobowy zespół, wtedy potencjalnej przestrzeni na pracę z kodem jest nieco więcej. W przypadku współpracy z kilkoma zespołami, obowiązki codzienne mogą na tyle przytłaczać, że kodowanie może już nie wchodzić w grę, a jedynie Code Review może być osiągalne (i to od czasu, do czasu).

A czymże są te całe obowiązki codzienne? Sprzątanie, pranie i gotowanie?

No oczywiście, że nie. Chociaż w czasach pracy zdalnej tego typu aktywności mogą być potencjalnie atrakcyjne, to jedna skupmy się tutaj na zajęciach związanych z pracą.

Każdy Engineering Manager powinien realizować 4 podstawowe zadania.

  • Rozwój podopiecznych

Ten element pracy Engineering Managera jest czymś, co jest bardzo ważne. Każdy manager powinien pozostawać w stałym kontakcie ze swoimi podopiecznymi poprzez cykliczne spotkania, tak by jak najlepiej orientować się, w jaki sposób można wesprzeć rozwój podopiecznych i zadbać o odpowiednią motywację w zespole. Manager powinien widzieć możliwości i wspierać swoich ludzi w osiąganiu ich osobistych celów.

  • Wyznaczanie strategii rozwoju oprogramowania (priorytetyzowanie zadań)

Engineering Manager jako osoba pracująca na wyższym poziomie abstrakcji niż developerzy, powinien być w stanie łączyć wiedzę techniczną z potrzebami biznesowymi, a co za tym idzie być w stanie odpowiednio priorytetyzować zadania zespołu inżynierów, aby byli oni w stanie zaspokoić wszystkie potrzeby biznesowe. Przy okazji odpowiednia świadomość techniczna powinna pozwalać na odpowiednie zarządzanie długiem technologicznym, tak aby oprogramowanie, które wytwarza zespół było rozwijalne.

  • People Management

Do codziennych zadań EM często należy też zwykły, codzienny people management, czyli sprawy organizacyjne związane z podopiecznymi, jak ulorpy, czy podwyżki. Jeśli chodzi o podwyżki jest to oczywiście bardzo ciężki kawałek chleba i Engineering Manager powinien być w stanie uczciwie określić, czy ktoś takową podwyżkę powinien dostać, czy też nie (czyli po prostu powinien być w stanie zrobić regularne Performance review)

  • Analizowanie i wspieranie biznesu pod kątem realizacji zadań

W tym punkcie chciałem podkreślić rolę Engineering Managera w sytuacjach, gdy trzeba zdecydować się na współpracę z zewnętrznym dostawcą. W takich sytuacjach Engineering Managerowie przy wsparciu swojego zespołu są w stanie określić, czy wykorzystanie jakiegoś zewnętrznego serwisu w ich oprogramowaniu jest dobrym, czy też złym pomysłem. Dodatkowo mogą oni pomagać przy budowaniu dłuższych strategii technologicznych w ramach produktu.

Więc jak wspomniałem wcześniej. Obowiązków EM jest sporo i są one znacznie odmienne od pisania kodu. Stąd w zależności od potrzeb konkretnej organizacji mogą to być osoby nieco związane z kodowaniem, lub całkowicie nie. Oczywiście jeśli jesteś Engineering Managerem i w Twojej organizacji jest wymaganie aby nadal kodować, to musisz pamiętać, żeby podczas prac nie brac na siebie najbardziej czasochłonnych, najtrudniejszych, czy najważniejszych zadań, bo inne obowiązki nie pozwolą Ci na dowiezienie wszystkiego zgodnie z planem, czy o określonej jakości. Ja sam jednak uważam, że nawet tego rodzaju manager, który nie musi na codzień kodować, powinien od czasu do czasu wziąć na siebie jakieś malutkie zadanie, aby nie zardzewieć i być w stanie nadążyć za oprogramowaniem, które powstaje z ręki jego podopiecznych.

Jednak widać tutaj też, że engineering manager nadal realizuje swego rodzaju inżynieryjne zadania, chociażby decydując o priorytetach na podstawie analizy biznesowej i swoim doświadczeniu technicznym. I każda osoba będąca w tej roli powinna dbać o to, żeby nadążać za technikaliami, aby wiedzieć o czym mówią podopieczni.