Poziomy doświadczenia w AKRA Polska.

Zawartość

Poziomy doświadczenia w AKRA Polska.

Wprowadzenie

Cześć! Dzisiaj zamierzam podzielić się z wami spojrzeniem na poziomy doświadczenia i ścieżki kariery, które stosujemy w AKRA.

Będzie to pożyteczna lektura dla każdego, szczególnie dla osób na początku swojej przygody z IT.W branży poziom doświadczenia programisty określa się zazwyczaj w 3 poziomach: junior/ regular (stosowany wymiennie z middle)/ senior. Gdyby dało się uprościć rzeczywistość do tych trzech określeń to nie byłoby potrzeby pisania tego artykułu. Pora dowiedzieć się trochę więcej.

Intern

Nikt nie zaczyna swojej kariery i pierwszej pracy jako junior. Zdarzają się pasjonaci technologii od czasów szkoły średniej lub wcześniej, którzy jeszcze w trakcie edukacji zakwalifikowali się do CoreTeam rozwijającego np. PHP.net ale zdecydowanie należą do wyjątków :). 99% zaczyna karierę jako intern, czyli praktykant w danej technologii. W tym czasie poznaje z pomocą bardziej doświadczonych osób tajniki technologii, jednej bądź więcej. Dla niektórych trwa to kilka miesięcy, dla innych dłużej (to silnie indywidualna kwestia, zależna. w dużej mierze od zaangażowania). Co warto wiedzieć o okresie praktyk:

  1. nauka, nauka, nauka
  2. obcowanie z bardziej doświadczonymi osobami z branży, najlepiej w modelu mentoringowym,
  3. jeszcze nikt nie wymyślił jak dobrze przeprowadzać praktyki zdalnie!

Błędem jest założenie, że uczymy się tylko w szkole i na studiach. W IT nauka trwa do emerytury, ale szczególnie intensywnie jest na początku. Nauka jest najskuteczniejsza wtedy,  kiedy pochodzi od praktyków, nie tylko z książek. Słowo pisane jest ważne, ale nie można bazować wyłącznie na kursach online i lekturze książek o programowaniu. Interakcja z doświadczoną osobą pozwala fenomenalnie się rozwijać na tym etapie. Praktyki zdalne nie spełniają swojej funkcji. Ich skuteczność jest ułamkiem tego, co można osiągnąć na tych, które odbywają się stacjonarnie.

Junior

Junior. To osoba z podstawową wiedzą, świadoma odpowiedzialności swoich czynów („sudo rm –rf” .. klasyk ! :), która potrafi wnieść wartość dodaną na komercyjnym projekcie pod okiem bardziej doświadczonego członka zespołu. Junior może i często pracuje w zespole komercyjnym. Nieodzowną rzeczą na tego typu projektach jest wspólne code review. Na tym etapie jest to niezmiernie istotne. Zwykle zadania, które wykonuje junior są prostsze, na miarę jego możliwości i dotyczą obszaru w którym się rozwija. Niestety nie każdy zespół/projekt zgadza się na angaż naiedoświadczonej osoby. Na rynku pracy jest pełno pracy dla regular developerów oraz pełno chętnych do pracy juniorów. Nie ma reguły jak się przebić. Każdy musi znaleźć swój sposób i spotkać właściwe osoby, które pomogą w rozwoju kariery :) Nie ulega też wątpliwości, że podstawowym obowiązkiem juniora jest dalszy rozwój i usamodzielnienie.

Middle

Ile trzeba mieć lat doświadczenia żeby mianować się regular developerem? Takie pytanie padło między innymi w trakcie eventu #ITgatki, który realizowaliśmy w #AKRA kilka miesięcy temu. Middle w IT to nie kwestia stażu, tylko roli w zespole, jaką możesz pełnić. Staż często idzie w parze ale nie jest zupełnie miarodajny. Cechy regular developera to:

  1. samodzielna praca nad zadaniami o średnim poziomie trudności, najczęściej nad rozbudową istniejącego projektu,
  2. odpowiedzialność i bycie realnym wsparciem dla pozostałych członków zespołu.

Widoczne są dwa aspekty, które plasują rolę regulara w zespole. Faktyczne umiejętności oraz relacje, jakie panują w teamie. IT to trochę jak sport zespołowy. Wartość developera zależy od roli, jaką zespół mu powierzy, na ile zaufa jego umiejętnościom. Najlepsze zespoły IT to takie, które prowadzą bezbłędną komunikację i wśród których panuje pełne zaufanie. Żeby móc określić developera regularem, zespół, czyli jego otoczenie musi to w nim dostrzec.

Senior

Następny etap kariery, czyli senior jest dla wybranych. Nie każdy może poświęcić tyle energii, żeby dotrzeć do tego etapu. Pierwszy krok to wybór ścieżki, a te są dwie:

  1. Ścieżka specjalisty to stricte techniczna ścieżka. Konieczne jest dogłębne zrozumienie swojej wiodącej technologii tak, aby być w stanie rozwiązywać najbardziej złożone problemy. Potrzebna do tego jest również wiedza analityczna, bo niektóre problemy są również merytoryczne mimo, że ich rozwiązanie jest czysto techniczne. Kiedy wszystkie powyższe warunki są spełnione możemy nazwać developera seniorem specjalistą.
  2. Ścieżka mentora. Skupia się na pracy zespołowej i mentoringu dla osób o mniejszym doświadczeniu. Jest to bardzo pożądana rola w każdej firmie. W ten sposób podnosi się wydajność całego zespołu, nie mówiąc już o relacji ze swoimi podopiecznymi, która często jest budowana na lata. W trakcie rozwoju na tej ścieżce konieczna jest podstawowa wiedza z obszaru HR. W roli senior mentora nie wykonuje się pracy za swój zespół. Doprowadza się  go do stanu, w którym sam ją wykona. Wyższa szkoła jazdy.

Lead developer

Czy to koniec? Nie! Senior specjalista i senior mentor mogą między sobą migrować. W zależności od sytuacji możliwa jest wymiana ról (w miarę kompetencji). Kiedy każda z nich jest opanowana do perfekcji otwiera się trzecia opcja seniorska, czyli lead developer. W tej roli łączy się obie wyżej opisane funkcje, zarówno techniczne, jaki zespołowe. Osoba pełniąca tą funkcję staje się dla swojej drużyny Alfą i Omegą. Ekstremalnie wysoka odpowiedzialność. Ponadprzeciętne zaangażowanie. Dobra relacja z zespołem. Nie da wykonywać tej pracy na pół etatu. Wykorzystane zostaje tutaj całe doświadczenie zebrane w trakcie kariery zawodowej.

Solution architect

Można by pomyśleć, że to już szczyt drabinki ale to nie do końca prawda. Da się wyżej, albo przynajmniej inaczej. Każdy programista mając wybór wybierze projekt pisany od zera. Nie ma legacy kodu, brak „git blame”, pipeline prac na X miesięcy. Brzmi świetnie, ale start nowego projektu to nie lada wyzwanie. Bywa, że przez pierwsze kilka miesięcy robi się research w technologiach, zanim zacznie się prace nad kodem aplikacji. To nie jest praca dla middla, czy nawet seniora. Złożone projekty zaczyna się od planowania architektury i rozwiązań, które będą zastosowane. Ta rola należy do solution architekta. Żeby móc wykonać tą pracę trzeba być senior specjalistą w minimum jednej technologii i co najmniej regularem w dwóch kolejnych. Częstym połączeniem są technologie backend i frontend, potocznie nazywane full-stack. Dobrze, jeśli dochodzą do tego umiejętności w obszarze DevOps lub QA.

Podsumowanie

Na koniec kilka słów ode mnie :)
Rozwój to nie tylko Twój obowiązek. Plany na siebie należy komunikować w zespole i w firmie na rozmowach ewaluacyjnych. Do awansu potrzebny jest ogrom Twojej pracy, ale też solidna pomoc ze strony otoczenia. Osoby na ścieżce do awansu, które jeszcze nad czymś pracują otrzymują w AKRA poziom z „+” (np. Junior+ to osoba, która aspiruje na Regulara i z którą wspólnie nad tym pracujemy). Czasem chodzi o odpowiednie wyzwanie, które pozwoli Ci się wybić. Wszystkim zależy na tym, żeby można było Ci powierzać bardziej odpowiedzialne zadania. Idzie to oczywiście w parze ze wzrostem wynagrodzenia !. Pamiętaj o aspekcie zaufania zespołu do Ciebie. Twoja samoocena może się różnić od tego, jak postrzegają Cię inni w firmie. Nie zaniedbuj relacji z nimi. Życzę Ci powodzenia w planowaniu i podążaniu ścieżką rozwoju oraz samych sukcesów po drodze!