Esistono ricerche formali sull'efficacia della domanda FizzBuzz? [chiuso]


23

Dopo aver visto questa domanda oggi sulla variazione della domanda dell'intervista FizzBuzz, oltre a vedere altre domande ad essa correlate, devo chiedermi: c'è qualche ricerca formale su quanto sia efficace questa tecnica di intervista? Ci sono molte persone che affermano che filtra una percentuale pazza di candidati (95% + in alcuni casi) ma quanto è buono per trovare buoni programmatori / sviluppatori?

Ci sono state alcune ricerche che dimostrano che le competenze trasversali potrebbero essere indicatori migliori delle competenze concrete per scegliere un buon candidato per un ruolo professionale. Inoltre, potrebbero esserci alcuni motivi intermedi per il fatto che molti candidati non superano questo test (nervosismo, pensiero "è un trucco", ecc.).


Sulla base dei commenti finora, sembra che l'idea alla base delle domande di FizzBuzz sia determinare se la persona abbia o meno buone capacità di programmazione (sufficienti) per essere ulteriormente considerate. Non sono del tutto convinto che FizzBuzz lo faccia davvero. Inoltre, ricorda che FizzBuzz filtra una percentuale molto elevata di candidati molto presto nel processo di assunzione, il che potrebbe significare che un numero significativo di buoni candidati viene rimosso presto perché non sono in grado di risolvere abbastanza velocemente problemi stupidi.

Inoltre, sottolineo che guardare l'efficacia di FizzBuzz è qualcosa che può essere fatto completamente in modo quantitativo. Questo è diverso dal guardare "in forma" o "passione" che sono altamente variabili e altamente poco scientifiche (ma ancora abbastanza importanti per le nuove decisioni di assunzione).



16
Non vorrei assumere un candidato che non può programmare FizzBuzz mentre è nervoso.
Eric Wilson,

Questo non è ciò che indica anche l'articolo che colleghi. Indica che quelli assunti hanno un alto tasso di abbandono. Ma non ha assolutamente dati su quelli che sono stati respinti. Per me questo indica che le aziende stanno probabilmente facendo un buon lavoro per eliminare le persone non tecniche (poiché quello era il focus delle loro interviste) che non potevano fare il lavoro, ma hanno bisogno di fare un filtro aggiuntivo per le persone che si rifiutano di imparare o rifiutarsi di comportarsi bene come membri della squadra
Martin York,

2
@JMG: devi essere più preciso (il contrario di cosa esattamente). Se non riescono a svolgere la parte tecnica del lavoro (Hard Skills), perché pensi che abbiano qualche possibilità. Se assumi persone che per definizione non possono svolgere il lavoro per cui sono assunte, non pensi che il tasso di abbandono sarebbe del 100%. Nei nostri processi di interviste abbiamo una sezione specifica per vedere se il candidato sarà adatto per il team e l'azienda. Ma non importa quanto ci piacciano personalmente, non ha senso assumere una persona senza le capacità di programmazione.
Martin York,

3
Quindi come risposta a if their hard skills was weighted more evenly with their soft skills. No . L'abilità difficile sarà un filtro. Le competenze trasversali sono un filtro aggiuntivo. Non è un caso in cui puoi A or Bavere A and B. Qual è il modo in cui ho letto l'articolo che hai collegato. Hanno già filtrato per A hanno appena fatto un brutto lavoro nel filtraggio per B.
Martin York,

Risposte:


14

È passato molto tempo da quando ho letto le ricerche sui colloqui di lavoro, (quindi non posso specificare i dettagli del sito, per i quali mi scuso), ma la regola generale è che le persone assumono sulla base di competenze trasversali, ma non esiste alcuna correlazione tra questo e prestazione. I test per competenze specifiche possono funzionare, per la personalità no (secondo dati misurabili).

Quasi tutti credono che le loro tecniche speciali di intervista funzionino, i dati dicono che probabilmente non dovresti disturbare l'intervista (la parte "raccontami di te" dell'intervista, al contrario di test oggettivi) poiché i candidati selezionati dagli intervistatori non sono migliori ma gli intervistatori lo mostrano inclinazione verso gli estroversi, persone demograficamente simili all'intervistatore, persone alte, persone attraenti, ecc. (Probabilmente dovresti assumere persone che fanno bene nei test e cattive nel resto dell'intervista, dal momento che apparentemente sono altrettanto brave sul lavoro ma potrebbe essere più difficile lasciare la tua azienda).

Mi aspetto in qualche modo di essere infiammato per questo, di solito chiunque dico questo dice "ma usiamo il metodo X e funziona davvero per noi", ma a meno che tu

  1. assumere alcune persone che non superano il processo del colloquio,

  2. non dire ai loro colleghi chi è passato e chi no, e

  3. confrontare le prestazioni di coloro che sono passati con quelli che non lo hanno fatto, utilizzando criteri oggettivi concordati in precedenza

hai davvero poca idea se il tuo processo funziona. Purtroppo l'efficacia dell'intervista è intrinsecamente difficile da valutare.

Se ti stai chiedendo, esperimenti fanno cose come chiedere alle persone di valutare i candidati in base alle trascrizioni dei colloqui, da candidati che sono già stati assunti (tra molte altre tecniche). Idealmente, gli sperimentatori dovrebbero fare in modo che le persone intervistino, scelgano i candidati, cancellino la memoria dell'intervistatore, selezionino casualmente chi assumere tra i candidati e confrontino le prestazioni dei candidati utilizzando criteri precisi e oggettivi rispetto ai voti forniti dagli intervistatori, ma quell'esperimento è difficile da staccare.

Quindi, anche se non ho visto ricerche specifiche su FizzBuzz, è il tipo di cosa che può mostrare efficacia nei test scientifici. Se elimina il 95% dei candidati, sarei curioso di sapere perché - è stato inventato per essere così assurdamente facile che solo un programmatore incompetente potrebbe non riuscire a passarlo, ed è difficile vedere come stupire FizzBuzz. Mi chiedo quale percentuale superi il test "Hello world"? Il test "fai fare al computer qualcosa, qualcosa"?


+1 Ecco perché faccio la domanda: l'assunzione è intrinsecamente molto poco scientifica, ma l'efficacia di FizzBuzz potrebbe almeno essere testata abbastanza quantitativamente.
joshin4colours,

@psr: nella mia esperienza intervistando neolaureati negli Stati Uniti, BSCS o MSCS, circa il 90% di loro non può programmare. Perché? Perché le istituzioni hanno un incentivo finanziario per mantenerle nel programma pagando le tasse scolastiche.
Kevin Cline,

1
@kevin cline: un po 'fuori tema, ma nel mio MSCS non penso che fossero così concentrati sulla linea di fondo. Tuttavia, erano estremamente preoccupati di distinguersi come un programma accademico rispetto a una scuola commerciale, e così tanti professori hanno guardato un po 'in basso rispetto alla mera programmazione piuttosto che, per esempio, dimostrare cose molto minori sulle macchine di Turing.
ps

Penso che stia trascurando il fatto che l'obiettivo della gente che sta assumendo non è tanto quello di trovare la migliore corrispondenza possibile, quanto solo cercare di evitare il disastro. Anche in periodi di congiuntura economica favorevole, le persone che offrono un lavoro sono inondate di candidati, molti dei quali irrimediabilmente non qualificati. È sufficiente disporre di una sorta di filtro rapido per ridurre il numero di candidati a un numero gestibile. Il punto originale del test Fizbuzz era di farlo come parte di uno schermo del telefono. Se il pool di persone che passano da Fizzbuzz è anche leggermente arricchito per le persone che possono effettivamente programmare, è un aiuto.
Charles E. Grant,

@Charles E. Grant - Capisco FizzBuzz - In realtà utilizzo domande del genere quando intervista (la maggior parte passa comunque). Stavo principalmente rispondendo alle "competenze trasversali potrebbero essere indicatori che competenze trasversali" (sic), per le quali ho letto ricerche pertinenti, e nella ricerca le competenze trasversali mi hanno aiutato in un colloquio, ma non è stato dimostrato che possano aiutare nel lavoro. O, più precisamente, gli intervistatori non potrebbero identificare candidati che sarebbero efficaci sul posto di lavoro, se provassero a identificarli sulla base di competenze trasversali.
ps

33

Lo scopo di fizzbuzz non è trovare buoni programmatori, è trovare una certa classe di programmatori cattivi, ovvero persone che non possono implementare un semplice algoritmo. La tua domanda è un po 'come chiedere quanti campioni Nascar sono stati identificati durante gli esami di patente. C'è molta via di mezzo tra qualcuno che sicuramente non vuoi assumere e qualcuno che sicuramente fai.

Esistono altre classi di programmatori "cattivi" che richiedono diversi metodi di identificazione, come quelli che non sono competenti in una determinata lingua o hanno problemi comportamentali. Tuttavia, i programmatori "fizzbuzz-bad" sono quasi universalmente indesiderati, motivo per cui il test è così frequentemente raccomandato. Se un programmatore che è eccessivamente territoriale o che ha bisogno di trasferire le competenze in una nuova lingua è "buono" o "cattivo" dipende molto di più dalle esigenze e dalle preferenze del singolo datore di lavoro.


2
Ma cosa rende un programmatore "cattivo"? Vorresti qualcuno che è un programmatore straordinario ma che rimuove qualsiasi modifica archiviata nel "suo" codice in un progetto? O qualcuno che potrebbe aver bisogno di un piccolo aiuto andando da C a Java ma si dedicherà completamente al progetto?
joshin4colours,

4
@JMG: C'è una scuola di pensiero che ci informa "Neanche tu vuoi". Se hanno abitudini non collaborative come quest'ultima, allora "No Hire"; se non hanno abilità comuni ma necessarie "No Hire". Se c'è qualcosa nel candidato che ti fa esitare a prenderlo per questo progetto "No Hire"
SingleNegationElimination

@TokenMacGuy Immagino che la scuola di però dovrebbe essere chiamata la scuola "Tempo e risorse quasi infinite" :)
joshin4colours

@Karl puoi incorporarlo nella tua risposta?

5

FizzBuzz non si tratta di identificare buoni programmatori, si tratta di eliminare quelli cattivi / falsi. Se un candidato non può superare il test FizzBuzz, non sa come programmare e non dovrebbe candidarsi per una posizione di programmazione.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.