Zadania domowe na rekrutacji

3

Czasem spotykam się z tym, że rekruterzy przysyłają zadania domowe do zrobienia. Takie, które można opylić w godzinkę, no najwięcej półtorej-dwie, to rozumiem.

Natomiast kiedy widzę, że zadanie jest czymś, z czym zejdzie przynajmniej cały dzień roboczy lub więcej, dziękuję za rekrutację - jak dla mnie to zdecydowanie za dużo czasu. Wtedy ewentualnie oferuje krótsze zadanie/rozmowę.

Nie mam problemu z tym, by odbyć rozmowę rekrutacyjną, nawet kilka, ale takie zadania jakoś mnie odrzucają. Live coding/testy, krótkie zadania itd. Wszystko spoko. Ale poświęcać 8, 16 czy nawet więcej, godzin, żeby zrobić zadanie rekrutacyjne? Ja raczej odpadam. I nie wychodzę tu z pozycji arogancji, tylko czystego obiektywizmu - nie mamy w życiu nic poza czasem.

Jak jest u was?
Podobnie? Czy może nie?

Zapraszam do dyskusji

0

Jeśli jest to sensowne działanie to się ciesze że mam doczynienia z firmą sensowa i prawdopodobieństwo napotkania nieogarów jest mniejsze :)
A zanim takie zadanie będe miał to już wcześniej wiem czy ta firma będzie sensowna ;)

0

Też miałem zdanie domowe, które robiłem weekend, miałem możliwość się zastanowić, napisać kod po swojemu, w pewnym sensie wyrazić siebie. Myślę, że dzięki temu, można więcej zyskać, niż stracić. Wolę takie sprawdzanie znajomości danej technologii niż pisanie suchych algorytmów na Codility, czy kolejny zestaw pytań pokroju co to ConcurrentHashMap, rzeczy, których można nie pamiętać dokładnie w danej ramie czasowej (np. czasu trawnia testu)

6

Imho trochę przesada. Ciekawe czy sami by poświęcili dzień, dwa na zadanie ode mnie, takie które pokaże mi czy chce z nimi pracować. :D

0

ja zazwyczaj dostaję pytanie, czy mam jakiś kod pokazania czy chce zadanie testowe.

1

Mimo doświadczenia 3-4+ lat wciąż się dostaje zadania domowe? Myślałem, ze to tylko na staże, praktyki czy zdobycie juniorskiego stanowiska

0

Revolut ponoć daje na regulara albo seniora. :)

0

Jeżeli firma z top20 fortune z IT, to robiłbym.

0

@codeMax: ja na regulara dostawałem w tym roku. Co najlepsze jedna firma tak długo prowadziła okres rekrutacji, że dostałem drugie zadanie do zrobienia od niej, to już przegięli delikatnie i wybrałem inną ofertę, gdzie przeszło bez żadnych zdań.

2

Pytanie czy ci na tej rekrutacji zależy czy nie. Jak ktoś wyżej wspomniał, ma to taki plus, że innych ludzi też tak rekrutowali, więc szansa na nieogara w teamie jest mniejsza. Zauważ też że czasem trzeba polecieć na rozmowę na miejscu, co może cię kosztować więcej niż 1 dzień, jeśli to daleko.

0

Czasami te zadania są pod kątem pracy, którą będzie się wykonywać, więc to też plus.

2

Zdarzyło mi się dostawać takie zadania, ale nie wszędzie. Jak oferta i firma wyglądają dla mnie atrakcyjnie i jestem w stanie zrobić takie zadanie w kilka dni po południu po pracy, to robię. Jest to też jakaś forma rozwoju i nauki nawet, jeśli nie przejdziesz rekrutacji. Dostajesz informację zwrotną i możesz dzięki temu stać się lepszy w tym, co robisz. Myślę, że jeśli ktoś przyłoży się do takiego zadania, to nie będzie to czas stracony. Co prawda może to zabrać kilka godzin i energii z Twojego życia, ale masz w perspektywie np. ciekawszą pracę, lepszą kasę itd. Pytanie, czy Ci na tym zależy, czy nie.

0

W mojej opinii caly dzien to zdecydowanie za duzo - zwyczajnie szkoda mi dnia urlopu.

Mialem taka sytuacje, ze w gre wchodzila seria testow i spotkan - szacowany czas ok 6h - zrezygnowalem w tamtym momencie. Jest duzo dobrych firm i ciekawych projektow, do ktorych mozna sie dostac bez podobnych wyglupow.

5

Jak dla mnie sensowne zadania rekrutacyjne to najlepszy sposób na sprawdzenie kandydata.

Po pierwsze można zobaczyć jak taki reaguję na review jego kodu, czy wyciąga wnioski z uwag, nie obraża się...

Po drugie można zobaczyć, jakie ma podejście do programowania - czy pisze testy sam z siebie, robi drabinki if-ów, dopytuje się w przypadku niejasnych wymagań, umie argumentować czemu podjął taką a taką decyzję...

Po trzecie - odsiewa skuteczniej niż wymóg studiów.

0

8h to zdecydowanie za dużo. Zadanie rekrutacyjne ma pokazać twoje podejście do problemu i jego rozwiązanie - niech to będzie prosty przypadek iterowania po liczbach i wyświetlania %3 = foo, %5 = bar i %3 && %5 = foobar. Proszenie o więcej podchodzi pod rozwiąż nam problem który mamy na projekcie lub wykonaj prace której nikt nie chce robić.

1

@boska_cebula:

a dlaczego ma być proste / niewymagające?

3

@boska_cebula: odniosę się do postu i twojego komentarza. Nie zgodzę się. Zadanie ma sprawdzać czy poradzi sobie w pracy czyli ma symulować to co dostaniesz w pracy, przykładowo ja kandydując do pracy z laravelem (regular), miałem napisać cruda zgodnie ze specyfikacją używając relacji pisząc testy, wykorzystując rożne aspekty frameworka. Dało to odpowiedni obraz mojej znajomości frameworka jak i języka oraz czystości kodu by dalej ze mną gadać. To co proponujesz nie wykazało by nic co potrzebuje firma na tym stanowisku na jakie kandydowałem.

1

Nic nie stoi na przeszkodzie zeby poprosic o wskazanie linka do jakiegos issue na githubie w jednym z projektow open source ktorych uzywaja w firmie i zrobic to zamiast glupiego zadania.

3
boska_cebula napisał(a):

8h to zdecydowanie za dużo. Zadanie rekrutacyjne ma pokazać twoje podejście do problemu i jego rozwiązanie - niech to będzie prosty przypadek iterowania po liczbach i wyświetlania %3 = foo, %5 = bar i %3 && %5 = foobar. Proszenie o więcej podchodzi pod rozwiąż nam problem który mamy na projekcie lub wykonaj prace której nikt nie chce robić.

Na maturze rozszerzonej z angielskiego powinno być conajwyżej napisanie kilku zdań o sobie, więcej podchodzi pod męczenie ludzi esejami których nikt nie pisze na codzień i nie stosuje takiego słownictwa

5

Nie mam nic do zadań, w sumie to taka forma ma swoje plusy. Ja jestem mało wygadana i wolę zadanie napisać bez stresu :D Niektórzy mówią, że szkoda im swojego czasu, jakbym startowała w x takich rekrutacjach to rozumiem, ale nie chodzę na rozmowy dla sportu i nie widze problemu, żeby poświęcić na kodowanie weekend czy popołudnia po pracy. Nie jestem jakimś nerdem ale jednak kodowanie po godzianch to trochę inne kodowanie niż to w pracy i można znaleźć w tym pewną satysfakcję i wciągnąć się :) Nie traktuję tego jak przykry obowiązek i nie przeliczam, na to czy się opłaca. Oczywiście jakbym nie była zainteresowana pracą w tej firmie, to bym olała, bo to jednak mój czas.

2

Jeśli rekrutacja jest robiona do jakiegoś korpo, software house albo januszsoftu, to nie będzie zadań, bo nikogo tam nie obchodzi jaki się kod pisze, i czy umie się cokolwiek sensownie zaprojektować. Ludzie zajmujący się rekrutacją to nie są ludzie, z którymi będzie się pracowało. To jest słabe podejście, bo potem zdarza się, że do zespołu trafiają ludzie, którzy przeszli rekrutację "sprawiając dobre wrażenie" podczas odpytki, a w praktyce nie potrafiący programować.
Dlatego firma, która daje zadanie do rozwiązania ma u mnie już na wstępie plus za poważne podejście, zarówno do obecnych pracowników, jak i do kandydata.
Z zadaniami na kilka dni roboczych się nigdy nie spotkałem, to raczej była kwestia jednego wieczoru, i to raczej krócej niż 4h. Raz kiedyś zadanie zajęło mi 3 czy 4 wieczory, ale to dlatego, że wymagali GUI w technologii, której wcześniej nie znałem, więc musiałem się przy okazji trochę jej pouczyć.

0
part napisał(a):

Po trzecie - odsiewa skuteczniej niż wymóg studiów.

Po czwarte, napisanie - że coś w mniemaniu autora - jest lepsze od studiów gwarantuje najwyższe oceny postu.

0

@somekind: Jak już odrzucisz software houses, januszsofty i korpo, to co zostaje na rynku? Startupy gdzie to zadanie będzie oceniane przez gościa z 3 letnim doświadczeniem? Ja akurat zadania dostawałem parę razy i były raczej od januszsoftów i softwarehouses. Jedno z nich to było np. napisanie mobilnego klienta do trello i miało mi zająć jeden wieczór wg. zapewnień rekrutera. W korpo unika się takich sprawdzianów z prostej przyczyny - review jest czasochłonne i nie ma go komu zrobić.
Moim skromnym zdaniem jest to dyskusyjna forma sprawdzenia możliwości kandydata, bo żeby dowiedzieć się naprawdę interesujących rzeczy trzeba by znacząco zwiększyć objętość. Interesujące wyniki można dostać dając dobrze przygotowane zadanie z już istniejącym kodem do rozwiązania na miejscu i patrzeć jak kandydat pracuje, co musi sprawdzić w internecie, na ile dobrze radzi sobie z IDE (od razu widać ile czasu w nim spędził). Może to też być np. zrobienie review jakiegoś istniejącego kodu, naprawa istniejącego błędu.

0

Pisałem kilka razy zadania rekrutacyjnem, albo na rekrutacjach wewnętrznych do projektów albo na rekrutacji zewnętrznej na wejście do firmy.
Zawsze, z jednym wyjątkiem, było to zadanie pisane albo długopisem na kartce albo flamastrem na tablicy. Zawsze było dyskutowane na bieżąco w czasie pisania, następnie dyskusja i pytania były częściowo ukierunkowane moim podejściem do rozwiązywania problemów.
Raz pisałem coś w rodzaju TDD Kata na laptopie.
Takie spotkania z software inżynierami trwały około 3 godzin.

0
piotrpo napisał(a):

@somekind: Jak już odrzucisz software houses, januszsofty i korpo, to co zostaje na rynku? Startupy gdzie to zadanie będzie oceniane przez gościa z 3 letnim doświadczeniem?

Mniejsze (nie korpo) ale też nie januszowate firmy?

2

W sumie jak teraz o tym myślę, to kilka razy zdarzyło mi się dostać zadanie, zapomniałem nawet o tym. Za pierwszym razem, zaraz po liceum, dostałem zadanie w PHP od Janusza z małego miasta. Była to najlepsza rzecz jaka mi się w życiu trafiła. Jak zobaczyłem to zadanie (jakis czytnik RSS i coś tam jeszcze), to stwierdziłem że wolę sie nauczyć Javy niż męczyć sie z Januszami i to jeszcze w PHP. Niecały rok później zacząłem pracę jako Java dev :D

3

Dobrym wyjściem jest mały projekt za pieniądze, który może przydać się zespołowi, ale nie ma komu zrobić. Spisuje się umowę o działo, parę stów w za weekend może wpaść. Nawet jeśli firma nie skorzysta z projektu, to obie strony są zadowolone.

1

Raz dostałem zadanie rekrutacyjne i z ciekawości zrobiłem (Python Developer). Finalnie z rekrutacji nic nie wyszło sprawa rozeszła się o $ na sam koniec.
Za duzo zachodu jak na to co zaoferowali.

Nie spodobało mi się fakt że po wysłaniu CV dostałem telefon na 30 sekund z info ze na maila wysla zadanie i ze oferują tylko UoP - generalnie - zrób zadanie to dopiero będziemy gadać.

Trochę czasu mi się zeszło ze 3 wieczory ogólnie dostałem 2 uwagi w punktu ( z ktorymi sie zgodzilem i byly one sluszne ) i kilka "takich se"
np: (- twoj kod jest niezgodny z PEP8 i ma ponad 80 znakow w linii [o nie !!! ;E] by default uzywam 90 i tak mam IDE skonfigurowane ;E ,
-chcieli from z import y, z ja preferuje odzielnie w kazdej linii no coz ponownie kwestia umowna nie jest to problem 'zmienic',

  • czy twoj projekt jest dobrze zorganizowany czy zmienilbys uklad projektu (w prostym zadania rekrutacyjnym uznalem ze najprostsze rozwiazanie bedzie najlepsze, zreszta wybor struktury projektu jest 'umowny' o ulozeniu projektu mozemy f2f gadac nie ma problemu a nie przez maila mam pisac elaboraty po ofc angielsku o ukladzie projektu ;E uzywalem roznych,
    chcieli jakies "testy integracyjne" no ogolnie spoko ale ten prosty CRUD tych testow integracyjnych to zbyt wiele nie mogl miec poza tym czy API odpowiada
  • czemu twoje rozwiazanie nie jest 'compliant' z piramida testow ? :D no coz :P ,
  • chcieli aplikacje ktora jest gotowa do deploymentu i opis jak to zdeployowac no ogolnie jest milion 500 sposobowi trudno mi powiedziec gdzie oni chca to deployowac wiec wrzucilem Dockerfile & docker-compose.yml to hostowane przez nginxa :P - no nie spodobalo sie to na review ;E chcieli zebym opisal dokladnie,
  • uczepili sie dokumentacji aplikacji no coz byl bardzo okrojony ogolnie - prawilnie byloby zrobic no nie wiem swagger do API, Sphinx-a do docsow i jeszcze CI postawic
    najlepiej w czyms Open Source jakis travis czy tam Jenkins - nie zrobilem tego gdyz na codzien uzywam gitlab-CI (Premium) z wszystkimi bajerami i nie czulem potrzeby na zadaniu rekrutacyjnym uzywac czegos innego w tym momencie, ) ) .

Ogólnie uważam że zadania rekrutacyjne które ludzie dostają mają "taki sobie sens". Nie w każdej dziedzinie "IT/Programowania" jest to miarodajne.
Wiekszosc skupia sie na znajomosci frameworkow/tooli. Najczesciej zadania rekrutacyjne daja Software House co oferuja B2B 7000 - 14000 + VAT i maja mlody dynamiczny zespol, sa bardzo Agile i uzywaja najnowszych technologii a i bym zapomnial maja owocowe wtorki i MacBooka do wyboru.

Jeśli samo NASA/ESA/CERN/SpaceX lub jakis topowy startup z doliny krzemowej oferujacy pakiet akcji sie nie odezwie no to generalnie nie bede robil zadan rekrutacyjnych gdyz zwyczajnie wole sobie pokodowac cos co sam chce i na swoich zasadach.

3

Rekrutacja zazwyczaj przebiega wg. pięciu różnych schematów:

  1. Smutny pan zadaje z kartki 100 pytań, a ty czujesz się jak w teleturnieju 1 z 10.
  2. Dostajesz kilka/kilkanaście krótkich pytań/zadań/problemów, które rozwiązujesz na kartce lub opowiadasz na temat rozwiązania.
  3. Rozmowa na temat twojego doświadczenia przeplatana z pytaniami technicznymi np. "Jak zrobiłbyś to", "Jakiej technologii użyłbyś do" itd.
  4. Zadanie domowe, które trzeba odesłać w określonym terminie.
  5. Brak rozmowy technicznej.

Czasami rekrutacja jest połączeniem dwóch czy więcej punktów z powyższej listy.

Dotychczas dostałem zadania domowe 4 razy i było to zaledwie około 10% wszystkich firm do których aplikowałem. Zatem nie jest to popularny sposób prowadzenia rekrutacji, zapewne przez czasochłonność, ponieważ poza jedno-dwu godzinną rozmową trzeba jeszcze później sprawdzić kod kandydata. Niektóre firmy deklarują, że odsyłają review, choć u mnie się to jeszcze nie zdarzyło.

Jedno z ciekawszych zadań domowych dostałem podczas aplikowania na Python developera do firmy Wirtualna Polska - zadaniem było napisanie serwera, który obsłuży wiele połączeń (bez żadnych wytycznych). Napisałem serwer z pulą procesów (nie wątków bo GIL), który obsługiwał połączenia asynchronicznie. Dostałem odpowiedź, że dokładnie o to im chodziło i zostałem zaproszony na ostatni etap rekrutacji, ale ostatecznie pracy jednak nie dostałem.

6

zdarzylo mi sie dostac (i zadawac) zadania ktore byly przewidziane na (duzo) dluzej niz 2h. mysle ze jest to dobra praktyka, pokazujaca zaangazowanie z obu stron (bo to nie tylko ty poswiecisz czas na napisanie tego, ktos to musi przeczytac i przygotowac sie na rozmowe o twoim kodzie).
pisalam miedzy innymi (oczywiscie uproszczone) system aukcyjny, symulator gieldy, load balancer czy query cache i w kazdym wypadku czegos sie nauczylam, a rozmowa z rekruterami dala mi dobry obraz na czym im zalezy i czego moge sie spodziewac.
oczywiscie dobor zadan tez ma znaczenie, w niektorych miejscach pracuja popieprzeni ludzie i daja za zadanie napisanie czegos bardzo nudnego lub nacelowanego na uzycie tego konkretnego feature ktorego oni najbardziej lubia i kazde inne rozwiazanie jest nie-ok.
reasumujac - wszystko zalezy chyba od konkretnego przypadku, jak bardzo mi na danej pracy zalezy i jak ciekawe jest zadanie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1