Kilka lat temu aplikowałem do jednej firmy w Krakowie. Nie miałem wtedy komercyjnego doświadczenia. Dość mocno się przygotowywałem do rozmowy, prawie na wszystkie pytania techniczne odpowiedziałem dobrze. Gorzej było z pytaniami o moje doświadczenie, o Jira, Git i różne toole. Pracy nie dostałem. Teraz po kilku latach znów zaaplikowałem do tej samej firmy na to samo stanowisko, ale do innego managera. Tym razem rozmowa była krótka i prosta, mało pytań technicznych, więcej o moje doświadczenie co robiłem do tej pory. Idealnie się to pokrywało, z moim dotychczasowym doświadczeniem. Byłem naprawdę zaskoczony pozytywnie jak kilka dni później dostałem ofertę pracy. Niestety nie przyjąłem jej z innych względów.
Moje pytanie jest, czy tak wyglądają rozmowy dla ludzie z kilkuletnim doświadczeniem?
Mój ojciec pracuje w miejscu, w którym wymagane są m.in. uprawnienia energetyczne. Co pewien czas wewnętrzna komisja zakładowa te uprawnienia odświeża. Przez ostatnie kilka lat to wyglądało następująco:
- ile lat już Pan u nas pracuje?
- X lat
- jakby się Pan na tym nie znał, to by Pana już dawno temu zabiło. Przedłużamy
Myślę, że z osobą, która kilka lat siedzi w jakiejś technologii jest bardzo podobnie, dlatego nikt nie prowadził przesłuchania dot. języka u człowieka, który w danej technologii pracuje kilka lat. Tutaj raczej się ocenia szersze spojrzenie na temat i sposób, w jaki podchodzi do zagadnienia, a nie to, czy wie, czy w danym miejscu po klamerce trzeba wstawić średnik, czy można go ominąć ;)
Czasem jest łatwiej, czasem nie - zależy co realnie potrafisz/znasz i gdzie trafisz. Byłem ostatnio na kilku rozmowach i na części było bardzo luźno. Zdarzały się jednak i dosyć ciężkie.
Myślę, że z osobą, która kilka lat siedzi w jakiejś technologii jest bardzo podobnie, dlatego nikt nie prowadził przesłuchania dot. języka u człowieka, który w danej technologii pracuje kilka lat. Tutaj raczej się ocenia szersze spojrzenie na temat i sposób, w jaki podchodzi do zagadnienia, a nie to, czy wie, czy w danym miejscu po klamerce trzeba wstawić średnik, czy można go ominąć ;)
To akurat błędne podejście, do mojej firmy aplikował ostatnio gość z około 10 letnim doświadczeniem. Miałem podobne podejście i sugerowałem typ rozmowy o jakim mówisz. Niestety okazało się, że gość może ma 10 lat doświadczenia ale poziom naprawdę słaby.
-
Szef analitykow dla ktorego pracowalem podchodzil do rekrutacji analitykow tak:
Dobra nie dawajmy mu tego testu, bo jeszcze wyjdzie ze mimo X lat doswiadczenia nic nie umie. -
Dostalem na rekrutacji matematyczne zadania do rozwiazania, ale nie zwyczajne tylko wyrywkowo odpytujace o trudne, pamieciowe I teoretyczne szczegoly. Nie rozwiazalem prawie nic, ale prace zapropobowali ze wzgledu na moje doswiadczenie. (Odrzucilem)
Obecnie większość moich rozmów o pracę zaczyna się od zadania technicznego w domu, wysyłają ci zadanie i masz np 3 dni na jego skończenie.
Zwykle są to dość złożone aplikacje na telefon, tak żeby sprawdzić jak kodujesz.
Często dostajesz link do jakiegoś api i musisz sam dowiedzieć się jak ono działa, zaprojektować i zakodować rozwiązanie. Zwracają uwagę na : architecture clean code, używane biblioteki, ui testy, unit testy itp.
Po przejściu takiego zadania masz panel techniczny, zwykle dość prosty w porównaniu do zadania, a później rozmowa HR
Moim zdaniem teraz jest trudniej (ze względu na trudność zadania i bardzo krótki czas na ich oddanie), ale sprawiedliwiej ;p
Nie wiem czy jest tak w innych dziedzinach IT, ale w mobile jest to już chyba standard...
Zapomniałem jeszcze dodać że w przypadku odrzucenia zadania zawsze dostawałem informacje zwrotne co było nie tak i w kolejnej rozmowie tego błędu nie popełniłem. Takie feedbacki są świetne, bardzo szybko nadrobiłem braki w wiedzy w niektórych dziedzinach, w mojej obecnej firmie jest mały nacisk na rozwój wiedzy, wiec łatwo zostać w miejscu, a rynek mobilek pędzi do przodu ;p
xxx_xx_x napisał(a):
Obecnie większość moich rozmów o pracę zaczyna się od zadania technicznego w domu, wysyłają ci zadanie i masz np 3 dni na jego skończenie.
Zwykle są to dość złożone aplikacje na telefon, tak żeby sprawdzić jak kodujesz.
Często dostajesz link do jakiegoś api i musisz sam dowiedzieć się jak ono działa, zaprojektować i zakodować rozwiązanie. Zwracają uwagę na : architecture clean code, używane biblioteki, ui testy, unit testy itp.
Po przejściu takiego zadania masz panel techniczny, zwykle dość prosty w porównaniu do zadania, a później rozmowa HRMoim zdaniem teraz jest trudniej (ze względu na trudność zadania i bardzo krótki czas na ich oddanie), ale sprawiedliwiej ;p
Nie wiem czy jest tak w innych dziedzinach IT, ale w mobile jest to już chyba standard...
No i fajnie. Lepsze to niż codility w stylu żabka skacze po liściach ...
lxs napisał(a):
Moje pytanie jest, czy tak wyglądają rozmowy dla ludzie z kilkuletnim doświadczeniem?
Wydaje mi sie, ze to bardziej zalezy od rekrutera. Troche rozmow w zyciu mialem i te konkretne byly z ludzmi technicznymi, rozmowa o pracy, o problemach jakie sie spotkalo i rozwiazaniach, o architekturze, o wzorce, algorytm w pseudokodzie jakiegos prostego problemu itp. Po prostu sprawdzenie, czy sie wie o czym sie mowi, a nie czy sie pamieta, gdzie w kodzie srednik postawic.
Natomiast odpuszczam rekrutacje, gdzie proponuja zadanie programistyczne "do domu" na ktore poswiece wiecej niz pol dniowki. Moze to wynika z faktu, ze ostatnio pracy nie szukam aktywnie, wiec jak juz wezme udzial w jakiejs rekrutacji, to wynika to z inicjatywy rekrutera. Ja w tej sytuacji nie chce "inwestowac" nie wiadomo ile czasu, to pol dniowki to taka moja granica (5 etapowe rekrutacje tez odpadaja).
Moim zdaniem tak być nie powinno. A pobieżną i łatwą rozmowę traktowałbym jako znak ostrzegawczy. To świadczy, że próg wejścia dla poprzedników też był niski, i też byli "pozytywnie zaskoczeni", że ich przyjęto. W najlepszym wypadku sugeruje to, że niczego ciekawego od współpracowników nie podłapiemy. Może być tak (w przypadku małej firmy), że z zaawansowanych kwestii nie miał nas tam po prostu kto przepytać. W gorszym - grozi, że w kodzie będzie kibel, i to zatkany.
Tak jak napisał @var, na rynku nie brakuje osób z długim stażem, ale bardzo kiepskim warsztatem.
Jako senior miewałem przepytanki o bardzo różnym poziomie wnikliwości. Moim zdaniem nie ma reguły, że są lżejsze.
Niski próg czy nie? Ale czy jest na stanowiskach rotacja?
Sam niski próg nic nie znaczy, bo może firma wygrała duży projekt i musi zebrać ludzi.
Albo kandydat pracował długo dla klienta który byle kogo nie zatrudnia i dostać się tam to wyzwanie.
Ale rotacja to światło żółte migające.
Może nie być rotacji ale sam projekt, korporacja, technologie będą takie, że rekruterka w chwili słabości-szczerości na fejsie odpowie w komentarzu "Mam jednak nadzieję, że kogoś uda mi się znaleźć".
Moje pytanie jest, czy tak wyglądają rozmowy dla ludzie z kilkuletnim doświadczeniem?
W pewnym sensie tak, przynajmniej do pewnego stopnia. Jak spytam gościa o to czym się zajmował w poprzedniej pracy i żeby opowiedział o jakimś skomplikowanym problemie który debugował/rozwiązywał a on mi opowie jak profilował wąskie gardło w aplikacji i zamienił ConcurrenHashMap na zwykłą HashMapę za AtomicReference i zamiast updatować non stop tą "operacyjną mapę" po prostu podmienia ją na nową wersję co jakiś czas, albo jak wyskalowali jakieś serwis który był wąskim gardłem w aplikacji przez dostawienie nodów za load balancerem i postawienie rozproszonego cache na hazelcaście, albo jak przerobili aplikacje tak żeby mieć asocjacje wątek-zadanie tak żeby tylko jeden wątek dotykał pamięci jednego requestu i nie trzeba niczego synchronizować, to ja nie będę takiego gościa pytał czym się różni ArrayList od LinkedList :)
Analogicznie jak masz gościa który ma kilka lat doświadczenia jako developer w jakiejś firmie która nie jest januszexem, to nie bardzo jest sens pytać go czy umie gita albo czy umie mavena/gradle.
Inną sprawą jest oczywiscie całkowity brak weryfikacji technicznej, to też źle! Bo znam ludzi którzy maja doświadczenie i nawet potrafią rozwiązać jakiś złożony problem, ale piszą koszmarny kod write-only i nigdy nie chciałbym ich mieć w teamie. Więc mimo wszystko koniecznie trzeba zobaczyć kawałek kodu od kandydata i podyskutować na jego temat. Jeśli firma tego nie robi, to ja bym uciekał, bo dostaniesz potem do teamu ludzi których tak rekrutowano i kto wie co oni potem będą wyczyniać :P
Jednocześnie warto pamiętać że często na rozmowach na jakiegoś seniora dostaniesz bardziej złożone pytania, więc nie o różnice między treemap i hashmap, ale na przykład o rozproszone cache, skalowanie horyzontalne aplikacji, eventual consistency, non-blocking io, low latency czy przetwarzanie asynchroniczne.
Shalom napisał(a):
Więc mimo wszystko koniecznie trzeba zobaczyć kawałek kodu od kandydata i podyskutować na jego temat.
Cały komercyjny korporacyjny kod podpada pod non-disclosure agreement z karami umownymi z sześcioma zerami w dolarach.
Co ma pokazać kandydat? GitHuba z tutorialem?
Bo w pracy to nawet fotki swojego kubka na biurku nie może zrobić i pokazywać na zewnątrz.
@BraVolt może nie wyraziłem sie jasno: ma na przykład napisać trochę kodu w godzinkę podczas interview :)
Ja osobiście lubię chodzić na interview. (chociaż nigdy nie chodziłem stricte dla sportu) I niezależnie czy pytają o jakieś pierdoły czy zadania przy tablicy czy zwykła rozmowa zawsze wydaje mi się, że coś wynoszę z takiej rozmowy.
Z mojego doświadczenia im mam więcej doświadczenia i im więcej firma chce mi zapłacić tym rozmowa jest prostsza.
Najcięższe rozmowy dla mnie były takie które miałem lata temu gdzie ludzie przez 2h+ starali się zagiąć pytaniami o mało znane elementy standardu języka. I to były rozmowy za kasę <10k.
O dziwo wydaje mi się że najprostsze rozmowy są przy ofertach 25k+. Przeważnie rozmowa wygląda jak spotkanie kumpli przy piwie i gadanie o różnych problemach.
Obecnie chodzę na rozmowy, mam około 6 lat expa komercyjnego - jest zdecydowanie łatwiej niż wtedy gdy chodziłem 3 lata temu i wcześniej (byłem na około 15 rozmowach w ciągu swojego życia). Kiedyś musieli ze mnie wszystko wyciągać, teraz 1-2h rozmowy technicznej mija bardzo szybko, ilość pytań zadawanych przez mnie jest podobna do pytań które kierują do mnie i myślę, że wcześniej brakowało właśnie tych pytań ode mnie. Podsumowywując - tak, moim zdaniem jest łatwiej.
Jak byłem juniorem to na rozmowach byłem maglowany o wszelakie niuanse bibliotek do języka itp. A teraz gdy ocieram się o seniorkę to w zasadzie "a Pythona znasz? -tak - a, to dobrze". Chociaż częściowo widzę, że lepiej odbieram rozmowy bo czuję się na nich pewniej (mniejszy stres) niż jak byłem początkujący. Wiem też o co pytać i w zasadzie prowadzić dyskusję (jak np. rekruter opisuje ich projekt ze strony technicznej to wtrącam swoje pytania).