Test tecnico per uno sviluppatore senior [chiuso]


21

Ho un dilemma. Ho un candidato per una posizione di sviluppatore software senior.

Il ragazzo sembra competente a un primo colloquio con lui e ha risposto esattamente alle domande poste e mi ha dato prove del suo lavoro. Inoltre è stato altamente raccomandato da alcuni colleghi fidati.

In questo caso, sono tentato di saltare il test tecnico richiesto dalle risorse umane, poiché devo riempire il posto vacante al più presto. Per favore, condividi la tua esperienza.

MODIFICARE:

Contro un giudizio migliore ho dato il test. I punteggi migliori in quasi tutte le domande, anche su argomenti di cui non si vantava. Ma ho avuto così un po 'di ironia da parte sua quando ha visto le domande del test - che chiaramente non erano per un anziano.

Quindi abbiamo fatto un'offerta.

Grazie a tutti per le intuizioni.


22
raccomandato da colleghi fidati dovrebbe essere abbastanza buono. La maggior parte non lo farebbe come la sua reputazione sulla linea.
Aditya P,

28
Se non hai abbastanza tempo per metterlo alla prova ora, come diamine avrai abbastanza tempo per licenziarlo, cercare un nuovo candidato e quindi provare quel ragazzo? Fallo bene la prima volta.
Alex Feinman,

1
@Alex: non si tratta di non eseguire correttamente il processo. Voglio assumere velocemente perché ho una scadenza da rispettare. Posso metterlo alla prova quanto voglio, gli ho persino fatto progettare soluzioni sul talk - nessun codice, dato che non ero davvero interessato alla sintassi del linguaggio, ma alla soluzione proposta e alle tecnologie adatte.
Daniel Voina,

Non potresti contrarre durante questo periodo di pressatura?
Kevin Peno,

1
@Aaron, le risorse umane sarebbero davvero così preoccupate per una posizione contrattuale? Soprattutto se il contratto è stato impostato a breve termine per prevenire disagi a lungo termine per l'azienda.
Kevin Peno,

Risposte:


34

Come di solito...

Dipende

Non ho mai visto un test tecnico che abbia dimostrato competenza. Ho visto molti test tecnici che hanno dimostrato l'ignoranza, sia da parte del collaudatore che del collaudatore.

Quanta fiducia hai nel test tecnico? L'hai preso? Pensi che sia giusto?

Confidenzialmente, ho fatto un test tecnico online come un favore per un cliente qualche tempo fa (volevano i miei punteggi come "base" per i nuovi assunti) e non ci sono riuscito - principalmente perché le domande del test consistevano esclusivamente in sintassi e nomi di funzioni per uno specifico versione di una lingua specifica. Uso sempre il linguaggio e lo uso da anni, ma non quelle caratteristiche specifiche . Queste erano tutte cose che potevo cercare quando / se necessario - e come tali erano assolutamente irrilevanti per l'abilità / competenza.

Quindi dipende davvero dal test. Se ritieni che il tuo test tecnico sia significativo, allora amministralo. Se non lo fai, allora liberartene . La tua impressione basata su un colloquio personale e le raccomandazioni di colleghi fidati sono molto più preziose di qualsiasi test .


:) Non mi interessa davvero la sintassi o la formattazione del codice. Voglio solo un ragazzo esperto in grado di gestire l'incertezza e di conoscere bene le sue cose. Inoltre è un SCJP - ID verificato presso Oracle. Vale la pena di fargli domande su C # solo per motivi di processo delle risorse umane?
Daniel Voina,

3
+1 "Sia da parte del collaudatore che del collaudatore" ... anzi. Vorrei poterlo fare +10
P.Brian.Mackey

1
@Daniel: Non credo - ma ho un'opinione estremamente bassa sui processi e le formalità delle risorse umane. Penso che gran parte di ciò esista semplicemente per giustificare l'esistenza del dipartimento, piuttosto che aggiungere valore all'azienda. Ma questa è solo la mia opinione.
Steven A. Lowe,

Se si tratta di un test online, puoi cercare le risposte come faresti normalmente, no?
Zan Lynx,

3
lol alla tua storia sul fallimento di un test per una tecnologia di cui il cliente già sa di essere un esperto. Ho già fatto questo tipo di test prima e mi hanno davvero fatto dubitare delle mie capacità (ero troppo presto nella mia carriera per rendermi conto di quanto fosse inutile il test.) Questo è esattamente il motivo per cui la maggior parte delle certificazioni tecniche sono al meglio parole d'ordine da mettere il tuo curriculum per gli screening delle risorse umane.
jhocking

33

I risultati del test tecnico faranno la differenza nella tua decisione di assunzione? La forza del tuo colloquio con lui e le raccomandazioni di colleghi altamente fidati sono abbastanza forti da rendere irrilevanti i risultati del test tecnico?

Se il test non fa differenza, saltalo.


2
Se il test non fa differenza, saltalo. - Pensavo lo stesso. Tuttavia, c'è un'altra variabile: le risorse umane, se richiede fortemente quel test e non richiede molto tempo, quindi consiglierei di farlo per non essere accusato dalle risorse umane in test deboli o non supportare le regole / politiche aziendali.
alexb,

1
@alexb Se l'HR richiede veramente il test, la domanda in sé è controversa e il test deve essere amministrato. Il fatto che venga posta la domanda, quindi, dobbiamo presumere che esista la possibilità di non sostenere il test.
Gratzy,

1
@Gratzy Certamente d'accordo. Con "Risorse umane fortemente richieste" intendevo dire che risorse umane richiede test ma potrebbe comunque essere saltato (se le risorse umane potrebbero essere flessibili), ma potrebbe essere rischioso per il manager in caso di assunzione di un ingegnere con mancanza di alcune competenze necessarie, perché il manager in tale il caso potrebbe essere incolpato per non aver effettuato il test Volevo solo dirlo.
alexb,

Quello che potrei anche dire è: se il test non richiede molto tempo, consiglierei solo di prenderlo, ciò dovrebbe impedire + alcune informazioni utili potrebbero essere recuperate.
alexb,

1
@alexb Non sono in disaccordo con te. Più informazioni sono meglio che meno, eliminare il rischio è meglio che avere dei rischi, tuttavia il poster ha chiaramente un breve lasso di tempo e vuole prendere una decisione in base alle informazioni limitate che ha, quindi se fare il test non aggiungerà molto allora non è molto utile qui. Se avessimo informazioni illimitate, le decisioni sarebbero facili. Essere in grado di prendere buone decisioni su informazioni limitate è prezioso.
Gratzy,

6

Io non vedo un forte argomento per saltare il test. Quindi dovresti tenerlo .

Se credi che il candidato si opporrà a dover fare un test, questo lo dice da solo.

Se il test impiega così tanto tempo per amministrare e verificare che ciò significhi che la decisione di assunzione è in ritardo, allora probabilmente dovrai rivedere il test stesso.

Al contrario, se stai pianificando di assumere la persona indipendentemente dal risultato, procedi senza di essa, ma probabilmente dovresti rivedere nuovamente la politica di test e renderla esplicitamente facoltativa.


Un buon punto sul fatto che il test (non il risultato) è un problema. Sicuramente assicurati che il test sia appropriato.
ChrisF

4

Il test tecnico è generalmente utile o BS? Vuoi saltarlo perché lo vuoi assunto più velocemente, perché hai paura di ottenere un posto di blocco al noleggio che desideri, o perché hai paura che possa offenderlo?

Come regola generale mi piace creare regole. Perché se inizi a fare eccezioni per una persona, dovresti iniziare a fare sempre più eccezioni fino a quando non ti bruci e scopri perché esiste la regola. E credetemi, un cattivo noleggio è un errore davvero doloroso da fare. Ma questo è vero solo se la regola è utile. Se questa regola è utile, dipende dal test tecnico.

In secondo luogo, non importa quanta pressione ti senti di assumere, non lasciare che ti spinga a prendere una decisione affrettata. La fretta ci spinge a dire di sì quando non dovremmo, ignorare i segnali di avvertimento, ecc. In effetti, maggiore è la pressione esercitata, maggiore è la necessità di respingere quella pressione per essere sicuri di prendere la decisione giusta.

In terzo luogo, se hai una voce assillante che dice "Temo che, nonostante tutto il resto, potrebbe non superare il test", quindi ascolta quella voce - non saltare il test. Questo potrebbe non essere il noleggio giusto.

E, infine, se il candidato è buono non solo non sarà offeso dal candidato a dover sostenere un test tecnico, probabilmente il candidato lo vedrà come un buon segno della propria organizzazione. È l'articolo 11 del test Joel ampiamente citato . Dopo tutto hanno avuto il dispiacere di lavorare con sviluppatori che non avrebbero superato un test tecnico e probabilmente non vogliono ripetere quell'esperienza.

Per tutte queste ragioni dovresti dare il test se (e questo è un importante se) il test non è un ovvio pezzo di BS che dovrebbe essere sostituito con un utile test tecnico.


Principalmente BS, per lo più senza rilevanza per il lavoro. L'HR pone domande in C # ma siamo principalmente una casa Java / Unix (non ridere: hanno acquistato i test da un consulente di assunzione). Come ho commentato sopra, non è stato chiesto "codice reale" durante l'intervista, ma pseudo-codice e alcuni scketch di UML.
Daniel Voina,

1
@Daniel Voina - Questa persona svolgerà un lavoro di programmazione o di architettura? Se un lavoro di codifica è necessario che la persona scriva il codice nell'intervista. Sul serio. Se il candidato si oppone a ciò, è necessario saperlo prima di assumere.
btilly

Tutti e due. Mi aspetto che si sviluppi. Mi aspetto che arrivi con soluzioni a livello di progettazione / architettura, oltre a codificarle. Penso che il 2 ° sia implicito naturalmente dallo SCJP + esperienza precedente + raccomandazioni
Daniel Voina,

@Daniel Voina - Quindi devi assolutamente provarlo. Alcuni candidati molto esperti, altrimenti molto bravi, sviluppano un atteggiamento secondo cui la codifica è in qualche modo al di sotto di loro. Possono essere fantastici in un ruolo di pura architettura se un ruolo di pura architettura ha senso per te. Ma se ne assumi uno e poi chiedi loro di programmare, non avrai fine al risentimento e ai problemi. È quindi necessario cercare questo nel processo di intervista.
btilly

4

Di recente eravamo nella stessa situazione. Abbiamo saltato il profondo tecnico perché all'inizio sembrava aver letto tutti i libri giusti e lavorato su tutti i giusti tipi di progetti. Sembrava davvero bravo.

Poi, dopo un paio di settimane, è diventato evidente che non era in grado di codificare effettivamente al livello che la sua intervista aveva detto che avrebbe dovuto. E la sua personalità non si adattava alla squadra. Era un disastro sbarazzarsi di lui e ripulire ciò che aveva fatto.

Fai il tecnico prima di assumere qualcuno.


3

Tieni il test per motivi di correttezza. Se in seguito altri neoassunti venissero a sapere che dovevano scrivere un test ma questo ragazzo non lo fece, ciò potrebbe provocare sentimenti di risentimento.

Il test dovrebbe essere applicato a tutti o a nessuno. Se vuoi applicarlo in modo selettivo, assicurati che ci sia una politica chiara e scritta che spieghi quando può essere revocata.


1

I valori dei test tecnici sono vari e dipendono in gran parte dal modo in cui i test sono abbinati al ruolo per cui viene assunto lo sviluppatore senior. Voglio dire, vorresti dare un elenco di domande sull'ingegneria dei sistemi embedded a uno sviluppatore Oracle (questo è un cattivo esempio per dimostrare un punto).

Anche se lo sviluppatore senior ottiene un punteggio scarso nel test tecnico, sarebbe un ostacolo per te assumere il candidato?

Come hai detto che hai poco tempo a disposizione, non affrettare la decisione a causa sua. Sarà peggio se lo sviluppatore senior risulta essere qualcuno che è al di sotto della sua area di responsabilità e finisce per mettere il progetto in ritardo.


1

Giralo.

Se si tratta di un'assunzione senior permanente che viene altamente raccomandata dalle persone di cui ti fidi, potrebbe finire nelle future squadre di interviste. Poni a questo potenziale sviluppatore senior le domande sui test di intervista tecnica che preferisci e come potrebbero valutare i punti di forza e di debolezza delle varie risposte. Forse inventare alcune nuove cattive risposte per metterle alla prova. Potresti persino imparare molto da questo uso del tuo tempo (o forse trovare qualcosa che è una bandiera rossa).

Quindi selezionare alcune delle risposte alle proprie domande come "test tecnico eseguito".


1

Pensala in questo modo: qual è la differenza tra assumere qualcuno di eccellente un po 'più tardi di quanto desideri o assumere qualcuno potenzialmente terribile in questo momento?

Inoltre, quanto riusciresti a dire di svolgere il lavoro per cui questo test è stato progettato per valutare?

Lavoro per un'azienda che richiede che circa il 99% dei candidati superi un test di programmazione. L'1% a cui non è richiesto il passaggio rientra in due categorie. La prima categoria sono i tipi "rockstar" che abbiamo attivamente reclutato sin dall'inizio. La seconda categoria, e probabilmente più pertinente, sono le persone per le quali il processo è stato rinunciato da personale senior che ha un curriculum molto forte e che è in grado di svolgere il lavoro per cui sta assumendo.

Personalmente, penso che questa sia una buona politica e la consiglierei per la tua situazione.


1

Darei comunque il test. Potrebbe essere consigliato per qualsiasi numero di ragioni (alcune che potrebbero non essere così benefiche per te ...). Uno dei vantaggi del colloquio tecnico è iniziare il processo di legame con gli altri membri del team. Non sottovalutare la necessità del team di essere acquistato nel processo di assunzione.


1

Date le restrizioni delle risorse umane, penso che avrei scaricato una copia di cyber-dojo , installarla su un server locale, sedere il tuo candidato di fronte a un browser web che può solo accedere a quel server e chiedere loro di completare diversi kata (di tua scelta) in una lingua di loro scelta (idealmente una lingua diversa per kata).

Quindi guarda la sequenza dei semafori. Se sono un buon sviluppatore di TDD , dovresti ottenere una bella progressione rossa / verde ripetuta.

Se vuoi giocare con il cyber-dojo, l'autore ha una bella versione online qui .


hmmm ... bel strumento. Stavo considerando Codility codility.com ma questo è gratuito. Grazie!
Daniel Voina,

0

Un'altra domanda: quanta fiducia hai nel tuo reparto risorse umane.

Potrei bere troppo KoolAid psichedelico qui, ma sono stato spesso piacevolmente sorpreso di scoprire che il mio dipartimento delle risorse umane aveva in mente un buon piano durante l'implementazione di una determinata misura di protezione per l'assunzione. Ad esempio, sembra che sia vero che il tuo ragazzo anziano sarà necessario per Oracle e non per C #, quindi un test C # sembra irrilevante. Ma se il tuo dipartimento delle risorse umane è molto sensibile alla difficoltà che può essere con il licenziare qualcuno quando non riesce a colpire il segno attraverso diversi progetti diversi, allora il tuo bisogno a breve termine di qualcuno potrebbe essere superato dalla necessità a lungo termine di assicurarti che ogni lo sviluppatore potrebbe incontrare alcune competenze minime in un linguaggio di programmazione ampiamente utilizzato.

Tutto ha a che fare con la tua attuale metodologia di assunzione, le leggi che governano la tua azienda e le esigenze di competenze tecniche su tutta la linea. In alcune aziende la configurazione di cose come un periodo di prova rende facile andare a correre con qualcuno e poi lasciarlo andare se non funziona nei primi 3 mesi. In altre società, nel momento in cui qualcuno entra nella porta come dipendente permanente, sono soggetti a enormi protezioni per il trattamento equo, il che significa che è necessario trattenerle e riqualificarle a lungo prima di poter sbarazzarsi di qualcuno che non misura su.

Verificherei la tua azienda e vedrei se c'è un motivo per fare un po 'di diligenza, anche se questo ragazzo non ha bisogno di dimostrare queste abilità a breve termine. Le ramificazioni a lungo termine - specialmente al tasso di stipendio di un ingegnere senior - possono essere enormi.


Francamente? Non tanto. Sembrano disaccoppiati dalla tecnologia e, forse involontariamente, non seguono le tendenze del mercato IT locale.
Daniel Voina,

@Daniel Voina - Hai mai provato a licenziare qualcuno prima?
bethlakshmi,

Ci sono persino riuscito.
Daniel Voina,

@Daniel Voina - fantastico ... ma ho visto situazioni in cui ci sono voluti dai 6 mesi agli 1,5 anni per licenziare qualcuno. Dato il dolore e la sofferenza coinvolti non solo per la persona e le persone che le gestiscono direttamente, ma per l'intera squadra, direi che c'è un punto valido per far saltare la persona attraverso alcuni cerchi apparentemente non necessari, specialmente se fa parte di un CYA meccanismo.
bethlakshmi,

0

Hai ripetuto più volte che le scadenze sono imminenti - Immagino che tu sappia della legge di Brook.

Detto questo, qui dovresti vedere che tipo di ritardo potrebbe causare l'effettivo processo di intervista. Se è un candidato molto competente che pensi possa saltare e risolvere i problemi di scadenza in fuga, allora non dovrebbe avere problemi a passare un paio d'ore a intervistare / programmare la coppia. Un altro fattore da considerare sarebbe i tuoi colleghi attuali. Non vuoi dare la sensazione alla tua squadra più grande che le persone entrino / escano secondo i tuoi capricci - perché di solito riflette male se il ragazzo si disconnette. Questo è uno dei motivi principali per cui le risorse umane insistono su più interviste in modo che una persona non riesca a dominare il successo.

Buona fortuna con l'assunzione e il progetto!


Le scadenze stanno arrivando tra circa 5 mesi. Non mi aspetto da lui superpoteri, basta essere in grado di gestire nuove funzionalità, comprendere la base di codice attuale, conoscere alcune delle tecnologie ed essere in grado di correggere i bug se necessario. Le scadenze sono il mio problema e voglio assumerle per mantenerle il più possibile senza consumare troppo la squadra. I ragazzi del mio team lo conoscono meglio di me, hanno lavorato insieme in un'altra azienda.
Daniel Voina,

Quindi questo significa che stai assumendo che sarà in grado di colpire il terreno correndo. Perché non fai una sessione di programmazione in coppia di 1 ora e prendi una decisione?
Subu Sankara Subramanian,

Avevo pensato di dargli un problema e ottenere una soluzione in un paio di giorni (soluzione = codice + test). Anche la programmazione delle coppie sarebbe eccellente. Il problema è che se non assumo potrei perdere la finestra delle opportunità - il ragazzo viene cacciato a testa bassa anche da altri. Ciò che mi preoccupa è che non posso tenerlo in città (attualmente vive altrove) più a lungo, fino a quando HR non decide che il test di assunzione è ok. Penso che dopo tutto seguirò il mio istinto.
Daniel Voina,

A meno che tu non stia cercando di assumere una persona di livello di Richard stallman, sono sicuro che ci sono altri programmatori equivalenti :). Ma di nuovo, dobbiamo seguire il nostro istinto di tanto in tanto - Quindi, come ho detto prima, buona fortuna :). Aggiorna questo post su come si è rivelato in seguito!
Subu Sankara Subramanian,

0

Di solito come parte del contratto hai sei mesi come periodo di prova all'inizio del rapporto di lavoro. Se il candidato è completamente incompetente, questo sarà abbastanza ovvio durante questi primi mesi e almeno avrai la possibilità di terminare dopo il periodo di prova. Vorrei anche sottolineare che nessuno può sapere tutto e che spesso le persone hanno bisogno di tempo per crescere nel ruolo e che in effetti potrebbe aumentare la scala della carriera, quindi un po 'di tempo per sistemarsi prima di dare un giudizio è sempre saggio (da entrambi partiti!)


0

Ad essere sincero (e ripetere la mia risposta per un'altra domanda), io stesso sarei diffidato di essere assunto da un negozio che non mi ha concesso un colloquio tecnico. Dubiterei del loro impegno per l'eccellenza tecnica e non mi piacerebbe il fatto che non avrei avuto l'opportunità di "parlare in negozio" con il team prima di prendere la mia decisione.

Rendi l'intervista tecnica anche un'opportunità per i membri del team di conoscere il ragazzo e per lui di conoscerli. Poiché il ragazzo è senior, è molto importante che tu possa comunicare chiaramente con lui su questioni tecniche. Come hai intenzione di testarlo senza un colloquio tecnico approfondito?

In breve: se è abbastanza importante da rinunciare al colloquio tecnico standard per lui, è abbastanza importante da svolgere un colloquio tecnico speciale con lui.

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.