Assunzione di uno sviluppatore minore, cosa dovrei chiedere? [chiuso]

54

Al momento stiamo assumendo uno sviluppatore junior per aiutarmi, poiché ho più progetti di quanti ne possa attualmente gestire. Non ho mai assunto nessuno che non fosse un amico o almeno un conoscente. Ho un colloquio telefonico con l'unico candidato che mi ha davvero colpito (sulla carta), ma non l'ho mai fatto prima.

I nostri progetti sono tutte applicazioni di elevata scalabilità e ad alta intensità di dati che elaborano milioni di transazioni all'ora su più server e client. Per essere specifici per linguaggio / stack, utilizziamo ASP.Net MVC2, WebForms e C # 4, MSSQL 2008 R2, tutti in esecuzione su Windows Server 2008 R2

Cosa dovrei chiedergli? Come dovrei strutturare la telefonata?

    
posta Jeremy Boyd 17.03.2011 - 21:39
fonte

9 risposte

50

Chiedi su quali blog tecnologici leggono, chiedi che cosa il candidato ritenga interessante nella tecnologia attuale e perché.

Essenzialmente, per un'intervista telefonica vuoi capire se si tratta di qualcuno che è entusiasta della tecnologia e della programmazione ed è interessato all'apprendimento e alla conoscenza di più.

Dato che si tratta di un junior, non puoi aspettarti che conoscano molti argomenti avanzati, ma vuoi essere certo che possano pensare come un programmatore - dare loro un problema semplice e farti guidare da come lo risolveranno . Vi darà un'idea di come pensano e risolvono i problemi.

    
risposta data 17.03.2011 - 21:52
fonte
26

Prendo un approccio aperto alle interviste telefoniche, ma per metterne una struttura di solito chiedo alla persona di parlare attraverso il curriculum che hanno presentato. Spesso, il modo in cui passa attraverso il loro curriculum richiama altre domande e avrai una migliore comprensione di come sono.

L'altra cosa a cui pensare durante l'intervista telefonica è chiedere: potrei lavorare con questa persona? Sono energici? Fastidioso? Precise?

    
risposta data 17.03.2011 - 21:56
fonte
19

Codice con loro.

Dovresti assolutamente fare le solite cose da intervistare. Ma non assumo nessuno senza fare una sessione di programmazione con loro.

Il mio approccio: prenderò 2-3 ore e un problema con il giocattolo (ad es. "Costruiamo Twitter v 0.1" per uno sviluppo full-stack, o "Applichiamo l'elenco da primitive" per una persona back-end) . Ci sediamo allo stesso computer e discuteremo su come affrontarlo. Scriverò il primo test unitario e dirò "make that pass". Forse scriverò i prossimi due test per aiutarli ad andare avanti. E poi generalmente li lascio correre, saltandoci dentro solo di tanto in tanto. Man mano che il tempo si avvicina, li interromperò e chiederò dove lo faranno, e cosa vorranno fare prima di spingerlo dal vivo.

Cose che cerco:

  • Possono collaborare bene?
  • Comprendono le nozioni di base?
  • Possono suddividere un problema in parti?
  • Apprezzano il codice pulito?
  • Prendono i loro bug?
  • Provano a cazzate quando non sanno qualcosa?
  • Gli piace la programmazione?
risposta data 24.03.2011 - 22:04
fonte
7

What's your Stack Overflow account name?

Uno dei modi migliori per sapere come sarà il codice di qualcuno è vederlo in prima persona. Uno dei modi migliori per farlo è tramite SO.

Altrimenti, si applicano domande standard. Chiedi informazioni sulle situazioni difficili e su come li hanno superati. Chiedi su quali nuove lingue stanno imparando o pensando di apprendere e perché. Chiedi loro quale IDE usano e perché l'hanno scelto? Quale controllo della fonte?

Puoi imparare molte cose ponendo domande aperte che potrebbero non riguardare un progetto specifico, ma consentiranno invece a loro di elaborare con te il loro processo di pensiero.

    
risposta data 17.03.2011 - 21:51
fonte
6

Una cosa che non ho visto qui nella mia lettura veloce è la necessità di chiedere loro:

1 - Disponibilità a imparare

2 - Capacità di auto-insegnare rispetto alla formazione formale

3 - Esempio di qualcosa che hanno imparato da soli in passato

4 - Un esempio di aree con le quali non ci si sente a proprio agio

5 - Domande generali di alto livello come "se hai il compito di creare un'applicazione web su ... quali compiti devono essere svolti e chi dovrebbero farli" - Questo dovrebbe darti un'idea delle loro attuali conoscenze sullo sviluppo processo - Non deve essere accurato, ma almeno conoscerai la loro visione come oggi.

    
risposta data 19.11.2011 - 13:34
fonte
4

Parlami attraverso un progetto su cui hai lavorato in passato

  • Descrivi l'architettura generale del progetto. L'alto livello va bene.
  • Qual è una cosa che ti è piaciuta sul progetto.
  • Qual è una cosa che non è piaciuta sul progetto.
  • Qual è qualcosa che, a ben vedere, avresti fatto diversamente?

Questa è una grande domanda per le interviste secondo me, telefono o altro. Se riescono a parlare in modo intelligente di un progetto su cui hanno lavorato, è probabile che lo "capiscano". Stai assumendo uno sviluppatore di livello junior, quindi non è importante che sia ancora un esperto, ma dovrebbero almeno capire il loro campo abbastanza bene da parlarne. Di solito le persone che vorrai assumere non avranno problemi a correre con questo, mentre le persone a cui vorresti stare lontano risponderanno in un paio di frasi o meno.

Che cosa fai per rimanere aggiornato?

  • Quali blog leggi?
  • Quali libri hai letto / stai leggendo?
  • Qualcos'altro?

In un settore che sta cambiando costantemente, penso che sia importante per loro rimanere aggiornati. Questa non è la domanda più importante che pongo in un'intervista, ma se non riescono a trovare qualcosa da dire, non è un gran bel segno.

Dimmi come scriveresti una lezione di bicicletta

Forse una domanda migliore per un colloquio di persona in modo da poter scrivere effettivamente qualche pseudo codice, ma penso che potrebbe funzionare anche per un'intervista telefonica ... Descrivi una bicicletta (ha manubri, ruote, ecc. Qualcuno lo cavalca.) e invitali a descrivere come modellerebbero le classi. Niente di irrisolto qui, ma se lottano con questa domanda, probabilmente sono ancora troppo giovani per essere una risorsa.

    
risposta data 19.11.2011 - 16:51
fonte
1

Ci sono già molti buoni consigli per le interviste già scritti, ma non penso che tu possa riempire questa posizione finché non sai esattamente cosa faranno ogni giorno. Se il tuo primo pensiero era, "Qualunque cosa ho bisogno che facciano". semplicemente fermati. Trova una porzione specifica di codice da sottoporre a revisione. Scegli il codice migliore e peggiore per loro da guardare e vedere se conoscono la differenza. Date loro le aree su cui lavorare per un primo progetto rapido che potrebbe essere stato trascurato.

Spero che tu abbia assunto il miglior programmatore, ma tutti hanno aree in cui sono migliori / più esperti rispetto ad altri. Approfittane e definisci il loro ruolo di conseguenza.

Oh, e assumere qualcuno con una storia di fare le cose.

    
risposta data 19.11.2011 - 12:17
fonte
0

Quando sei in una discussione uno contro uno con lo sviluppatore, puoi conoscerlo e poi verificare se sono onesti con te.

Per fare ciò, puoi fare a lui la seguente domanda per sapere quanto onesto è veramente

  1. Se hanno fatto certificazioni, come una certificazione Microsoft con loro per sapere se hanno veramente studiato per questo e cancellarlo.

  2. Alcuni sviluppatori junior che hanno fatto i loro progetti per l'ultimo anno, non avrebbero fatto il progetto da soli, i loro amici avrebbero dovuto farlo per loro ecc.

Essere onesti gioca un ruolo molto importante, quando lo sviluppatore junior è incaricato di progetti riservati.

Se ritieni di poterti fidare di loro, allora puoi fornire un questionario su quali tecnologie vengono reclutate seguito da un testo pratico con alcuni casi per verificare se hanno la capacità logica, ovvero verificare se hanno un tocco costante programmazione.

    
risposta data 19.11.2011 - 08:29
fonte
0

L'amministratore delegato di Sandglaz Nada Aldahleh ha recentemente scritto un post sul blog, basato sulla sua esperienza di assunzione di sviluppatori per la sua startup. Ecco alcune delle cose che cerca:

  • mind-set di problem solving
  • forti capacità di comunicazione
  • poni domande su architettura e algoritmo; uno sviluppatore junior dovrebbe essere in grado di progettare nuove piccole funzionalità e le domande sull'algoritmo possono essere utili a proposito della mentalità di problem-solving e del tipo di fondamento che hanno
  • puzzle per isolare le capacità analitiche

E, naturalmente, il test di programmazione, che non dovrebbe consistere però nella domanda di Fizz Buzz. Un compito reale che può essere completato in un paio d'ore nel tuo ufficio sarebbe il miglior tipo di test.

Puoi leggere più dei suoi consigli qui: link

    
risposta data 09.10.2013 - 22:48
fonte

Leggi altre domande sui tag