Doświadczenie a staż? Lata pracy w CV i w ogłoszeniach. Devdebata cz.1
Słuchamy głosu społeczności IT, która nieraz zgłaszała, że ich zdaniem określanie w sekcji wymagań ofert pracy lat doświadczenia nie spełnia swojej roli. Postanowiliśmy więc zaprosić seniorów do tego, by podjęli się dyskusji na ten temat. Czy ich zdaniem warto określać „idealnego” kandydata poprzez wskazanie minimalnych lat spędzonych z danym frameworkiem czy językiem programowania?
Odpowiedzi na pytania udzielili:
- Marcin Lasak. Senior frontend developer w Divante. Rok po otrzymaniu swojego pierwszego komputera zaczął bawić się technologiami webowymi i do tej pory uwielbia frontend. Ostatnio pisze w Angularze, mimo że kocha Reacta.
- Sławomir Grabowski. Inżynier oprogramowania w Quick Turn Studio. Zwolennik pracy z modern C++ w połączeniu z Test Driven Development, prowadzący krucjatę przeciwko singletonom i referencjom do std::share_ptr. W swoim startupie tworzy framework do tworzenia aplikacji UI dla urządzeń wbudowanych. Po godzinach tworzy turową grę strategiczną osadzoną w świecie fantasy.
- Rafał Jaworowski. Senior Full Stack Developer w Hitachi ABB PowerGrids. Wcześniej Senior Developer w Societe Generale, AON, a jeszcze wcześniej (Developer/Senior Developer/Architekt) w PKP Informatyka. Pasjonat słuchania innych ludzi i uczenia się od nich. Dobry kolega z zespołu i osoba, której nie zależy na nazwie stanowiska a na ludziach. Lubi rozmawiać o architekturze i stara się rozumieć potrzeby innych. Chętnie pomaga, „bo wół nie zapomniał jak cielęciem był”.
- Sylwek Brzęczkowski. Python Technical Lead w Trust Stamp, gdzie zajmuje się użyciem danych biometrycznych w usługach. Po pracy twórca kanału na YouTube “Sylwek Brzeczkowski” oraz współtwórca podcastu CYBERFAZA. We wszystkim co robi koncentruje się na odbiorcy, czy to klient, widz czy słuchacz. Wielki fan optymalizacji procesów, wyznawca twelve-factor i pragmatycznego myślenia. Ojciec dwóch chłopaków, hobbystycznie gitarzysta.
Spis treści
1. Co dla Was znaczy doświadczenie zawodowe w latach pracy programisty?
Marcin Lasak, Senior frontend developer w Divante:
Do doświadczenia w latach pracy jako programista podchodzę raczej jako wskaźnika, który nieprecyzyjnie, ale w jakimś stopniu określa umiejętności, wiedzę i zróżnicowanie doświadczenia programisty. Bardziej patrzę na to w przedziałach:
- do 2 lat raczej spodziewam się podstawowych umiejętności, braku pełnej samodzielności,
- do 6 – 8 lat po prostu samodzielnego programisty,
- powyżej 8 lat, programista z dużym doświadczeniem, który może być w stanie zarządzać zespołem.
Tak mogę tylko wstępnie określić, czego mogę spodziewać się po latach pracy programisty. Wszystko zależy od tego jak te lata zostały zagospodarowane. Czy to na wielu ciekawych projektach, czy robiąc jeden projekt przez cały czas, czy robiąc podobne zadanie przez większość tego czasu. Precyzyjniej doświadczenie zawodowe możemy zweryfikować dopiero w czasie rozmowy i wspólnej pracy.
Sławomir Grabowski, Inżynier oprogramowania w Quick Turn Studio:
Moim zdaniem lata pracy w ofertach pracy to nic znacząco przydatnego. Powszechnie uważa się, że ilość doświadczenia jest proporcjonalna do umiejętności. Wystarczy zostać weryfikatorem umiejętności technicznych w procesie rekrutacji by dowiedzieć się, że jest to skrajnie złe założenie. Nie są to odosobnione przypadki, że ktoś z ponad pięcioletnim doświadczeniem nie zna podstaw technologii, które najczęściej występują w jego CV.
Kilka razy doświadczyłem sytuacji, kiedy prowadziłem rozmowę z kandydatem z ponad dziesięcioletnim doświadczeniem i po odpowiedziach na dwa – trzy pytania techniczne wiedziałem, że feedbackiem dla działu rekrutacji będzie „absolutnie nie”.
Moim zdaniem informacja o doświadczeniu może przydać się w dwóch sytuacjach:
- Jeżeli osoba ma wiele lat doświadczenia i pracowała bardzo długo w jednej firmie to należy dokładniej ją zweryfikować, bo istnieje ryzyko, że jest już leniwa i nie ma chęci do nauki. Mogła zasiedzieć się w jednej firmie, bo stabilna praca, bez stresów, bez potrzeb douczania się albo szukała przez wiele lat innej pracy, jednak wszystkie oferty, które dostawała oznaczały obniżenie wynagrodzenia.
- Mianowanie kogoś na lidera zespołu, gdzie jednak wymagałbym co najmniej kilkuletniego doświadczenia, ale nie ze względu na domniemane umiejętności techniczne a doświadczenie brania udziału w procesach projektów, komunikacji z innymi itd.
Rafał Jaworowski, Senior Full Stack Developer Hitachi ABB PowerGrids:
Osobiście uważam, że najlepszym programistą jest ten, kto posiada zarówno długie doświadczenie zawodowe np. 5+ jak również jest na bieżąco z technologiami. Musi również czerpać pasje z tego co robi, jednak takich osób jest bardzo mało. Moim zdaniem 95% programistów w ogóle się nie uczy, dlatego czym starszy tym gorszy. Kamieniem nie rzucę, bo też miałem taki roczny okres w życiu, że nie miałem siły być na bieżąco.
Staram się też patrzeć dojrzałej na kompetencje innych, nie patrzę na to, że np. ktoś jest mistrzem w programowaniu (albo mistrzem Frameworka) to znaczy, że jest świetnym developerem. Lata doświadczenia uczą też pokory i spokoju w podejmowaniu decyzji, jak również dystansu, który wpływa na jakość naszej pracy. Wiem też co potrafi developer z 10 letnim stażem i każdy kolejny rok w danej technologii.
Jeśli np. jesteś developerem .NET z rocznym doświadczeniem to możesz nie wiedzieć, że np. zapytania LINQ w EntityFramework jest kompilowane do SQL, tak do SQL. Jak masz mniej niż trzy lata doświadczenia to w większości przypadków nie wiesz, co to jest LinkedServer. Nie wspomnę już o WPF, WCF, WinForms czy WebForms albo jak trzeba coś napisać w .NET 2.0. To co wiesz to wzorzec mediator, EventSourcing i w teorii SOLID. Nie jest źle, ale sporo Tobie umknęło.
Sylwek Brzęczkowski, Technical Lead w Trust Stamp:
Jest to pewien wskaźnik tego, czego można oczekiwać od kandydata. Mam tendencję do ufania kandydatowi, że te “2 lata doświadczenia” to były pełne 2 lata przepracowania z daną technologią. Jeśli na rozmowie rekrutacyjnej okaże się, że programista nie zna podstawowych zagadnień lub nie zna rozwiązań typowych problemów jakie zdarzają się w danej technologii to też jest dla mnie kolejna cenna informacja co do jego wiarygodności. A z kolei wiarygodności jest jedną z najważniejszych miękkich cech programisty, obok samodzielności i odpowiedzialności.
Wolę już pracować z programistą, który mało wie, ale przynajmniej jestem tego świadomy. Dzięki temu mogę sprawnie zarządzać zespołem i zadaniami. Nie ma nic gorszego od osoby, która obiecuje, a nie dowozi.
Ale kompletnie szczerze: jakoś musimy przesiać CV które do nas przychodzą i oczywiście patrzymy na lata doświadczenia, ale jeśli na rozmowie okaże się, że delikatnie mówiąc “kandydat mija się z prawdą”, to jest to dla mnie gorszy znak.
2. W ofertach pracy powinno się właśnie w ten sposób określać profil kandydata?
Marcin Lasak, Senior frontend developer w Divante:
Oprócz wymagań odnośnie technologii i umiejętności trzeba sprecyzować jakiej samodzielności i odpowiedzialności oczekujemy od kandydata. Czy będzie to zrobione w formie lat doświadczenia, czy poziomu stanowiska (junior, regular, senior) nie ma większego znaczenia. Obie miary są nie do końca miarodajne i powinny być tylko wskazówką dla rekrutera w procesie. To pomoże w odseparowaniu juniora do projektu, gdzie potrzebny jest senior, ale pewnie niejeden regular deweloper może się nadać na to stanowisko i dostanie szansę przy rekrutacji.
Sławomir Grabowski, Inżynier oprogramowania w Quick Turn Studio:
To zależy od kilku czynników. Jeśli na przykład mamy projekt body leasingowy to klient, który płaci za godzinę często chce znać profile i CV osób wynajmowanych i wymaga tych kilku lat doświadczenia. Oczywiście często firmy modyfikują te profile i oszukują klientów dodając umiejętności i lata doświadczenia, ale jak nie chcą tego robić to w takim przypadku dodawanie do ogłoszenia informacji o wymaganym doświadczeniu w latach rzeczywiście ma sens.
Może są jeszcze inne przypadki, ale moim zdaniem wymaganie X lat doświadczenia w ogłoszeniu może tylko zaszkodzić, ponieważ:
- Osoba zdolna, pisząca coś po godzinach, mająca wystarczające umiejętności może nie zaaplikować, bo uzna, że jego prywatne projekty nie liczą się do komercyjnego doświadczenia.
- Wizerunkowo łatwo popełnić gafę, których już widziałem kilka, np. ogłoszenie, gdzie szukano eksperta Front End i wymagane było 8 lat doświadczenia w React, gdzie sama technologia React miała 6 lat.
Rafał Jaworowski, Senior Full Stack Developer Hitachi ABB PowerGrids:
Moim zdaniem generalnie nie powinno się pisać wymaganego wieku doświadczenia (oczywiście są wyjątki). Ponieważ tak naprawdę to pytania sprawdzają jak również stack technologiczny czy jesteś odpowiednim kandydatem na pracownika. Kto wie może jak masz te trzy lata doświadczenia i dostaniesz pytanie z LinkedServer to będziesz umiał na nie odpowiedzieć? Podczas rekrutacji do obecnej firmy padły ciekawe pytania, które rzeczywiście sprawdzały zakres wiedzy od najnowszych technologii do siedmiu lat wstecz. Ogólnie świetne miejsce pracy i bardzo fajni ludzie.
Sylwek Brzęczkowski, Technical Lead w Trust Stamp:
Wskaźnik ten nie jest idealny, ale to ciągle jakaś informacja. Im bardziej precyzyjne i szczegółowe są wymagania w ofercie pracy, tym obie strony mniej marnują czasu. W wypadku podawania wymagania tylko odnośnie lat doświadczenia, ja jako kandydat mogę to sobie zinterpretować to jak tylko chcę.
Rozmijające się oczekiwania wychodzą dopiero na drugiej (pierwsza jest “miękka”) rozmowie rekrutacyjnej i moim zdaniem jest to już całkiem późno. Dlatego dobrze jest, gdy na ofertę, którą przygotowuje firma rzuci okiem programista, z którym będzie pracował nowo zatrudniony. Niech dorzuci trochę technicznych szczegółów i trochę mięcha, może rekruter będzie miał mniej zgłoszeń, ale wyższą konwersję i mniej zmarnowanego czasu. Bardzo sobie cenię grę w otwarte karty.
3. Spotkaliście się z sytuacją, w której nie spełnialiście wymogów, bo pracowaliście za krótko, choć znaliście wszystkie wymagane technologie? Powstrzymało Was to od aplikowania?
Marcin Lasak, Senior frontend developer w Divante:
Na początku kariery oczywiście powstrzymywało mnie to przed aplikowaniem na stanowiska regulara/seniora mając zaledwie kilka miesięcy doświadczenia. Później w czasie kariery niespełnienie 2-3 wymogów, czy posiadanie 2 lata mniej doświadczenia niż to jakie jest wymagane nie powinno być przeszkodą w aplikowaniu na stanowisko. Tym bardziej, że bardzo często zdarza się, że wymagania stawiane w ofertach są często niepotrzebnie zawyżone, gdzie niektórych z tych wylistowanych wymogów już w czasie normalnej pracy możesz nigdy nie potrzebować.
Sławomir Grabowski, Inżynier oprogramowania w Quick Turn Studio:
Wyłącznie na początku mojej kariery, kiedy pierwszy raz zmieniałem pracę i z rokiem doświadczenia nie aplikowałem na stanowiska tzw. seniorskie. Następnym razem nie zważałem na takie wymagania, bo poznałem swoją wartość i dowiedziałem się, że lata doświadczenia nie świadczą o umiejętnościach. Mimo niespełnienia wymagania X lat doświadczenia w większości dostawałem zaproszenia na rozmowy i oferty współpracy. Jednak ja jestem bardzo pewny siebie i należę do mniejszości, która nie zwraca uwagi na część wymagań w ogłoszeniu.
Rafał Jaworowski, Senior Full Stack Developer Hitachi ABB PowerGrids:
Nie spotkałem się z taką sytuacją.
Sylwek Brzęczkowski, Technical Lead w Trust Stamp:
Powiem więcej! Kiedy aplikowałem do Mirantis (technologie OpenStack) spełniałem tylko 2 z 5 wymagań na stanowisko Juniora, a z wymaganego roku doświadczenia miałem tylko 6 miesięcy. Okazało się, że na stanowisko nadaję się, bo miałem dużą wiedzę, którą nabyłem w side-projectach pisanych hobbystycznie.
Więc nie krępuj się. Jest szansa, że zaproszą cię na rozmowę i będziesz miał okazję się wykazać, tylko bądź szczery co do swojej wiedzy i umiejętności! Niech ta gra będzie uczciwa!
To pierwsza część devdebaty, drugą opublikowaliśmy tydzień później.
Zdjęcie główne artykułu pochodzi z unsplash.com.