Vuoi assumere programmatori che non sanno programmare?
Ho intenzione di azzardare che non lo fai.
Assumere programmatori che non riescono a risolvere i problemi e scrivere codice è un buon modo per rovinare una società tecnologica. E non sarai efficace nel disertare i programmatori che non sono in grado di programmare (e ce ne sono molti altri) se il tuo processo di assunzione non include una sorta di test di programmazione.
**Sei disposto ad abbassare i tuoi standard perché tutti stanno cercando di assumere programmatori? Come è stato notato nei commenti e nelle risposte, ci sono candidati che non si prenderanno la briga di fare esercizi di programmazione come parte di un colloquio di lavoro perché non ne hanno bisogno per ottenere un lavoro.
Ma sono davvero queste le persone che vuole assumere? Quelli che seguono il percorso di minor resistenza, che fanno ciò che è più vantaggioso per loro nel breve periodo, e che non si preoccupano abbastanza della vostra azienda per completare un semplice esercizio di programmazione? Questi non sembrano attributi positivi, e non danno molta fiducia in termini di capacità di trattenere quei candidati a lungo termine (il che è importante anche per un'azienda tecnologica, dato che le curve di apprendimento tendono ad essere ripide e il costo della sostituzione del personale esistente è molto alto).
Quindi lasciate che le altre aziende abbiano i programmatori che non possono nemmeno essere disturbati. Non volete assumerli in ogni caso. A differenza di loro, voi avete un piano. Uno che non si basa sulla fallacia “un programmatore è un programmatore”. Il vostro obiettivo dovrebbe essere la qualità e la sostenibilità, non il numero di persone.
**È spaventare i candidati un problema?
Generalmente no, purché siano spaventati per una buona ragione. Non volete assumere persone che non sono all'altezza. E alcune delle persone che dicono di “non potersi preoccupare” a causa dell'alta domanda potrebbero in realtà usarlo come scusa per coprire una situazione “non proprio così brava a programmare, quindi ci vorrebbe tutta la settimana per completare un esercizio di un'ora”.
E’ buono spaventare quei candidati. Volete assumere candidati capaci e motivati. Finché non spaventate anche quelli, siete bravi.
Ogni candidato che non spaventate è uno che dovete provare a valutare. E questo può essere difficile da fare se non date ai vostri candidati tecnici degli esercizi tecnici da utilizzare per la valutazione.
** Come posso migliorare il nostro processo di assunzione? **
Controlla il contenuto del tuo esercizio di programmazione. È ragionevole e appropriato per un contesto di colloquio?
Non vuoi che qualcosa che richieda giorni (o anche ore) per essere completato. Quello che volete è qualcosa di semplice per eliminare le persone che non sanno programmare, idealmente con abbastanza spazio per le sfumature che le persone che sanno programmare _sono in grado di differenziarsi. Tenete a mente ciò che state cercando di realizzare (eliminare i candidati non qualificati e non seri) e assicuratevi che i vostri contenuti siano adeguati a questo obiettivo. Non esagerate.
Se avete già del personale tecnico, potete usarlo per controllare la sanità mentale (e/o aiutare a progettare) il vostro esercizio.
E considerate anche il modo in cui amministrate l'esercizio. Se date loro un po’ di documentazione e dite “ecco, fatelo la prossima settimana e mandatemela per e-mail”, probabilmente sarà solo minimamente efficace.
Meglio se potete eseguire l'esercizio attraverso un portale web, che i candidati possono controllare e iniziare l'esercizio, e una volta iniziato un timer inizia il conto alla rovescia a partire da 1 ora. Poi o presentano qualcosa entro quell'ora, oppure no. Questo è meno aperto, mantiene meglio l'attenzione del candidato e fornisce una chiara scadenza/scatola del tempo, in modo che 1) non si resti ad aspettare tutta la settimana per un risultato che non arriverà mai, e 2) i candidati non qualificati non buttino via una settimana del loro tempo per cercare di completare l'esercizio di programmazione. Ottengono 1 ora, o risolvono il problema o non lo fanno, e si conosce immediatamente il risultato.
E ancora meglio sarebbe portarli qui per un colloquio sul posto. Presentateli a un membro del vostro team di sviluppo. Chiudeteli in una stanza insieme a una postazione di lavoro. Chiedete al vostro sviluppatore di iniziare con alcune domande generiche/soft per il colloquio, e poi possono programmare in coppia con il candidato per risolvere l'esercizio di programmazione. Questo vi dirà non solo se il candidato è in grado di codificare o meno, ma anche quanto bene lavora con il vostro team. Il vostro sviluppatore dovrebbe anche essere in grado di raccogliere molte informazioni aggiuntive che non otterrete guardando un mucchio di codice che un candidato ha scritto e poi vi ha inviato via e-mail.
Bottom line
No, non volete liberarvi del vostro esercizio di programmazione. Ma potreste volerlo rivedere per trovare il contenuto appropriato, assicurarvi che non ci voglia troppo tempo per risolverlo e guardare anche come lo state inserendo nel vostro processo di colloquio generale.
Un esercizio di take-home auto-diretto non è probabilmente l'approccio migliore. Ma la soluzione non è quella di eliminare completamente l'esercizio. No, a meno che non si sia d'accordo con l'assunzione di programmatori di merda, in ogni caso.
Meglio spaventare un sacco di candidati cattivi e una manciata di buoni che aprire le porte e assumerne alcuni cattivi.