Jaki jest pożytek z doświadczonego Senior Developera?

Zadania programisty na stanowisku Senior Developer

Doświadczony programista w branży IT to niekwestionowana wartość w każdej firmie. Należy jednak zastanowić się wcześniej, jakie zadania warto powierzyć takiemu specjaliście. Bardzo często firmy popełniają podstawowy błąd, zatrudniając go do pisania regularnego kodu i innych relatywnie prostych zadań, przez co nie czerpią maksymalnie z potencjału seniora. Czemu nie warto przydzielać seniorowi takich zadań i w czym konkretnie senior powinien wspomóc projekt?

Senior Developer – kiedy się nim zostaje?

Specjalista w IT musi przejść długą drogę, aby wreszcie pracować jako szanowany senior deweloper. Najczęściej za seniora uważa się osobę, która ma za sobą dobrych kilka lat doświadczenia. Niestety, wbrew obiegowej opinii na rynku pracy, poziom programisty jest dość luźno związany z jego stażem pracy. Bardzo często zdarza się tak, że wielu programistów mimo długoletniego stażu zatrzymuje się na poziomie niżej (mi-level, regular) i praktycznie nigdy z niego nie wychodzi. Zdarzają się (choć rzadziej) również programiści, którzy poziom seniorski osiągają nawet po dwóch latach pracy w zawodzie. Oczywiście wiele lat doświadczenia sprzyja zdobyciu wiedzy, umiejętności i „obycia”. Jednakże sam staż jest jednak warunkiem wystarczającym ani koniecznym.

Na użytek niniejszego artykułu przyjmijmy, że programista senior to ktoś, kto osobiście kierował kilkoma zakończonymi sukcesem projektami programistycznymi, które różniły się od siebie zarówno tematycznie jak i  technologicznie, oraz że cechuje go szeroki repertuar umiejętności i wiedzy nie tylko ze sfery technicznej, lecz także organizacyjnej, analitycznej i biznesowej.

Jakie zadania powinien wykonywać senior deweloper?

O seniorze można powiedzieć, że jako junior i mid-level deweloper popełnił już dość wiele błędów, by uniknąć większości z nich w przyszłości. Można powiedzieć, że zjadł zęby na programowaniu i oprócz znajomości wielu technologii i bibliotek oraz błyskawicznego wyszukiwania błędów w kodzie młodszych programistów, posiada także wiele innych umiejętności, które są niezastąpione podczas realizacji  projektów IT. Nie tylko radzi sobie świetnie z trudnymi zadaniami programistycznymi, lecz również patrzy szerzej na projekt i jest w stanie ostatecznie dostarczyć klientowi dobrej jakości produkt.

Do głównych zadań programisty na stanowisku seniorskim nie powinno należeć pisanie regularnego kodu. Jeśli już, to powinien zajmować się elementami najtrudniejszymi lub najwrażliwszymi, rzutującymi istotnie na całość projektu. Jako programista dysponujący szerszym horyzontem senior przede wszystkim decyduje o doborze właściwych rozwiązań, zazwyczaj nie zajmując już się ich bezpośrednią implementacją. Angażowanie go do pisania regularnego kodu nie jest niczym innym, jak zwyczajnym marnotrawstwem zasobów. Oczywiście programista senior również nadzoruje prowadzone prace, by upewnić się, że zmierzają w określonym przez niego kierunku. Za jego sprawą młodsi koledzy powinny unikać większości typowych błędów. Relacja między seniorem a młodszymi specjalistami winna przypominać relację mistrz – uczeń. Nie chodzi więc tylko o nadzór, lecz także o transfer wiedzy i umiejętności, często niedostępnych w podręcznikach i niemożliwych do opanowania w inny sposób. Senior również rozumie pozatechniczne wymogi projektu. Zdaje sobie sprawą, czemu ma służyć system, nad którym pracuje, a także jakie ma dać korzyści zleceniodawcy. Ma świadomości mogących pojawić się na każdym etapie trudności z funkcjonowaniem, obciążeniem czy skalowaniem tworzonego produktu.

Dlatego też warto podkreślić raz jeszcze, że firmy, które zatrudniają seniorów do pisania regularnego kodu popełniają błąd, gdyż do zadań trywialnych przeznaczają pracownika, który potrafi nie tylko nie tylko potrafi programować, lecz również przewiduje problemy, które jeszcze nie powstały. Senior to zatem doświadczony programista, którego prawdziwa wartość tkwi w tych wszystkich opisanych wcześniej zadaniach niż podczas pisania kodu, którym mogą zająć się pracownicy o mniejszych umiejętnościach i wiedzy.

Podsumowując, do podstawowych zadań programisty na stanowisku seniora powinien należeć:

  • wybór właściwych technologii i rozwiązań,
  • nadzór i koordynowanie prac,
  • wsparcie młodszych członków zespołu (wskazywanie błędów, transfer wiedzy),
  • zapewnienie realizacji prac we zgodzie z pozatechnicznymi (biznesowych) uwarunkowaniami.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *