I 7 modi principali per testare rapidamente le competenze degli specialisti IT prima di un colloquio

Assumere specialisti IT non è un compito facile. In primo luogo, attualmente sul mercato c'è carenza di personale esperto, loro lo capiscono. I candidati spesso non sono disposti a dedicare molto tempo agli “eventi di selezione” del datore di lavoro se non sono prima interessati. La pratica precedentemente popolare di “ti faremo un test per più di 8 ore” non funziona più. Per la valutazione iniziale delle conoscenze e lo screening dei candidati prima di condurre un colloquio tecnico su vasta scala, è necessario utilizzare altri metodi più rapidi. In secondo luogo, per una valutazione di alta qualità delle conoscenze e delle competenze, è necessario possedere tali competenze o attrarre un collega che abbia tali competenze. Queste difficoltà possono essere risolte utilizzando i metodi di cui parlerò in questo articolo. Io stesso utilizzo questi metodi e ho compilato una sorta di valutazione per me stesso.

Quindi, i miei 7 modi principali per testare rapidamente le competenze degli specialisti IT prima di un colloquio:

7. Studia il portfolio del candidato, gli esempi di codice e i repository aperti.

6. Un'attività di prova a tempo breve (completata in 30-60 minuti).

5. Un breve colloquio rapido sulle competenze via telefono/Skype (come un questionario, solo online e vocale).

4. Live-Doing (Coding): risolviamo un semplice problema in tempo reale con uno schermo condiviso.

3. Questionari con domande aperte sull'esperienza.

2. Brevi test a scelta multipla con tempo limitato per il completamento.

1. Attività di test in più fasi, la prima fase viene completata prima del colloquio.

Successivamente, considero in dettaglio questi metodi, i loro vantaggi e svantaggi e le situazioni in cui utilizzo l'uno o l'altro metodo per testare rapidamente le competenze dei programmatori.

I 7 modi principali per testare rapidamente le competenze degli specialisti IT prima di un colloquio

Nell'articolo precedente sul canale di assunzione habr.com/en/post/447826 Ho condotto un sondaggio tra i lettori sui modi per testare rapidamente le competenze degli specialisti IT. In questo articolo parlo dei metodi che personalmente mi piacciono, perché mi piacciono e come li utilizzo. Parto primo e finisco settimo.

1. Attività di test in più fasi, la prima fase viene completata prima del colloquio

Considero questo metodo per testare le competenze degli sviluppatori il migliore. A differenza di un compito di test tradizionale, quando dici "prendi il compito e vai a farlo", nella mia versione, il processo di completamento del compito di test è diviso in fasi: discussione e comprensione del compito, progettazione di una soluzione e valutazione delle risorse richieste , diverse fasi di attuazione della soluzione, documentazione e presentazione dell'accettazione della decisione. Questo approccio è più vicino alla normale tecnologia di sviluppo software moderna che al semplice “prendilo e fallo”. Dettagli di seguito.

In quali casi utilizzo questo metodo?

Per i miei progetti, di solito assumo lavoratori remoti che sviluppano una parte separata, separata e relativamente indipendente del progetto. Ciò riduce la necessità di comunicazione tra i dipendenti, spesso a zero. I dipendenti non comunicano tra loro, ma con il project manager. Pertanto, è importante per me valutare immediatamente la capacità di una persona di comprendere rapidamente un problema, porre domande chiarificatrici, sviluppare autonomamente un piano d’azione per risolvere il problema e stimare le risorse e il tempo necessari. Un'attività di test in più fasi mi aiuta bene in questo.

Come implementare

Identifichiamo e formuliamo un compito indipendente e originale legato al progetto su cui lo sviluppatore dovrà lavorare. Di solito descrivo come attività un prototipo semplificato dell'attività principale o del prodotto futuro, per la cui implementazione lo sviluppatore dovrà affrontare i principali problemi e tecnologie del progetto.

La prima fase dell'attività di test è la familiarizzazione con il problema, il chiarimento di ciò che non è chiaro, la progettazione di una soluzione, la pianificazione dei passaggi per risolvere il problema e la stima del tempo per completare i singoli passaggi e l'intera attività di test. All'uscita, mi aspetto un documento di 1-2 pagine che delinei il piano d'azione dello sviluppatore e la stima dei tempi. Chiedo inoltre ai candidati di indicare quale delle fasi vorrebbero implementare integralmente per confermare nella pratica le proprie competenze. Non è ancora necessario programmare nulla.

Questo compito (lo stesso) viene assegnato a più candidati. Le risposte dei candidati sono attese il giorno successivo. Successivamente, dopo 2-3 giorni, quando abbiamo ricevuto tutte le risposte, analizziamo cosa ci hanno inviato i candidati e quali domande chiarificatrici hanno posto prima di iniziare l'attività. Sulla base di queste informazioni, puoi invitare qualsiasi numero di candidati di cui hai bisogno alla fase successiva.

La fase successiva è una breve intervista. Abbiamo già qualcosa di cui parlare. Il candidato ha già una vaga idea dell'area tematica del progetto su cui lavorerà. L'obiettivo principale di questo colloquio è rispondere alle domande tecniche del candidato e motivarlo a completare l'attività principale del test, programmando la parte dell'attività che lui stesso ha scelto. O la parte che vuoi vedere implementata.

È sempre molto interessante vedere quale parte dell'attività lo sviluppatore desidera implementare. Alcune persone preferiscono decomprimere la struttura del progetto, scomporre la soluzione in moduli e classi, ovvero spostarsi dall'alto verso il basso. Alcuni evidenziano una sottoattività separata, a loro avviso la più importante, senza prescrivere la soluzione nel suo complesso. Cioè, vanno dal basso verso l'alto, dalla sottoattività più complessa all'intera soluzione.

Vantaggi

Possiamo vedere l’erudizione del candidato, l’applicabilità delle sue conoscenze al nostro progetto e lo sviluppo delle capacità comunicative. È anche facile per noi confrontare i candidati tra loro. Di solito rifiuto i candidati che danno stime troppo ottimistiche o troppo pessimistiche sul tempo necessario per completare un compito. Naturalmente ho la mia stima del tempo. Il punteggio basso di un candidato indica molto probabilmente che la persona non ha compreso correttamente il compito e ha completato il test in modo superficiale. Una stima eccessiva del tempo di solito indica che il candidato ha una scarsa conoscenza dell'argomento e non ha esperienza negli argomenti di cui ho bisogno. Non rifiuto immediatamente i candidati in base al punteggio ottenuto, ma piuttosto chiedo loro di motivare la loro valutazione se la valutazione non è già stata sufficientemente motivata.

Per alcuni, questo metodo può sembrare complicato e costoso. La mia valutazione dell’intensità di lavoro derivante dall’utilizzo di questo metodo è la seguente: sono necessari 30-60 minuti per descrivere l’attività del test e poi 15-20 minuti per verificare la risposta di ciascun candidato. Per i candidati, il completamento di tale compito di prova di solito non richiede più di 1-2 ore, mentre sono immersi nell'essenza dei problemi che dovranno risolvere in futuro. Già in questa fase, il candidato potrebbe disinteressarsi e rifiutarsi di comunicare con te, perdendo un po' di tempo.

Limitazioni

Innanzitutto è necessario ideare un compito di test originale, isolato e capiente; questo non è sempre possibile. In secondo luogo, non tutti i candidati comprendono immediatamente che la programmazione non è richiesta nella prima fase. Alcune persone iniziano subito a programmare e scompaiono per alcuni giorni, quindi inviano loro un'attività di prova completamente completata. Formalmente, hanno fallito questo compito di prova perché non hanno fatto ciò che veniva loro richiesto. Ma allo stesso tempo, hanno avuto successo se hanno inviato una soluzione adeguata all’intero compito di test. Per eliminare tali incidenti, di solito chiamo tutti i candidati che hanno ricevuto l'incarico 2 giorni dopo l'assegnazione dell'incarico e scopro come stanno andando.

2. Test brevi a scelta multipla con limiti di tempo

Non utilizzo spesso questo metodo, anche se mi piace molto e lo trovo uno dei modi migliori per testare rapidamente le competenze. Scriverò un articolo separato su questo metodo nel prossimo futuro. Tali test sono ampiamente utilizzati in vari campi della conoscenza. L’esempio più eclatante e tipico è l’esame teorico per il conseguimento della patente di guida. In Russia, questo esame contiene 20 domande a cui è necessario rispondere in 20 minuti. È consentito un errore. Se commetti due errori, devi rispondere correttamente a 10 domande aggiuntive. Questo metodo è altamente automatizzato.

Sfortunatamente, non ho visto buone implementazioni di tali test per i programmatori. Se conosci buone implementazioni già pronte di tali test per i programmatori, scrivi nei commenti.

Come implementare

Ho lavorato con l'auto-implementazione di test simili da parte dei datori di lavoro durante l'evasione degli ordini come reclutatore in outsourcing. È del tutto possibile implementare un simile test. Ad esempio, utilizzando Moduli Google. Il problema principale sta nella composizione delle domande e delle opzioni di risposta. In genere, l'immaginazione dei datori di lavoro è sufficiente per 10 domande. Sfortunatamente, in Moduli Google è impossibile implementare la rotazione delle domande dal pool e i limiti di tempo. Se conosci un buon strumento online per creare i tuoi test, dove puoi limitare il tempo per sostenere il test e organizzare la selezione di domande diverse per candidati diversi, scrivi di tali servizi nei commenti.

In quali casi utilizzo questo metodo?

Ora utilizzo questo metodo su richiesta dei datori di lavoro se hanno test già pronti che possono essere forniti ai candidati. È anche possibile combinare tali test con il quarto metodo della mia valutazione: chiediamo al candidato di condividere il suo schermo e sostenere il test. Allo stesso tempo, puoi discutere con lui domande e opzioni di risposta.

Vantaggi

Se implementato bene, questo metodo è autonomo. Il candidato può scegliere un orario a lui conveniente per sostenere il test e tu non dovrai perdere molto tempo.

Limitazioni

L'implementazione di alta qualità di questo metodo è piuttosto costosa e non è molto conveniente per una piccola azienda che assume occasionalmente nuovi dipendenti.

3. Questionari con domande aperte sull'esperienza

Si tratta di una serie di domande a risposta aperta che invitano il candidato a riflettere sulla propria esperienza. Tuttavia, non offriamo opzioni di risposta. Le domande aperte sono quelle a cui non è possibile rispondere in modo semplice e monosillabico. Ad esempio, ricordi il problema più difficile che hai risolto utilizzando questo o quel framework? Qual è stata per te la difficoltà principale? A tali domande non è possibile rispondere con monosillabi. Più precisamente, l'unica risposta semplice è che non ho tale esperienza, non ho lavorato con questo strumento.

Come implementare

Facilmente implementabile utilizzando Moduli Google. La cosa principale è formulare domande. Utilizzo diversi design standard.

Raccontaci dell'ultimo progetto che hai realizzato con l'aiuto di XXX, qual è stata la cosa più difficile per te in questo progetto?

Quali sono per te i principali vantaggi della tecnologia XXX, fornisci esempi tratti dalla tua esperienza?
Avendo scelto la tecnologia XXX, quali altre alternative hai preso in considerazione e perché hai scelto XXX?

In quali situazioni sceglieresti la tecnologia AAA rispetto a quella BBB?
Raccontaci il problema più difficile che hai risolto utilizzando XXX, qual è stata la difficoltà principale?

Di conseguenza, questi costrutti possono essere applicati a molte tecnologie nel tuo stack di lavoro. Non è facile rispondere a queste domande con frasi modello prese da Internet, poiché sono personali e riguardano l'esperienza personale. Quando risponde a queste domande, il candidato di solito tiene presente l'idea che durante il colloquio qualsiasi sua risposta possa essere sviluppata sotto forma di domande aggiuntive. Pertanto, se non c'è esperienza, i candidati spesso si ritirano, rendendosi conto che ulteriori conversazioni potrebbero essere inutili.

In quali casi utilizzo questo metodo?

Quando lavoro con ordini per la selezione di specialisti, se il cliente non ha proposto il proprio metodo di verifica delle competenze primarie, utilizzo questo metodo. Ho già preparato dei questionari su diversi argomenti e non mi costa nulla utilizzare questo metodo per un nuovo cliente.

Vantaggi

Facile da implementare utilizzando Moduli Google. Inoltre, è possibile effettuare una nuova rilevazione sulla base della precedente, sostituendo i nomi delle tecnologie e degli strumenti con altri. Ad esempio, un sondaggio sull'esperienza con React non sarà molto diverso da un sondaggio sull'esperienza con Angular.

La compilazione di un questionario di questo tipo richiede 15-20 minuti e i candidati solitamente impiegano 15-30 minuti per rispondere. L’investimento di tempo è piccolo, ma riceviamo informazioni sull’esperienza personale del candidato, da cui possiamo costruire e rendere ogni colloquio con i candidati unico e più interessante. In genere, la durata dell'intervista dopo tale questionario è più breve, poiché non è necessario porre domande semplici e simili.

Limitazioni

Per distinguere la risposta di un candidato da quella “cercata su Google”, è necessario comprendere l’argomento. Ma questo arriva rapidamente con l’esperienza. Dopo aver visualizzato 10-20 risposte, imparerai a distinguere le risposte originali dei candidati da quelle trovate su Internet.

4. Live-Doing (Coding): risoluzione di un semplice problema in tempo reale con uno schermo condiviso

L'essenza di questo metodo è chiedere al candidato di risolvere un semplice problema e osservare il processo. Il candidato può utilizzare qualsiasi cosa; non vi è alcun divieto di cercare informazioni su Internet. Il candidato potrebbe provare stress se viene osservato sul lavoro. Non tutti i candidati accettano questa opzione per valutare le proprie competenze. Ma, d'altra parte, questo metodo ti permette di vedere quali conoscenze ha una persona nella sua testa, cosa può usare anche in una situazione stressante e per quali informazioni andrà al motore di ricerca. Il livello del candidato si nota quasi immediatamente. I principianti utilizzano le funzionalità più basilari, persino primitive, del linguaggio e spesso iniziano a implementare manualmente le funzionalità delle librerie di base. I candidati più esperti conoscono bene le classi, i metodi e le funzioni di base e possono risolvere rapidamente un problema semplice, 2-3 volte più velocemente dei principianti, utilizzando le funzionalità della libreria linguistica di base a loro familiare. Anche i candidati più esperti di solito iniziano parlando dei diversi approcci alla risoluzione di un problema e presentando diverse opzioni di soluzione, chiedendo quale opzione vorrei vedere implementata. Tutto ciò che fa il candidato può essere discusso. Anche sulla base dello stesso compito i colloqui risultano molto diversi, così come le soluzioni dei candidati.

Come variante a questa modalità, si può chiedere al candidato di sostenere dei test volti a verificare le competenze professionali, motivando la scelta dell'una o dell'altra delle opzioni di risposta. A differenza dei test regolari, scoprirai quanto è stata ragionevole la scelta delle risposte. Puoi inventare le tue varianti di questo metodo, tenendo conto delle caratteristiche del tuo posto vacante.

Come implementare

Questo metodo è facilmente implementabile utilizzando Skype o un altro sistema di comunicazione video simile che consente di condividere lo schermo. Puoi inventare tu stesso i problemi o utilizzare siti come Code Wars e una varietà di test già pronti.

In quali casi utilizzo questo metodo?

Quando seleziono i programmatori e dal curriculum non è affatto chiaro quale livello di conoscenza abbia il candidato, offro ai candidati un colloquio in questo formato. Nella mia esperienza, a circa il 90% degli sviluppatori non importa. Sono lieti che fin dal primo colloquio inizi la comunicazione sulla programmazione e non domande stupide come "dove ti vedi tra 5 anni".

Vantaggi

Nonostante lo stress e l'ansia del candidato, il livello di abilità complessivo del candidato è immediatamente e chiaramente visibile. Anche le capacità comunicative del candidato diventano chiaramente visibili: come ragiona, come spiega e motiva la sua decisione. Se devi discutere di un candidato con i colleghi, è facile effettuare una registrazione video del tuo schermo e poi mostrare l'intervista ad altre persone.

Limitazioni

La comunicazione potrebbe essere interrotta. A causa dell’ansia, il candidato potrebbe iniziare a diventare stupido. In questa situazione, puoi fare una pausa e dargli il tempo di pensare da solo al compito, richiamarlo dopo 10 minuti e continuare. Se dopo ciò il candidato si comporta in modo strano, vale la pena provare un altro modo di valutare le competenze.

5. Breve colloquio rapido sulle competenze tramite telefono/Skype

Si tratta semplicemente di una conversazione vocale al telefono, su Skype o su un altro sistema di comunicazione vocale. Allo stesso tempo, possiamo valutare le capacità comunicative del candidato, la sua erudizione e la sua prospettiva. È possibile utilizzare un questionario come piano di conversazione. In alternativa, puoi discutere più dettagliatamente con il candidato le sue risposte al tuo questionario.

Come implementare

Concordiamo una conversazione con il candidato e chiamiamo. Facciamo domande e registriamo le risposte.

In quali casi utilizzo questo metodo?

Di solito utilizzo questo metodo in combinazione con un questionario quando le risposte del candidato mi sono sembrate originali o non abbastanza convincenti. Parlo con il candidato delle domande del questionario e scopro la sua opinione in modo più dettagliato. Considero tale conversazione obbligatoria quando sono importanti le capacità comunicative del candidato e la capacità di formulare i suoi pensieri in modo semplice e chiaro.

Vantaggi

Senza parlare apertamente di argomenti professionali, di solito è impossibile determinare quanto bene un candidato possa esprimere i propri pensieri.

Limitazioni

Lo svantaggio principale è il tempo aggiuntivo impiegato. Pertanto, utilizzo questo metodo in aggiunta ad altri, se necessario. Inoltre, ci sono candidati che parlano bene di argomenti professionali, ma hanno poche conoscenze pratiche. Se hai bisogno di un programmatore che risolva i problemi in modo coerente ed efficiente, allora è meglio scegliere un altro metodo di test delle competenze primarie. Se hai bisogno di un manager o di un analista, cioè uno specialista che traduca dal linguaggio umano a "programmatore" e viceversa, allora questo metodo di verifica delle competenze sarà molto utile.

6. Attività di test a tempo breve (completata in 30-60 minuti)

Per molte professioni è importante che uno specialista sia in grado di trovare rapidamente una soluzione a un problema. Di norma, i problemi non sono difficili da risolvere, ma il tempo necessario per risolverli è importante.

Come implementare

Concordiamo con il candidato il tempo per il completamento dell'attività di prova. All'ora stabilita inviamo al candidato i termini dell'incarico e scopriamo se comprende ciò che gli viene richiesto. Registriamo il tempo impiegato dal candidato per risolvere il problema. Analizziamo la soluzione e i tempi.

In quali casi utilizzo questo metodo?

Nella mia pratica, questo metodo è stato utilizzato per testare le competenze di specialisti del supporto tecnico, programmatori SQL e tester (QA). Le attività erano come "trovare aree problematiche e capire come risolverlo", "ottimizzare la query SQL in modo che funzioni 3 volte più velocemente", ecc. Certo, puoi inventare i tuoi compiti. Per gli sviluppatori principianti, è possibile utilizzare anche questo metodo.

Vantaggi

Dedichiamo il nostro tempo solo alla stesura e al controllo del compito. Il candidato può scegliere un orario a lui conveniente per completare l'attività.

Limitazioni

Lo svantaggio principale è che le soluzioni ai tuoi problemi o problemi simili possono essere pubblicate su Internet, quindi è necessario disporre di una serie di opzioni e proporre periodicamente nuove attività. Se hai bisogno di mettere alla prova la tua velocità di reazione e i tuoi orizzonti, scelgo personalmente i test a tempo (metodo n. 2).

7. Studia il portfolio del candidato, esempi di codice, repository aperti

Questo è forse il modo più semplice per testare le competenze, a condizione che i tuoi candidati abbiano un portfolio e tu disponga di specialisti nel tuo team di selezione in grado di valutare il portfolio.

Come implementare

Studiamo i curriculum dei candidati. Se troviamo collegamenti al portfolio, li studiamo. Se nel curriculum non è indicato un portfolio, richiediamo un portfolio al candidato.

In quali casi utilizzo questo metodo?

Nella mia pratica, questo metodo è stato utilizzato molto raramente. Non capita spesso che il portfolio di un candidato contenga lavori sull'argomento desiderato. I candidati esperti spesso preferiscono questo metodo invece di un compito di test tipico e poco interessante. Dicono: "guarda il mio rap, ci sono dozzine di esempi delle mie soluzioni a vari problemi, vedrai come scrivo il codice".

Vantaggi

Il tempo dei candidati viene risparmiato. Se i professionisti del tuo team hanno tempo, è possibile eliminare rapidamente e senza comunicazione con i candidati quelli inadatti. Mentre il recruiter cerca candidati, il suo collega valuta il portfolio. Il risultato è un lavoro abbastanza veloce e parallelo.

Limitazioni

Questo metodo non può essere utilizzato per tutte le professioni IT. Per valutare un portafoglio, è necessario aver sviluppato personalmente le competenze. Se non sei uno specialista, non sarai in grado di valutare qualitativamente il portafoglio.

Colleghi, vi invito a discutere ciò che avete letto nei commenti. Raccontaci, quali altri metodi utilizzi per testare rapidamente le competenze?

Fonte: habr.com

Aggiungi un commento