Ottenere un candidato per fare una revisione della richiesta di pull in un intervista [chiusa]

2

Mi stavo chiedendo se qualcuno ha fatto questo e su quale successo rispetto al metodo classico per convincerli a risolvere un problema mentre lo guardi?

Qualche suggerimento su come eseguire questo in una situazione di intervista?

Stavo pensando di farlo per i candidati di livello medio / alto che dovrebbero avere le conoscenze tecniche per fare una richiesta di pull. Stavo pensando che potrebbe essere un buon test del personaggio, se danno una risposta completa e gentile, come indicato in "NO!". Potresti davvero vedere come andranno in una squadra.

Modifica:

Il modo in cui stavo pensando di fare questo, era quello di inviare un candidato un piccolo pezzo di codice prima del test. Potrebbero leggerlo, assicurarsi che capiscano cosa fa e qualsiasi tecnologia che usa (odio le interviste che confondono la capacità delle persone di programmare con quanto bene conoscono un'API).

Poi, quando il candidato arriva all'intervista, dai loro la richiesta di pull, usando Jira per fare una richiesta di estrazione di git. Dal momento che l'interfaccia web mostra solo ciò che è cambiato e la possibilità di visualizzare il raw prima e dopo non credo che sarebbe una grande barriera per entrare.

La mia teoria di base era cercare di rimuovere il test del gioco di memoria / pentola a pressione molte interviste e provare a far vedere a qualcuno come funzionerebbero ogni giorno con te.

Per riassumere, voglio sapere se qualcuno sta facendo / fatto qualcosa di simile e quali risultati vedono. Inoltre, qualsiasi punto di dolore è diventato evidente quando hai iniziato questo processo.

A parte:

Grazie a tutti coloro che hanno risposto finora, sono utili e molto validi, ma il mio intento originale con questa idea era di interrompere le interviste in cerca di programmatori di cookie cutter e di far splendere il talento grezzo. Volevo testare questa teoria qui con altri programmatori che potrebbero passare attraverso un simile processo.

    
posta Martin O'Shea 08.12.2015 - 23:45
fonte

3 risposte

10

Quando avevo 6 anni e mio fratello aveva 11 anni, mi ha fatto mangiare una palla di piume. Non è stato facile. L'ho soffocato con un sacco di bavaglio secco e un po 'di vomito bagnato. Parzialmente l'ho fatto perché avevo paura di mio fratello. Ma principalmente l'ho fatto perché ha dimostrato di essere più duro di lui. Era un ragazzo vizioso, brillante, bello. Ero un gerbillo magro, debole e brutto. Indipendentemente da ciò, era I che poteva fare l'impossibile. Ho sofferto attraverso i suoi tormenti senza le lacrime che bramava perché sapevo che mi rendeva più strong di lui. Ho esposto la sua debolezza intrinseca.

Il mio punto, in relazione alla tua domanda, è che ho un insieme di valori che sono importanti per me. Sembra che apprezzi le richieste di pull come apprezzo l'individualismo ostinato, ed è grandioso. Il fatto è che da allora ho imparato che mi mancano le trame e le intuizioni di molte persone interessanti se insisto che condividono tutti i miei valori. Se insisti su una richiesta live pull durante un'intervista, probabilmente voterai molte persone capaci (e interessanti) al largo dell'isola sulla base di quell'unica attività.

Lo so, lo so, una richiesta di pull dovrebbe essere un minimo indispensabile per un professionista al livello che stai descrivendo. Destra? Concordo sulle opportunità a breve termine, ma con il lungo termine ... butto fuori quelle restrizioni. Non voglio perdere quella gemma nascosta. Che dire del geniale fisico che non è diventato titolare e sta guardando a nuove opportunità? È un programmatore straordinario, ha un modo completamente originale di guardare il mondo e elevare la tua squadra. Ma ... non può presentare una richiesta per salvarle la vita. E il vecchio sviluppatore IBM iSeries? Ha una conoscenza sfumata e sottile del software dopo decenni di attività. Ha sperimentato un sacco di tecnologia al di fuori del lavoro - Haskell, npm, Docker, Haxe - lo adora! È un grande giocatore di poker perché sa leggere le persone. Questo è indispensabile per intuire ciò che è veramente necessario nel suo software. Ma ... non ha mai presentato una richiesta di pull. A peggiorare le cose, diventa un po 'nervoso e sudato nelle interviste. Non voglio perdere l'opportunità di lavorare con queste persone!

Inoltre, fai attenzione a "entrare in squadra", "andare d'accordo a livello personale" e "interagire bene con i membri del team". Non concentrarti troppo presto su questo (ma non licenzia il buon senso). Sì, vuoi evitare i pazzi, ma "andare d'accordo" è spesso uno di quei requisiti "culturali", e quelli sono spesso il codice per le persone-che-sono-semplicemente-come-me. Invece, concentrati sulle persone che sono malvagie intelligenti e hanno una visione unica dei problemi, magari anche se non sono i tuoi problemi. Questo è quello che un'intervista è per me; è una piattaforma flessibile per promuovere l'intelligenza. Voglio che sia abbastanza sciolto in modo che il tuo particolare splendore risplenda nei suoi stessi termini. Il nostro miglior noleggio negli ultimi 10 anni è venuto da noi come stagista dalla struttura correttiva di una donna. Suppongo che sia una storia per un'altra volta.

    
risposta data 09.12.2015 - 05:13
fonte
4

Direi di no a questo. Revisionare qualsiasi cosa tranne una semplice richiesta pull (correzioni ortografiche) richiede una comprensione della base del codice. Se non conosci il codice base, potresti non essere consapevole del fatto che un certo (ovviamente buono) cambiamento potrebbe avere alcuni effetti importanti da qualche altra parte. Persino i veterani di una base di codice possono perdere le ripercussioni del cambiamento "semplice".

Quello che vuoi misurare è come andranno d'accordo con la squadra. Ciò richiede loro di andare d'accordo a livello personale, oltre a essere abbastanza flessibili da adattarsi al flusso della squadra. Per capirlo, parlare con loro funziona piuttosto bene.

    
risposta data 09.12.2015 - 00:34
fonte
3

Non l'ho fatto, ma penso che sarebbe una buona idea, fornito sei disposto a mettere in campo domande da parte del candidato sulla base di codice e su cosa intende realizzare il cambiamento. Non ci si può aspettare che capiscano immediatamente un sistema estraneo, ma dovrebbero dimostrare come farebbero a comprenderlo .

Mi aspetto che uno sviluppatore esperto sia in grado di fornire una critica tecnica di alto livello, ad esempio:

  • Le strutture dati e gli algoritmi sono appropriati per il problema?

  • Quali sono alcune possibili fonti di errori?

  • In che modo questo codice può essere reso più chiaro?

Cioè, non stai cercando "questo spazio bianco è sbagliato", stai cercando "un RB-tree sarebbe meglio di un hash table qui, perché X" o "questo commento potrebbe essere migliorato, menzionando Y ". Stai anche cercando la capacità del candidato di parlare in modo intelligente del codice e interagire bene con i membri del team.

    
risposta data 09.12.2015 - 01:20
fonte

Leggi altre domande sui tag