Senior Developer - czy dalej jest życie?

esteś seniorem, doświadczoną osobą, która wie niemal wszystko na temat dziedziny którą się zajmuje (wytwarzanie oprogramowania). Tylko co teraz? Czy to już koniec? Teraz przez kolejne kilka lub kilkanaście lat będziesz Seniorem i nic więcej na ścieżce kariery Cie nie czeka?

Senior Developer - czy dalej jest życie?

W dzisiejszych czasach rozwój w branży IT jest bardzo dynamiczny. Po latach spędzonych na kodowaniu zostajesz najpierw juniorem, potem regularem, aby w końcu osiągnąć wisienkę na torcie - zostajesz Seniorem.

Na początku brzmi to dumnie! Jesteś seniorem, doświadczoną osobą, która wie niemal wszystko na temat dziedziny którą się zajmuje (wytwarzanie oprogramowania). Tylko co teraz? Czy to już koniec? Teraz przez kolejne kilka lub kilkanaście lat będziesz Seniorem i nic więcej na ścieżce kariery Cie nie czeka?

Wiele osób w branży IT zadaje sobie to pytanie. Sam też byłem w tym miejscu. Po latach ciężkiej pracy jako początkowo Android developer, potem front-end developer, a w końcu fullstack developer. Osiągnąłem poziom Seniorski. I wtedy zacząłem zastanawiać się co dalej.

Dlatego dzisiejszy materiał będzie opowiadał o 3 ścieżkach, które doświadczona osoba może wybrać w swojej dalszej karierze.

  1. Tech lead

jest dosyć enigmatyczną rolą. Głównie dla tego, że tech lead nadal pracuje w projekcie i niemal zawsze tech leadem zostaje ktoś, z obecnych członków zespołu.

Zacznijmy jednak od tego, dlaczego takich tech lead jest ważny i kiedy w projektach się pojawia. Przede wszystkim rola tech leada jest niezbędna w projektach, gdzie pracuje conajmniej kilka osób i poziom doświadczenia jest bardzo zróżnicowany. Moim zdaniem taką dolną granicą są 3-4 osoby, z czego zespół posiada tylko jednego bardzo doświadczonego programistę, a cała reszta, to juniorzy i regular’owie. W takich sytuacjach pomoc tech leada może okazać się niezbędna.

Jednak dlaczego tak jest? Czym zajmuje się tech lead i dlaczego może ona tak bardzo wpływać na prace?

Żeby odpowiedzieć na to pytanie, należy zagłębić się w najczęstsze obowiązki tech leada.

  • Mentoring

Mentoring jest jednym z kluczowych elementów, ponieważ pracując z mniej doświadczonymi osobami tech lead ma dawać im wsparcie. Oczywiście tego typu wsparcie wpływa na ilość pracy tech leada z kodem, jednak pozwala innym członkom zespołu szybciej rozwijać swoją wiedzę, a co za tym idzie poprawiać jakość wytwarzanego oprogramowania.

  • Dbanie o jakość

Poprzez monitorowanie procesu dostarczania oprogramowania, branie udziału w Code Review i ciągłą współpracę z zespołem, tech lead jest w stanie zapewniać, że oprogramowanie wytwarzane przez zespół ma odpowiednią jakość.

  • Rekrutacja specjalistów

Gdy zespoły się rozrastają, to tech lead musi poświęcić i korzystać ze swojej wiedzy, aby zrekrutować nowych członków do zespołu. W zależności od projektu, to zadnie zajmuje jakiś niewielki procent czasu codziennej pracy, jednak należy pamiętać, że każdy tech lead, musi mieć odpowiednie umiejętności do weryfikowania kandydatów do projektu, zarówno pod kątem technicznym, jak i dopasowania do reszty zespołu.

  • Przygotowywanie specyfikacji

Przy pojawiających się nowych wymaganiach, tech lead musi wykazać się umiejętnością przygotowywania specyfikacji technicznych, które umożliwią innym osobom w zespole na zrealizowanie zadań, które będą przed nimi stały

  • Dbanie o rozwój projektu

w tym wypadku mam na myśli wieloaspektowe usprawnienia projektu. Tech lead, powinien być w stanie identyfikować potencjalne miejsca, które nadają się do usprawnień. Zarówno pod kątem spłacania długu technologicznego, jak i pod kątem użytkowania najnowszych możliwych narzędzi.

2. Architekt

jako druga ścieżka rozwoju kariery po Seniorstwie. Ścieżka architekta jest mocno powiązana z dalszym rozwojem umiejętności technicznych. Natomiast rozwój ten zaczyna być bardziej high levelowy. Mam przez to na myśli, że Architekt, nie musi już całkowicie skupiać się na rozwoju umiejętności danej technologii (FE, BE, etc.), w tym przypadku jest on osobą projektującą wygląd całego systemu/aplikacji. Rolą architekta jest przemyślenie, czy do danego problemu odpowiednia będzie architektura microservice’ów, czy może jednak lepiej nadałby się monolit. Ogólnie rzecz biorąc, architekt jest rolą mocno związanie z projektowaniem systemów IT i jest to bardzo atrakcyjna ścieżka dla osób, które nie koniecznie interesują się mentoringiem osób w zespole, braniem udziału na codzień w pracach projektowych. Architekt lepiej czuje się w przekuwaniu wymagań biznesowych na plan przygotowania produktu końcowego.

3. Engineering manager

ostatnia ścieżka, którą chciałbym dzisiaj poruszyć. Engineering managerowie są osobami odpowiedzialnymi za łączenie biznesu z technologią. Do ich głównych obowiązków należy:

  • Zarządzanie kilkoma zespołami inżynierów
  • Przygotowuje roadmapy na podstawie potrzeb biznesowych
  • Zarządza zapotrzebowaniem rekrutacyjnym
  • Dba o rozwój podopiecznych

Ogólnie można podsumować pracę engineering managera, jako “ogarniacz”. Osoba taka musi odpowiednio zarządzać watakami, dbać o to, żeby projekt szedł sprawnie i żeby ludzie byli zmotywowani. Jest to praca na wysokim poziomie abstrakcji, jednak z niewielkim już zaangażowaniem w tematy techniczne.

Jak więc nie trudno się domyślić - bycie senior devem, to nie koniec kariery. W dzisiejszym materiale pokazałem jedynie kilka opcji, a w samy technicznym rozwoju pozostaje także wiele mniejszych lub większych ścieżek, które można wybrać. Przy planowaniu kariery jednak, warto zastanowić, się czy chcesz być związany/związana z technikaliami, czy bardziej interesuje Cię rozwój biznesowy i miękki.