06/06/2011

Bardzo wymagająca rekrutacja

Home

W swojej dotychczasowej karierze wziąłem udział w wielu rekrutacjach. W przeważającej liczbie przypadków zostałem zaproszony na rozmowę ale czasami skończyło się na wysłaniu CV. Bardzo często zaproszenie na rozmowę poprzedzone było wywiadem telefonicznym. Wielokrotnie rozwiązywałem różnego rodzaju testy, dużo rzadziej byłem proszony o wykonanie pracy domowej. Część rekrutacji organizowana była przez firmy HR'owe inne bezpośrednio przez zatrudniającą firmę. Spośród tych wszystkich rekrutacji kilka zapadło mi w pamięci, a szczególnie jedna niezwykle wymagająca. Aby nie budzić wątpliwości napiszę, że rekrutacja ta odbyła się już sporo czasu temu i finalnie nie podjąłem współpracy z tą firmą. Chciałbym jednak opisać jak wyglądała ponieważ dużo się dzięki niej nauczyłem i jest dla mnie dzisiaj wzorem, do którego porównuję inne rekrutacje. Post ze względu na jego długość postanowiłem rozbić na dwie części, tutaj prezentuję pierwszą.

Wszystko rozpoczęło się w sposób standardowy od zapytania na portalu internetowym czy jestem zainteresowany taką, a taką ofertą pracy. Propozycja była na tyle interesująca, że odpowiedziałem na nią pozytywnie. Po jakimś czasie zadzwoniła do mnie Pani z HR'ów aby potwierdzić moje zainteresowanie i umówić się na dłuższą rozmowę telefoniczną.

O ile mnie pamięć nie myli rozmowa odbyła się w ciągu kolejnego tygodnia i trwała około półgodziny. W tym czasie zostałem poproszony o opisanie swojego dotychczasowego doświadczenia, w jakich projektach brałem udział, jakich technologii używałem... jednym słowem standard. Padło również pytanie o oczekiwania finansowe, na które to mimo starań i prób aby to druga strona wyszła najpierw z propozycją w końcu udzieliłem odpowiedzi. Rozmowę wyróżnia trochę to, że już na tym etapie została zweryfikowana moja znajomość języka angielskiego. Z drugiej strony taka praktyka jest chyba coraz powszechniejsza. Na koniec dowiedziałem się, że dalszy etap rekrutacji będzie polegał na rozwiązaniu dwóch zadań algorytmicznych i jednego biznesowego. Przy czym większą uwagę miałem zwrócić na zadania algorytmiczne.

Następnego dnia otrzymałem drogą mailową treść zadań. Niestety ze względu na klauzulę poufności nie przytoczę ich tutaj, chociaż chciałbym ponieważ były bardzo ciekawe. Pierwsze zadanie algorytmiczne rozwiązałem następnego wieczoru. Moje pierwsza implementacja bazowała na przeszukiwaniu przestrzeni stanów i dawało poprawne wyniki ale kiedy już miałem je wysłać zauważyłem, że do problemu można podejść w zupełnie innych sposób. Finalne rozwiązanie zajmowało kilka linii kodu zamiast kilkuset! Za drugie zadanie zabrałem się następnego dnia i doszedłem do wniosku, że to pytanie z hakiem ponieważ przedstawiony problem należy do klasy NP, co też napisałem w odpowiedzi.

Rozwiązanie pierwszego zadania została zaakceptowane. Co do drugiego to zostałem poproszony żebym się jeszcze mu przyjrzał ponieważ postawiony problem można rozwiązać w czasie wielomianowym. Początkowo byłem przekonany, że to układający/oceniający zadanie pomylił się. Błąd tkwił jednak po mojej stronie. Na czym polegał? Przedstawiony problem można było sprowadzić do znalezienie ścieżki Hamiltona w grafie i to rzeczywiście jest problem NP. Ja zapomniałem jednak o tym, że wśród wszystkich możliwych grafów są takie ich odmiany dla, których problem znalezienia ścieżki Hamiltona można sprowadzić do znalezienia ścieżki Eulera, a to można zrobić w czasie wielomianowym. Co do zadania biznesowego to w końcu z braku czasu go nie rozwiązałem ale tak jak pisałem nie było ono bardzo istotne.

Co dalej? Zostałem zaproszony na rozmowę, połączoną z testem. Test składał się z 20 otwartych pytań i na jego rozwiązanie było około 30 minut. Pytania były tak ułożone, że można na nie było odpowiedzieć w jednym/dwóch zadaniach. Czy były trudne? Dla mnie raczej nie, chociaż nad niektórymi musiałem się dłużej zastanowić. Pomimo, że pytań było tylko 20 sądzę, że dobrze weryfikowały ogólną znajomość platformy .NET. Było coś o zwalnianiu zasobów, użyciu słowa kluczowego using, synchronizacji, LINQ'u itd. Te 30 minut starczyło dokładnie na tyle aby napisać odpowiedzi, ktoś nie orientujący się w temacie miałby z tym problem.

Po rozwiązaniu testu przyszła kolej na rozmowę z dwoma "technicznymi" osobami. Rozmowa odbyła się za pośrednictwem Skype. Początkowo zapraszano mnie na wizytę do innego miasta ale kiedy powiedziałem, że będzie z tym ciężko zorganizowano mi video konferencję. Rozmowa miała być połączona z omówieniem testu ale widać wypadłem dobrze ponieważ zadano mi raptem 1 albo 2 pytania na ten temat. Całą rozmowę zapamiętałem z 2 powodów. Po pierwsze trwała bite 3 godziny, a po drugie zadawano mi naprawdę trudne pytania. Pytania nad którymi musiałem się dogłębnie zastanowić przed podaniem odpowiedzi. W gruncie rzeczy nie były to po prostu pytania ale spore problemy do rozwiązania. Fajne było to, że nawet po podaniu prawidłowej odpowiedzi mówiono mi żebym się zastanowił bo można to zrobić jeszcze lepiej, bardziej optymalnie. W czasie tej rozmowy powtórnie zweryfikowano moją znajomość języka angielskiego tyle, że tym razem rozmawialiśmy o zagadnieniach technicznych. Po tych 3 godzinach byłem równie zmęczony jak po całym dniu pracy.

W czasie tej rozmowy miałem też okazję zadać kilka pytań, na które w miarę możliwości udzielono mi odpowiedzi. Jak zwykle w takich przypadkach poprosiłem również o feedback. Powiedziano mi, że pełnego raportu raczej nie otrzymam ale na pewno dostanę informację zwrotna czy było coś nie tak, a jeśli tak to co. Dwa dni później dostałem zaproszenie na następną rozmowę, tym razem z kierownikiem projektu. Rozmowa ta również odbyła się za pośrednictwem video konferencji i trwała około półgodziny. I tym razem sprawdzono moją znajomość języka angielskiego i zadano kilka "biznesowych" pytań. Miałem też okazję dopytać o interesujące rzeczy. Na koniec kierownik projektu powiedział, że w razie jakichś wątpliwości zaprasza do kontaktu. Z możliwości tej skorzystałem kilkukrotnie i za każdym razem otrzymałem wyczerpującą odpowiedź...

9 comments:

Anonymous said...

masakra, zadaja miliony pytan, robia 100.000 testow, badaja twoja zdolnosc do wygrywania szkolnych i nie tylko olimpiad matematycznych, każą Ci tanczyc, skakac nad ziemianką, obliczac tory lotu promu kosmicznego Nasa podczas deszczu meteorytow, wzywaja do stawiania sie na rozmowy kwalifikacyjne do pionkow, nadpionków,grzędowiczów, kierowników, podszefów, szefów, ojców dyrektorów i fuhrerow korporacyjnych, mailowo, przez telefon, osobiscie i listownie. Taka machina jak opisujesz moze byc tylko w Korporacji. Gdzie wszystko roi sie jak w mrowisku a kazda robotnica bedzie dokladnie wyssana po sprawdzeniu na 18 tys. sposobow. No chyba, ze zaproponowali Ci te 30.000 zł miesiecznie (ktore pewnie zarabia spoko ich sredniego szczebla manadzer od rozdmuchanej machiny HR) a Ty jednak uznales ze to za mało, wtedy jestes boss ;) Jeszcze mogli Ci dac karabin od paintballa i kazac uczestniczyc w grze i jednoczesnie liczyc parametry strzalow a potem odtworzyc to w modelu 3D.

Jak mnie denerwuja rekrutacyjne machiny najczesciej prowadzone przez ludzi, ktorzy bez tej machiny nie mieli by racji bytu.

Michał Komorowski said...

Fajnie ująłeś swoją opinię w słowa ;) ale jednak nie masz do końca racji. Po pierwsze rekrutacja była prowadzona przez dużą firmę ale jednak nie korporację (chociaż pewna korporacja też maczała w niej palce). Wiem, że brzmi to enigmatycznie ale aby wyjaśnić sytuację musiałbym ujawnić nazwę firmy. Po drugie to była rekrutacja na programistę nazwijmy go "algorytmicznego", a nie "biznesowego" i moim zdaniem tematyka projektu naprawdę wymagała solidnego sprawdzenia kandydatów. Jeszcze słowo wyjaśnienia co rozumiem przez programistę "algorytmicznego" bo oczywiście każdy z nas programistów zajmuje się w ten czy inny sposób algorytmami. Programista „algorytmiczny” to według mnie taki, który zajmuje się na co dzień przede wszystkim implementacją i analizą algorytmów np.: data miningowych, sortowania itp, a nie realizacją wymagań typowo biznesowych.

piotrb said...

Właśnie, mnie też ciekawi na jakie stanowisko, z jakim zakresem odpowiedzialności to było?
I kto zrezygnował i dlaczego? Czekam na część drugą.
I "bardziej optymalnie", proszę...

Anonymous said...

Domyślam się, że chodzi o SMT z Wrocławia we współpracy z Microsoft ;-)
Nieważne czy trafiłem czy nie to prosiłbym o nie kasowanie tego komentarze. Nie musisz potwierdzać ani zaprzeczać.
Ja niestety poległem ale także muszę przyznać, że wiele się nauczyłem z tej rozmowy. Zadania te które należało wykonać w domu faktycznie były ciekawe i trzeba było trochę pomyśleć.

Anonymous said...

Przeszedłem kiedyś podobną rekrutację była 4 częściowa(podobna do opisanej):
Do obsadzenia było kilka stanowisk na różnym poziomie.

1 etap: luźna rozmowa z przedstawicielem HR (ogólne pytania o doświadczenie i sprawdzenie angielskiego)
2 etap dwa testy: ponownie angielski, oraz test znajomości Javy
3 etap: kilka!!!! godzin maglowania przez różne osoby które sobie wchodziły i wychodziły a ja tam siedziałem i się produkowałem. Wyglądało to bardzo chaotycznie. Każdy kto wchodził i zaczynał mnie odpytywać zmieniał zupełnie temat i dopytywał o co innego. Mimo wszystko wypadło to bardzo dobrze, tylko kilka razy nie byłem w stanie odpowiedzieć na jakieś pytania i były to pytania o łatwo sprawdzalne fakty.
4 etap negocjacje stanowiskowo/płacowe.... i tutaj dałem się złapać. Szkoda mi było tego wszystkiego co przeszedłem podczas rekrutacji i zaakceptowałem niższe stanowisko i niższą pensję niż sobie na początku zakładałem.

Myślałem zresztą, że mam straszne szczęście, że będę pracował w Taaakiej firmie, a co się okazało.
Nie wiem jakim cudem taki proces rekrutacji, przeszła większa część z osób tam zatrudnionych.
Na kilkadziesiąt osób zatrudnionych tam jako programiści, maksymalnie 10 było by w stanie odpowiedzieć na więcej niż jedną trzecią merytorycznych pytań, na które ja musiałem odpowiadać podczas rekrutacji. Mam nieodparte wrażenie, że ktoś w tej firmie nagle zmienił politykę zatrudniania i teraz usiłowali zbilansować poziom wiedzy i umiejętności przez poszukiwania „top koderów”.
Kiedy już pracowałem wrażenie, że w zespole ośmioosobowym, dwie osoby wykonują więcej niż połowę prac, zamieniło się w pewność. Rok później, już tam nie pracowałem.

Podsumowanie:
Wydaje mi się, że kluczowym etapem rekrutacji był etap 4 podczas którego sprawdzono mnie:
„Czy jestem frajerem?”.
Pewnie gdybym wtedy obstawał przy swoim (wyższa pensja, wyższe stanowisko) to pożegnano by się ze mną bez względu na moje umiejętności.
Okazałem się jednak wtedy mało odporny na manipulację więc, podejrzewam, że zatrudnili by mnie nawet gdybym wypadł dużo słabiej.

Anonymous said...

ja ostatnio też byłem na rozmowie kwalifikacyjnej do dużej korporacji. Były dwa etapy: pierwszy półgodzinny test psychologiczny, jak go zdałem to po 2 tygodniach był 2,5 godzinny maraton. Kolejny test psychologiczny, test z wiedzy , rozmowa po angielsku ,negocjacje finansowe . i po 3 dniach odpowiedz

Anonymous said...

Jakiś hardcore :D

Anonymous said...

"Fajne było to, że nawet po podaniu prawidłowej odpowiedzi mówiono mi żebym się zastanowił bo można to zrobić jeszcze lepiej, bardziej optymalnie."
Kolego nie istnieje coś takiego jak rozwiązanie "bardziej optymalne". Albo coś jest optymalne, albo nie.
agata

Anonymous said...

Ludzie nie dajcie się robić w tej całej machinie. Przeszedłem niejedno korpo i niejedne takie testy. Później okazuje się, że 70% ludzi łącznie z przeprowadzającymi rozmowy rekrutacyjne nie ma tej wiedzy. Wychodzi to podczas normalnej pracy. Co do tak długich maratonów to odbywają się tylko z jednego względu - działy HR są tak duże, że ci ludzie muszą udawać że coś robią. Bo jaki jest sens maglować gościa trzy dni nie mówiąc mu o stawce za jaką będzie pracował. A może w aktualnej firmie ma większą i gdyby wiedział, że nie dostanie więcej to nie przyszedłby na rozmowę i nagle 90% kandydatów ubywa. I trzeba udawać, że coś się robi w HR z tymi pozostałymi 10%. Zawsze na koniec po tych wszystkich cyrkach pada pytanie o kasę... Proste, typowe korpo, udajemy, że coś robimy, szczególnie w HR.

Post a Comment