Senior .Net Developer – Designer, Senior Java Developer, Senior DevOps Engineer, Senior C/C++ Developer, Senior Front-end/React.JS Developer – to nazwy stanowisk IT zaczerpnięte z jednego z polskich portali z ogłoszeniami o pracę. Praktyka pokazuje, że definicja Seniora często przysparza wielu trudności i w każdej firmie może on oznaczać co innego. Czy jest jakiś standard, ułatwiający rekruterom przyciągnięcie odpowiednich kandydatów, jak i kandydatom aplikowanie na dane stanowisko? Niestety nie ma. Czego zatem wymaga się od Senior Developera w ogłoszeniach o pracę?
Lata doświadczenia w programowaniu
Często w ogłoszeniach pojawia się zakres miedzy 4 a 6 lat doświadczenia programowaniu. Zdarzają się również takie firmy, które poszukują Senior Developerów z 2-3 letnich doświadczeniem. W przypadku, kiedy dany język/framework jest właśnie tyle lat na rynku, jest to zupełnie zrozumiałe. Pytanie, czy w przypadku popularnych, od lat znanych frameworków, doświadczenie 2-3 letnie może być wystarczające na stanowisko Senior Developera?
Realizacja projektów od A do Z
Niektóre firmy na stanowiska Senior Developerów preferują kandydatów, którzy pracowali nie tylko w projektach, w których należało dopisać lub zmienić część danej aplikacji – czyli praca była nad małym wycinkiem całej aplikacji – ale pracowało nad nią od samego początku, aż do przekazania jej testerom i zaprezentowania klientom. A jeszcze lepiej, gdy kandydat regularnie uczestniczył w spotkaniach i prezentacjach dla klienta, nawet jeśli nie musiał nic mówić.
Świetna znajomość języka angielskiego
Znajomość języka angielskiego przez doświadczonych programistów wydawałaby się rzeczą oczywistą. Ale niestety nie jest. Trudno powiedzieć, z czego to wynika, ale faktem jest, że wiele rekrutacji obija się o tą kwestię. Niełatwo sobie wyobrazić programistę, który stara się być na bieżąco, kiedy musi korzystać tylko z polskich źródeł. Jednym zdaniem: English is a must! A poza tym, w przypadku pracy w zespołach międzynarodowych, angielski to język codziennej komunikacji.
Umiejętności managerskie
Senior to niejednokrotnie osoba, która będzie zarządzać kilkuosobowym zespołem programistów. Tak więc oprócz wiedzy technicznej, dzięki której będzie dla młodszych stażem mentorem, nauczycielem i osobą od rozwiązywania problemów, powinien posiadać umiejętności (i doświadczenie) managerskie w zarządzaniu zespołem projektowym. Jednym słowem to osoba, która będzie planowała, rozdzielała prace, dbała o dobrą atmosferę w wśród członków grupy, motywowała i oceniała pracę podległych mu pracowników.
Innowacyjność
Osoba pracująca na stanowisku Senior Developera często będzie odpowiada za tworzenie nowych rozwiązań, za innowacyjne projekty. Dlatego ciągłe uczenie się, czytanie o nowinkach technicznych i rozwiązaniach stosowanych w zagranicznych firmach, czy też aktywne udzielanie się na zagranicznych forach programistycznych to aktywności, które wspierają innowacyjność i realizację takich projektów. Dlatego też znajomość języka angielskiego jest tak przydatna.
Rozumienie biznesu
Od osoby na tym stanowisku czasem wymaga się zrozumienia, że tworzenie aplikacji, pisanie kodów służy określonym klientom. Wiedza na temat całego procesu biznesowego od analizy potrzeb, przez produkcję, po testowanie – jak również rozumienie wskaźników biznesowych i finansowych – może tylko pomóc: zarówno samemu Seniorowi, jego teamowi jak i klientowi końcowemu.
Kim jest zatem Senior Developer? Choć definicje tego stanowiska mogą się różnić w szczegółach, to ich wspólnym elementem jest to, że sama biegłość techniczna i lata doświadczenia w kodowaniu to za mało, żeby nim zostać. Umiejętności i kompetencje Seniora sięgają bowiem daleko poza klawiaturę komputera i z pewnością nie każdy programista ma szansę nim zostać.