Jestem aktualnie na początku jakiejś tam rekrutacji kolejnego inżyniera do zespołu i mam wrażenie, ze coś tu nie gra. Zresztą podobnie jak przy okazji wcześniejszych rekrutacji, tylko zwiększyła się intensywność tego doznania.
Widełki kończą się na 20k netto na fakturze, więc chyba nie tak źle, a CV jakie spływają to ogólnie goście z ~3 latami doświadczenia. Problem w tym, że moim subiektywnym zdaniem, realne doświadczenie (umiejętności) są mierne, nawet jak na juniora.
Ostatni kandydat (gdybyś to czytał - nic osobistego, nie jesteś jedyny) nie rozróżniał przekazania wartości od przekazania referencji. Nie, pytania nie były o jakieś tam przechowywanie na stosie i na stercie, czy inne mało przydatne rzeczy, tylko o taki kawałek kodu:
Osoba osoba = new Osoba("Kowalski");
list.add(osoba);
osoba.setName("Nowak");
osoba.getName()== list.get(0).getName();//jaki będzie wynik?
Może moje wymagania są na wyrost, ale wyobrażam sobie, że po iluś tam latch wypada wiedzieć kiedy ma się jeden obiekt, a kiedy 2.
Ogólnie większość rozmów ma taki schemat, że zadajemy kilka odwiecznych pytań rekrutacyjnych i wygląda to tak:
-
Jaka jest różnica pomiędzy klasą abstrakcyjną a interfacem
-
Błyskotliwa odpowiedź przećwiczona z kursu przechodzenia rozmów na YouTube
-
Kiedy użyłbyś interface, a kiedy klasy abstrakcyjnej
-
pomidor
-
znasz jakieś wzorce projektowe?
-
singleton. Implementuje się go tak, a tak, albo inaczej, no i to antywzorzec
-
dlaczego uważasz, że to antywzorzec?
-
pomidor
-
jak napisać klasę niemutowalną?
-
no, niemutowalność.......wiem, trzeba gettery usunąć
-
można jeszcze jakoś zapewnić, że pole klasy będzie przypisane wyłącznie przy tworzeniu?
-
a.... final trzeba dopisać
-
a gdzie?
-
no przy nazwie klasy
-
... no nie...
Tak to wygląda u tak na oko 80% kandydatów. I nie piszę o świeżych gościach którzy szukają pracy w IT, tylko ludziach, których ktoś już co najmniej raz zatrudnił, czasami nawet kilka razy. Chciałbym wierzyć, ze nakłamali w CV, ale może tylko się łudzę.
Moje obecne wyobrażenie rynku pracy IT, to ogólnie tłum wyrobników, którzy wklejają kod ze SO bez nawet próby zrozumienia o co w nim chodzi, większość czasu w pracy spędzają na ręcznych zadaniach mapowania jednego obiektu na drugi a czasami permutacjach linijek kodu, żeby coś zadziałało trochę zgodnie z wymaganiami. Druga grupa, mniej liczna to ludzie którzy wiedzą o co chodzi w tej pracy, są w stanie samodzielnie rozwiązać jakiś problem, wpaść na jakiś pomysł.
Problem w tym, że ci pierwsi, prędzej lub później złapią jakąś robotę, za bardzo podobne pieniądze jak ci drudzy, bo ssanie jest wielkie i w końcu trafią na jakąś rozmowę, gdzie nikt nie będzie wnikał, kasa się zgadza, staż się zgadza, na pytanie o to czym różni się ArrayLista, od LinkedListy odpowiedział - co z tego, że nie rozumie czym jest lista.
Płakać nie będę, bo moja pensja też jakoś tam zależy od średniej na rynku. Jeżeli tylko będą rozwalać inny projekt i inny zespół, to nic mi do tego. Zastanawiam się jedynie, czy kiedyś ktos się połapie, że pewnie połowa zatrudnionych w IT ma zerowy, bądź ujemny wkład w rozwijany software.
Większość pracy w PL aktualnie przychodzi z zagranicy. Jesteśmy takim Bangalore Europy. Dostajemy robotę, bo jesteśmy tańsi niż ludzi na zachodzie i mamy opinię (nie wiem czy słuszną) lepszych niż np. hindusi, czy Wietnamczycy. Nie sądzę, żebyśmy zdecydowanie odstawali jakością od programistów z Azji, chociaż umiejętność powiedzenia kilku w miarę angielskich zdań może dawać nam przewagę. Ci z zachodu, też bywają bardzo różni i na bardzo różnym poziomie. Właściwie, głównym powodem dla którego otwierają się u nas wciąż nowe centra technologiczne, jest to, że podobno można u nas zatrudnić programistów. Problem w tym, ze jest to złudzenie, bo przyrost liczby nowych fachowców na rynku jest bardzo niski, koncerny podkupują sobie wzajemnie ludzi, bo jak wiadomo łatwiej wytłumaczyć konieczność dosypania kasy na nowego kandydata, niż na utrzymanie pracownika.
Wydaje mi się, ze mamy teraz pęd na IT (dobrze), dla większości jedyną motywacją jest kasa (nie ma znaczenia) a bardzo duża część z tych biegnących do IT, nie jest w żaden sposób zainteresowana zdobyciem jakichś nowych umiejętności, czy ogólnie nauczeniem się czegokolwiek (źle).