Intervistare uno sviluppatore senior quando sarà molto più competente nella programmazione rispetto all'intervistatore [duplicato]

1

La prossima settimana intervisterò alcuni appaltatori per una posizione senior Dev di 6 mesi su un progetto. Anch'io sono un programmatore OK, ma niente di speciale, e al momento mi sto sforzando di pensare a quali domande porre, oa quali sfide di codifica avrei impostato, dal momento che probabilmente le risposte mi verrebbero comunque in mente. / p>

Il progetto è un'applicazione ASP.NET MVC per una rete intranet.

Il mio pensiero personale era di far scrivere una banale app MVC che estrae alcuni dati da un DB durante l'intervista, mostrando che possono implementare un'applicazione testabile e liberamente accoppiata, ma non so se questo è troppo banale. Da ciò mi aspetterei che avessero implementato un paio di test, configurato l'iniezione delle dipendenze e probabilmente usasse un repository invece dei fat controller.

Qualche idea, o è quello che sto suggerendo una cattiva idea? La parte di codifica dell'intervista dovrebbe durare circa 40 minuti. Mi sono impegnato a fare ciò che avevo programmato e mi ci è voluto poco più di mezz'ora. I candidati avrebbero visto i requisiti per l'applicazione un paio di giorni prima dell'intervista.

Pensandoci un po 'di più, forse dovrei iniziare con un'app strettamente accoppiata, e chiedere ai candidati di rifattorizzarla invece e implementare alcuni test?

Modifica: per quanto riguarda i commenti di Rob in basso, mi piacerebbe che le risposte si focalizzassero maggiormente su ciò che avevo pianificato (ma tutte le risposte sono state ricevute con gratitudine)

    
posta MrBliz 04.08.2011 - 20:20
fonte

3 risposte

1

Inizia con le domande tecniche che ritieni importanti per il progetto in base alla tua attuale conoscenza di ciò che il progetto comporta. Inizia con cose che capisci e rimarrai stupito di quante persone che sono state poste per essere anziane non capiscono le basi.

Considera di dare loro un po 'di settaggio del codice per avere bisogno di refactoring e di avere un bug e chiedere loro di trovare il bug e di spiegare il problema e vedere se anche loro hanno un refactoring senza essere chiesti. Se fanno il refactoring, chiedi loro di spiegare perché è stato necessario il refactoring. Se non rifattano naturalmente il codice, chiedi loro se vedono un modo migliore per eseguire l'operazione.

Offri loro un concetto complesso che non comprendi pienamente e chiedigli di spiegartelo. Vedi chi lo spiega meglio e se pensi di capirlo meglio dopo che hanno risposto. Per chi ti ha fatto sentire di aver compreso meglio il concetto, dopo guardalo e vedi se quello che ti hanno detto era sostanzialmente corretto.

Chiedi loro delle loro realizzazioni. Vuoi che le persone che hanno consegnato non solo parlano. La frase chiave a cui fare attenzione è "Io ero responsabile per" - non sai di che cosa erano responsabili, e vuoi sapere quali cose hanno effettivamente fatto. Le persone che non hanno realizzato nulla sono molto più simpatiche per parlare di rispetto delle realizzazioni.

Chiedi loro cosa sanno ora che non lo sapevano due anni fa. Vuoi persone che stanno imparando di più, non quelle che hanno un anno di esperienza ripetuto dieci volte.

Come loro per descrivere con parole loro quello che hanno fatto in ogni lavoro sul loro curriculum. Nel corso della loro carriera, cercano di avere un ruolo più ampio nel tempo (stanno progettando o lavorando con i BA sui requisiti o svolgendo compiti più difficili rispetto ai precedenti lavori, ecc.). Cerca loro di parlare di giovani mentoring o di assumere un ruolo di leadership di qualche tipo. Gli anziani sono più degli sviluppatori. In un ruolo da senior dovrebbero pensare all'impatto con l'applicazione e inviare cattivi requisiti, dovrebbero pensare al design generale e non solo al piccolo pezzo che stanno lavorando, dovrebbero pensare di formare la prossima generazione di sviluppatori, dovrebbero pensare al processo di sviluppo del software e, visto che vorrebbero vederlo migliorato, dovrebbero pensare di rispettare scadenze e budget e avvolgere i LOE per nuovi progetti.

    
risposta data 04.08.2011 - 21:01
fonte
8

Ecco uno dei miei preferiti per un candidato a qualsiasi livello:

What is something you learned recently or that you suspect I might not know? Teach me.

Questo è particolarmente utile quando intervisti un candidato per una posizione di alto livello perché hai la possibilità di vedere come fungerà da mentore per il personale junior .

    
risposta data 04.08.2011 - 20:24
fonte
2

Il mio suggerimento sarebbe quello di spiegare la situazione. direi quindi loro di parlarvi di errori comuni fatti da colleghi più giovani. Chiedi loro di parlarti delle migliori pratiche che la tua squadra deve incorporare. Potrei prendere in considerazione la possibilità di sedermi accanto a loro mentre sta scrivendo il codice e fare domande e vedere come rispondono.

    
risposta data 04.08.2011 - 20:25
fonte

Leggi altre domande sui tag