Czy są jakieś formalne badania dotyczące skuteczności pytania FizzBuzz? [Zamknięte]

23

Po dzisiejszym pytaniu na temat odmiany pytania do wywiadu FizzBuzz, a także na innych związanych z nim pytaniach, muszę zapytać: czy są jakieś formalne badania nad tym, jak skuteczne jest to jako technika wywiadu? Jest wielu ludzi, którzy twierdzą, że odfiltrowuje szalenie brzmiący odsetek kandydatów (95% + w niektórych przypadkach), ale jak dobry jest znalezienie dobrych programistów / programistów?

Przeprowadzono pewne badania, które pokazują, że umiejętności miękkie mogą być lepszymi wskaźnikami niż umiejętności twarde przy wyborze dobrego kandydata na stanowisko. Ponadto mogą istnieć pośrednie powody, dla których tylu kandydatów nie zdaje tego testu (zdenerwowanie, myślenie „to podstęp” itp.).


Na podstawie dotychczasowych komentarzy wygląda na to, że idea pytań FizzBuzz polega na ustaleniu, czy dana osoba ma dobre (wystarczające) umiejętności kodowania, aby móc je dalej rozważyć. Nie jestem do końca przekonany, że FizzBuzz tak właśnie robi. Pamiętaj też, że FizzBuzz filtruje bardzo duży odsetek kandydatów na bardzo wczesnym etapie procesu rekrutacji, co może oznaczać, że znaczna liczba dobrych kandydatów jest usuwana na wczesnym etapie, ponieważ nie potrafią wystarczająco szybko rozwiązać głupich problemów.

Zwrócę też uwagę, że patrząc na skuteczność FizzBuzz, można to zrobić całkowicie ilościowo. W przeciwieństwie do patrzenia na „dopasowanie” lub „pasję”, które są bardzo zmienne i wysoce nienaukowe (ale nadal bardzo ważne dla nowych decyzji o zatrudnieniu).

joshin4colours
źródło
16
Nie chciałbym zatrudniać kandydata, który nie może kodować FizzBuzz, gdy jest zdenerwowany.
Eric Wilson,
Nie to też wskazuje artykuł, który łączysz. Wskazuje, że zatrudnieni tam mają wysoki odsetek rezygnacji. Ale nie ma absolutnie żadnych danych o tych, które zostały odrzucone. Dla mnie oznacza to, że firmy prawdopodobnie wykonują dobrą robotę, usuwając osoby nietechniczne (ponieważ to było w centrum ich wywiadów), które nie mogły wykonać pracy, ale muszą przeprowadzić dodatkowe filtrowanie dla osób, które odmawiają nauki. lub odmówią dobrego zachowania się członkom zespołu
Martin York
2
@JMG: Musisz być bardziej precyzyjny (odwrotność tego, co dokładnie). Jeśli nie mogą wykonać technicznej części pracy (umiejętności twarde), dlaczego mielibyście myśleć, że mieli jakąkolwiek szansę. Jeśli zatrudnisz ludzi, którzy z definicji nie są w stanie wykonać pracy, za którą zostali zatrudnieni, nie uważasz, że wskaźnik rezygnacji wyniósłby 100%. W trakcie naszych rozmów kwalifikacyjnych mamy specjalne sekcje, aby sprawdzić, czy kandydat będzie dobrze pasował do zespołu i firmy. Ale bez względu na to, jak bardzo lubimy je osobiście, nie ma sensu zatrudniać osoby bez umiejętności kodowania.
Martin York,
3
Więc jako odpowiedź na if their hard skills was weighted more evenly with their soft skills. Nie . Trudną umiejętnością będzie jeden filtr. Miękkie umiejętności to dodatkowy filtr. To nie jest przypadek, w którym możesz mieć A or B, musisz mieć A and B. W ten sposób czytam artykuł, który podlinkowałeś. Odfiltrowali już dla A, po prostu źle wykonali filtrowanie dla B.
Martin York

Odpowiedzi:

14

Minęło dużo czasu, odkąd czytałem o badaniach rozmowy kwalifikacyjnej (więc nie mogę umiejscowić szczegółów, za co przepraszam), ale ogólna zasada mówi, że ludzie zatrudniają na podstawie umiejętności miękkich, ale nie ma między nimi korelacji wydajność. Testowanie konkretnych umiejętności może działać, ponieważ osobowość nie działa (zgodnie z mierzalnymi danymi).

Prawie wszyscy uważają, że ich specjalne techniki rozmowy kwalifikacyjnej działają, dane wskazują, że prawdopodobnie nie powinieneś zawracać sobie głowy rozmową kwalifikacyjną (część rozmowy „powiedz mi o sobie”, w przeciwieństwie do obiektywnych testów), ponieważ kandydaci wybrani przez ankieterów nie są lepsi, ale ankieterzy pokazują, że uprzedzenia do ekstrawertyków, ludzi demograficznie podobnych do ankietera, wysokich ludzi, atrakcyjnych ludzi itp. (Prawdopodobnie powinieneś zatrudnić ludzi, którzy dobrze sobie radzą w testach i źle w pozostałej części rozmowy, ponieważ najwyraźniej są równie dobrzy w pracy, ale może być trudniej opuścić firmę).

W pewnym sensie spodziewam się, że zostanę za to oskarżony, zwykle każdy, komu to powiem, mówi „ale używamy metody X i to naprawdę działa dla nas”, ale chyba

  1. zatrudnić osoby, które nie przejdą procesu rozmowy kwalifikacyjnej,

  2. nie mów swoim współpracownikom, którzy przeszli, a którzy nie, oraz

  3. porównaj wyniki tych, którzy zdali, z tymi, którzy tego nie zrobili, używając wcześniej uzgodnionych obiektywnych kryteriów

naprawdę nie masz pojęcia, czy Twój proces działa. Niestety skuteczność wywiadu jest z natury trudna do oceny.

Jeśli zastanawiasz się, eksperymenty polegają na poproszeniu ludzi o ocenę kandydatów na podstawie transkrypcji wywiadu od kandydatów, którzy zostali już zatrudnieni (wśród wielu innych technik). Idealnie byłoby, gdyby eksperymentatorzy przeprowadzali wywiady, wybierali kandydatów, kasowali pamięć ankietera, losowo wybierali, kogo zatrudnić spośród kandydatów i porównywali wyniki kandydatów przy użyciu dokładnych, obiektywnych kryteriów w porównaniu z ocenami podanymi przez ankieterów, ale ten eksperyment jest trudne do zerwania.

Tak więc, chociaż nie widziałem szczegółowych badań FizzBuzz, jest to coś , co może wykazać skuteczność w testach naukowych. Jeśli wyświetli 95% kandydatów, będę ciekawy, dlaczego - został wymyślony tak absurdalnie łatwo, że tylko niekompetentny programista nie mógł go przejść, a ciężko jest zrozumieć, jak ogłuszyć FizzBuzz. Zastanawiam się, jaki procent pomyślnie przeszedł test „Hello world”? Test „zmusić komputer do zrobienia czegoś, czegoś”?

psr
źródło
+1 Dlatego zadaję pytanie: Zatrudnianie jest z natury bardzo nienaukowe, ale skuteczność FizzBuzz można przynajmniej przetestować dość ilościowo.
joshin4colours 16.09.11
@psr: Z mojego doświadczenia w przeprowadzaniu wywiadów z nowymi absolwentami w USA, BSCS lub MSCS, około 90% z nich nie może programować. Czemu? Ponieważ instytucje mają motywację finansową, aby utrzymać je w programie opłacania czesnego.
kevin cline
1
@kevin cline: Trochę zejścia z tematu, ale w moim MSCS nie sądzę, żeby były one skoncentrowane na dolnej linii. Byli jednak bardzo zaniepokojeni wyróżnieniem się jako program akademicki w porównaniu ze szkołą handlową, a tak wielu profesorów patrzyło nieco na samo programowanie, a nie, powiedzmy, na dowodzenie naprawdę drobnych rzeczy na temat maszyn Turinga.
psr
Myślę, że przeoczysz fakt, że celem ludzi zatrudniających się jest nie tyle znalezienie najlepszego możliwego dopasowania, co próba uniknięcia katastrofy. Nawet w dobrych czasach ekonomicznych osoby oferujące pracę są zalewane przez kandydatów, z których wielu jest beznadziejnie niewykwalifikowanych. Musisz po prostu zastosować jakiś szybki filtr, aby zmniejszyć liczbę kandydatów do możliwej do zarządzania liczby. Pierwotnym punktem testu fizbuzz było zrobienie tego jako części ekranu telefonu. Jeśli pula osób, które przechodzą przez Fizzbuzz, jest nawet nieznacznie wzbogacona dla osób, które potrafią kodować, jest to pomocne.
Charles E. Grant
@Charles E. Grant - Rozumiem FizzBuzz - podczas wywiadów używam takich pytań (większość jednak zdaje). Byłem w większości odpowiedzi na „miękkich umiejętności mogą być wskaźniki niż twardych umiejętności” (sic!), Które mają czytać odpowiednich badań dla oraz w badaniach umiejętności miękkich pomagał w wywiadzie, ale nie udało się wykazać, aby pomóc w pracy. Lub, dokładniej, ankieterzy nie byliby w stanie zidentyfikować kandydatów, którzy byliby skuteczni w pracy, gdyby próbowali zidentyfikować ich na podstawie umiejętności miękkich.
psr
33

Celem fizzbuzz nie jest znalezienie dobrych programistów, lecz znalezienie pewnej klasy złych programistów, czyli ludzi, którzy nie potrafią zaimplementować prostego algorytmu. Twoje pytanie przypomina pytanie, ilu mistrzów Nascar zostało zidentyfikowanych podczas egzaminów na prawo jazdy. Między kimś, kogo zdecydowanie nie chcesz zatrudnić, a kimś, kogo na pewno masz, jest dużo miejsca.

Istnieją inne klasy „złych” programistów, które wymagają różnych metod identyfikacji, na przykład ci, którzy nie są biegli w danym języku lub mają problemy z zachowaniem. Jednak programiści „fizzbuzz-bad” są prawie ogólnie niepożądani, dlatego test jest tak często zalecany. To, czy programista, który jest nadmiernie terytorialny, czy ten, który musi przenieść umiejętności na nowy język, jest „dobry” czy „zły”, zależy znacznie bardziej od potrzeb i preferencji indywidualnego pracodawcy.

Karl Bielefeldt
źródło
2
Ale co czyni „złym” programistą? Czy chciałbyś kogoś, kto jest niesamowitym programistą, ale usuwa wszelkie sprawdzone zmiany w „swoim” kodzie w projekcie? A może ktoś, kto może potrzebować trochę pomocy w przejściu z C na Javę, ale w pełni poświęci się projektowi?
joshin4colours 16.09.11
4
@JMG: Istnieje szkoła myślenia, która informuje nas: „Ty też nie chcesz”. Jeśli mają jakieś nawyki niechęci do współpracy, takie jak ta ostatnia, to „No Hire”; jeśli nie mają wspólnych, ale potrzebnych umiejętności „Bez zatrudnienia”. Jeśli jest coś w kandydacie, co sprawia, że ​​w ogóle nie
wahasz się
@TokenMacGuy Myślę, że ta szkoła powinna być nazywana szkołą „Near Infinite Time and Resources” :)
joshin4colours 16.09.11
@Karl, czy możesz to uwzględnić w swojej odpowiedzi?
5

FizzBuzz nie polega na identyfikacji dobrych programistów, lecz na eliminowaniu złych / fałszywych. Jeśli kandydat nie zda testu FizzBuzz, nie wie, jak programować i nie powinien ubiegać się o stanowisko programistyczne.

nicholaides
źródło