Perché un test sui campioni di lavoro identificherà gli sviluppatori di software da assumere

Pubblicato: Ultimo aggiornamento:
articoli di reclutamento elenco lavoro campione post

Prima che fosse facile sottoporre un campione di lavoro a chiunque entrasse nel vostro imbuto di reclutamento tecnologico, il processo di assunzione di personale tecnico era un campo minato. Anche prima di entrare nel settore, ricordo di aver sentito le storie di frustrazione dei miei amici e colleghi che cercavano di superare il processo di colloquio tecnico sia come candidati che come responsabili delle assunzioni.

I candidati sono stati sottoposti a una raffica di test algoritmici irrilevanti, lunghi e scoraggianti e a interviste alla lavagna che favorivano pesantemente i neolaureati e non davano loro alcuna visione del lavoro. Altrettanto difficile è stato per i selezionatori e i responsabili delle assunzioni. Avevano pochissimi metodi efficaci per determinare quali dei loro candidati dev avrebbero svolto un ottimo lavoro per loro. Quindi usavano quello che c'era e dovevano sopportare la variabilità dei risultati. Ma c'è un modo migliore.

Il test del campione di lavoro è un'idea consolidata in altri settori, che ha rivoluzionato il processo di assunzione, ma ora sta guadagnando terreno nel settore tecnologico.

Per saperne di più sui colloqui tecnici e sui test delle competenze, consultate il sito La guida definitiva al colloquio tecnico.

Che cos'è il test del campione di lavoro?

Secondo l'ex vicepresidente senior di Google per le Operazioni con le persone, un test su campioni di lavoro è un test che Laszlo Bock,


Laszlo Bock spiega cos'è un test su campioni di lavoro.(...) consiste nel fornire ai candidati un esempio di lavoro, simile a quello che svolgeranno nel posto di lavoro, e nel valutarne le prestazioni.

Fonte dell'immagine: LinkedIn


Sembra piuttosto semplice, non è vero? Sembra quasi un periodo di prova, ma i test sui campioni di lavoro si differenziano per il fatto che soddisfano tutti questi criteri da Sockpuppet.org:

  • Essi rispecchiano il più possibile l'effettivo lavoro che il candidato sarà chiamato a svolgere nel suo impiego
  • Sono standardizzati in modo che ogni candidato affronti lo stesso test.
  • Generano dati e un voto, non un semplice risultato "passa/non passa".
  • Sono molto più brevi, di solito non più di un'ora o due.

Quindi, se non è un processo, cos'è? Ryan Daigle, direttore di Ingegneria di Spregiudicato è il modo migliore per dirlo:


Ryan Daigle spiega cos'è il test del campione di lavoro.Un campione di lavoro è un compito di sviluppo specifico del dominio, valutato oggettivamente e in cieco, che il candidato completa nel proprio tempo libero.

Fonte dell'immagine: LinkedIn


In altre parole, un'attività di sviluppo software o un'attività di sviluppo software personalizzato compito. Quindi, perché fare uno sforzo in più per testare i candidati in questo modo?

Un test su campioni di lavoro è il miglior predittore delle prestazioni future di uno sviluppatore.

Sono state condotte numerose ricerche sull'efficacia dei diversi metodi di verifica dei candidati. I risultati di questi studi indicano generalmente che i test su campioni di lavoro sono il miglior predittore delle prestazioni future.

Frank L. Schmidt dell'Università dell'Iowa e John E. Hunter della Michigan State University hanno svolto un'attività di ricerca e sviluppo. recensione di 85 anni di ricerche sull'argomento. Hanno scoperto che i test sui campioni di lavoro sono praticamente testa a testa con i test di attitudine mentale generale (GMA) come migliori predittori delle prestazioni future, con il vantaggio che non hanno pregiudizi nei confronti delle minoranze come i test GMA.

Il test sul campione di lavoro è convalidato in The Validity and Utility of Selection Methods in Personnel Psychology: Implicazioni pratiche e teoriche di 85 anni di risultati di ricerca".Fonte: "La validità e l'utilità dei metodi di selezione in psicologia del personale:Implicazioni pratiche e teoriche di 85 anni di risultati di ricerca".

Non solo i pregiudizi danneggiano i vostri sforzi di reclutamento restringendo la rosa dei candidati, ma secondo Tikhon Jelvis(*), responsabile dello scienziato dei dati di Target, può aprire la strada a cause legali in base al principio dell'impatto disuguale. I test su campioni di lavoro sono quindi i vincitori assoluti, un risultato confermato da Laszlo Bock, che in questo Intervista alla BBC rivela che sono stati i migliori indicatori delle prestazioni future di tutti i test condotti da Google.

Ma questi risultati sono generali, quindi come possono essere applicati allo screening degli sviluppatori di software?

Cosa rende un buon campione di lavoro un test per gli sviluppatori di software

Cosa rende un buon campione di lavoro un test per gli sviluppatori di software?Per essere efficace, un test su un campione di lavoro deve comprendere un compito che sia importante e rappresentativo del lavoro che verrà svolto. Ciò che questo significa per uno sviluppatore di software è meglio riassunto da Ryan Daigle di Spregiudicato,

I campioni di lavoro devono riflettere ciò che l'azienda fa e come lo fa. Il candidato deve misurare l'azienda e l'azienda deve misurare il candidato.

Un esempio di attività di programmazione deve riflettere i tipi di problemi che l'azienda risolve e l'ambiente in cui lo fa. Ciò significa verificare quanto il candidato sia a suo agio nell'utilizzare le librerie e i framework già utilizzati dal team. Come sottolinea Ryan, il test non serve solo a valutare le competenze del candidato. Supporta anche una buona esperienza del candidato dando al candidato un assaggio delle tecnologie utilizzate dall'azienda e dei tipi di compiti per i quali le utilizza.

Il compito deve essere svolto in un contesto reale.

L'Office of Personnel Management degli Stati Uniti ha condotto ricerche approfondite sull'efficacia dei diversi metodi di determinazione delle competenze di assunzione. Il loro conclusione è che,

Poiché i campioni di lavoro richiedono ai candidati di svolgere mansioni identiche o molto simili a quelle del posto di lavoro, si presta molta attenzione nel cercare di imitare il più possibile l'ambiente di lavoro.

In un colloquio per uno sviluppatore di software, ci sono due aree in cui è necessario considerare questo effetto. Il primo è quello che abbiamo menzionato sopra, ovvero che il compito è lo stesso che il candidato svolgerà se verrà assunto.

Il secondo è rendere l'ambiente di lavoro identico. Date al candidato l'accesso a tutte le risorse che utilizzerebbe normalmente al lavoro. Queste includono biblioteche e framework, oltre a risorse esterne quali Stack Overflow, GitHub, e Googlecome i vostri attuali sviluppatori.

Questo vale anche per l'IDE che utilizzano. Lasciate che usino quello con cui si trovano più a loro agio. Non ha senso sprecare il loro tempo per imparare a conoscere uno strumento che useranno solo durante il colloquio, quando potrebbero svolgere il compito.

Dovreste imporre un limite di tempo

È necessario imporre un limite di tempo per il test del campione di lavoro.Stabilire un limite di tempo per il test è importante per due motivi. Il primo è che nessuno sviluppatore ha una quantità infinita di tempo per perfezionare il proprio codice. A un certo punto, dovrà terminare il suo progetto perché abbia un qualche valore.

In secondo luogo, un limite di tempo vi aiuta a definire la portata di ciò che state cercando dal candidato. Se date semplicemente un compito e chiedete al candidato di consegnarlo quando ha finito, significa che deve impiegare una settimana per renderlo perfetto o che deve fare del suo meglio entro un'ora? L'aggiunta di un limite di tempo aiuta a rimuovere il pregiudizio che alcuni programmatori hanno nei confronti dei test di prova come jasode su Notizie Hacker. Non hanno il tempo di dedicare una settimana a un progetto, quindi abbandoneranno l'imbuto di reclutamento se il test di programmazione sembra troppo aperto.

Il test deve essere valutato in base a una griglia di valutazione.

Abbiamo parlato altrove su questo blog dell'importanza di avere una rubrica oggettiva da utilizzare nei colloqui. Esse aiutano eliminare i pregiudizi rendendo il processo di valutazione il più oggettivo possibile. Lo stesso vale per il test del campione di lavoro. Decidete i criteri che volete adottare per il test e attenetevi ad essi. Questo vi aiuterà a trovare le persone migliori, filtrando il rumore che può offuscare il vostro giudizio.

Basta chiedere a Elena Grewal, responsabile del settore Data Science di Airbnb. In un'intervista al LA TimesL'autrice spiega l'importanza dell'uso di una griglia quando si valuta un campione di lavoro:


Elena Grewal spiega l'importanza del test del campione di lavoro per AirbnbAbbiamo analizzato attentamente la situazione e ci siamo resi conto che le persone che valutavano l'esercizio non avevano una griglia di valutazione chiara, così abbiamo cambiato la situazione e abbiamo reso chiaro ciò che stavamo cercando, abbiamo reso la valutazione coerente e se una persona aveva successo passava al turno successivo.

Fonte dell'immagine: LinkedIn

Il cambiamento ha portato al raddoppio del numero di donne assunte. Si noti che non hanno cambiato i loro standard. Al contrario, hanno introdotto un maggior grado di obiettività che ha permesso loro di accedere a candidati più qualificati, il punto di partenza del test.

Il candidato deve avere la possibilità di prepararsi e di ricevere un feedback dettagliato subito dopo.

Lo scopo di questo test è che il candidato dia il meglio di sé in un normale compito lavorativo. Di solito al lavoro si conoscono i tipi di compiti che l'azienda svolge e raramente si viene sorpresi da nuovi compiti in un ambiente completamente nuovo. Dovete spiegare esattamente su cosa verteranno il test e il compito, in modo che il candidato sappia esattamente cosa aspettarsi.

Dopo il test, dovreste fornire al candidato un feedback dettagliato sulle sue prestazioni. Non solo questo è un buon modo per esperienza del candidatoInoltre, migliorerà la reputazione del vostro datore di lavoro all'interno della comunità degli sviluppatori.

Come le diverse aziende costruiscono i test di prova del lavoro per gli sviluppatori di software

Diverse aziende hanno adottato approcci diversi per creare i propri test per i campioni di lavoro. Ecco alcuni esempi che potete utilizzare.

PoliticaStat (acquisita da iContracts) ha utilizzato questa tattica per oltre 300 candidati per 6 diverse posizioni nel proprio team tecnologico. A tutti i candidati viene assegnato un progetto specifico che rispecchia il più possibile il lavoro da svolgere. Ciò significa andare oltre il linguaggio e testare effettivamente le tecnologie specifiche utilizzate dal team, nel loro caso Django.

Ai candidati viene chiesto di presentare una richiesta di pull che aggiunge una funzionalità e corregge un bug su un progetto basato su Django.

Spregiudicato è uno strumento per i pagamenti, quindi il loro esempio di lavoro consiste nel creare un adattatore per il gateway ActiveMerchant a un finto gateway di pagamento. Questo è esattamente il tipo di progetto che i loro sviluppatori fanno di continuo, quindi si adatta perfettamente al ruolo.

È possibile dare un'occhiata al loro campione su GitHub. Se ci andate, potete vedere come viene spiegato esattamente qual è il compito, come presentarlo, cosa stanno cercando e l'ambito del progetto.

Il test del campione di lavoro di SpreedlySockpuppet.org/Latacora è un Rotaie negozio. Il loro compito è quello di prendere un'applicazione Rails che hanno implementato e di ritagliare alcune aree funzionali dell'applicazione. Potrebbe trattarsi di una funzione di ricerca o di aggiornamento degli ordini dei clienti. Poi chiedono al candidato di aggiungere nuovamente la funzionalità.

A DevSkillerAbbiamo preso il concetto di test di prova per sviluppatori di software e abbiamo costruito una piattaforma per automatizzare il processo per il tester e il candidato. I test possono essere condotti sulla piattaforma da qualsiasi parte del mondo, a piacimento del candidato. Il test viene poi valutato automaticamente, risparmiando il tempo di un intervistatore tecnico. I reclutatori possono scegliere tra i numerosi test già pronti o costruirne di propri con il codice effettivo utilizzato dall'azienda.

Un buon esempio di test DevSkiller è questo test per sviluppatori Java che scrivono applicazioni blog RESTful. Come si può vedere, la descrizione del compito indica le tecnologie che saranno utili (Spring, Spring Data JPA, Hibernate tra le altre) e il compito (aggiungere una funzione di commento).

Test del campione di lavoro di DevSkillerNella parte superiore della pagina è presente un utile conto alla rovescia che consente al candidato di sapere quanto tempo ha a disposizione.

L'orologio del conto alla rovescia nel test del campione di lavoro di DevSkillerÈ presente una console di compilazione che consente al candidato di eseguire i test durante il test del campione di lavoro.

La console di compilazione nel test del campione di lavoro di DevSkillerL'idea è di creare parametri chiari per il progetto, ma di dare al candidato l'opportunità di utilizzare tutte le risorse a sua disposizione per trovare una soluzione. A differenza delle altre soluzioni, DevSkiller accelera il processo inviando automaticamente il test al candidato, ricevendo il test finito, clonando il compito, costruendolo e revisionandolo senza che la qualità dei test venga compromessa. Come spiega Arthur Brooks di CodiceSpaghetti Il test [Devskiller] è molto approfondito e fornisce una panoramica significativa delle prestazioni del candidato". Alla fine, il selezionatore riceve un resoconto dettagliato dei risultati, in modo che il candidato possa essere confrontato in modo oggettivo con gli altri candidati che partecipano al test.

La prossima mossa

I test sui campioni di lavoro sono un modo incredibilmente accurato per valutare se il candidato allo sviluppo software è in grado di svolgere il lavoro o meno. Sia che costruiate il vostro test da zero o che utilizziate una piattaforma automatizzata, ecco alcune cose da ricordare quando costruite il test.

Fare

  • Misurare oggettivamente la presentazione
  • Rendere l'ambito del compito gestibile e ben definito.
  • Testate l'ambiente di programmazione specifico che utilizzate con queste tecnologie.

Non

  • Sfruttate questa opportunità per ottenere lavoro gratuito dai candidati*.

*In passato si sono verificati alcuni casi (vedi questo domanda da Quora) in cui le aziende, spesso startup a corto di denaro, utilizzano un'attività di assunzione come un modo economico per aggiungere una funzionalità al loro prodotto. Non fatelo. I vostri candidati lo scopriranno e questo li allontanerà dalla vostra azienda. Non solo, lo diranno ai loro amici, rovinando la reputazione del vostro datore di lavoro.

Come valutate le competenze di codifica dei vostri candidati? Non vedo l'ora di sentire le vostre opinioni nella sezione commenti qui sotto!

Condividi post

Per saperne di più sulle assunzioni nel settore tecnologico

Iscrivetevi al nostro Learning Hub per ricevere utili approfondimenti direttamente nella vostra casella di posta elettronica.

Verifica e sviluppo delle competenze di codifica senza soluzione di continuità.

Guardate i prodotti DevSkiller in azione.

Certificazioni di sicurezza e conformità. Ci assicuriamo che i vostri dati siano sicuri e protetti.

Logo DevSkiller Logo TalentBoost Logo TalentScore