Interviste: in che misura andare a vivere un'esperienza DVCS? [chiuso]

7

Ho intervistato alcuni potenziali stagisti per un progetto a cui sto lavorando. Usiamo git, quindi cerco qualcuno che abbia familiarità con DVCS (o SVN / CVS o voglia di imparare). Una risposta che mi ha respinto è stata "Ho lavorato con github" senza ulteriori informazioni, quindi mi ha costretto a considerare cosa aspettarsi da un programmatore che lavora con il controllo della versione.

In realtà ho guidato una conversione VCS, quindi sono diventato più intimamente coinvolto nell'amministrazione Git / DVCS di quanto pensassi che sarebbe mai stato, quindi non penso sia giusto tenere uno studente per quello standard.

La mia domanda è: cosa dovrebbe fare un programmatore junior quando lavora con un DVCS? Dovrebbe essere semplice aggiungere, commettere, unire, telecomandi o ti aspetteresti qualcosa di più? Se ti sono state poste delle buone domande nelle interviste, apprezzerei che fossero condivise.

Non voglio davvero assumere lo sviluppatore che spinge una fusione all'indietro!

Modifica: avrei dovuto dirlo prima che questo modello di distribuzione si basasse molto su Git e sul nostro repository self-hosted (sono uno sviluppatore web), ed è per questo che ritengo sia importante sapere (proprio almeno) le conseguenze di azioni gravi come le pressioni a distanza; queste azioni attivano alcuni processi diversi nel nostro ambiente. Colpa mia! Le risposte sono state comunque molto utili.

    
posta Nic 14.09.2011 - 00:05
fonte

6 risposte

11

Se stai cercando uno sviluppatore junior, "Ho lavorato con github" è probabilmente molto.

Dopo essermi laureato non molto tempo fa, penso che la maggior parte degli studenti non si siano imbattuti in situazioni in cui gli usi "avanzati" di Git o SVN si sarebbero mai applicati. Ho trascorso gran parte della mia formazione universitaria come unico responsabile di un repository SVN, è solo la natura dei progetti su cui lavori.

Mi concentrerei sulle loro capacità di programmazione e di pensiero critico. Se un candidato ha quelli, può prendere Git in un paio di giorni con qualcuno per far rimbalzare le domande. Puoi cercare qualcuno che conosca Git, ma dovrebbe essere in fondo alla lista di cose importanti che dovrebbero sapere.

    
risposta data 14.09.2011 - 00:13
fonte
12

No, non ci si dovrebbe aspettare che lo sappiano . Alcune aziende (stupidamente, secondo me) non usano il controllo della versione. Non saranno necessariamente stati esposti ad esso.

Se stai assumendo uno sviluppatore logico e intelligente, allora dovrebbero essere in grado di cogliere il concetto con uno sforzo minimo . Se scegli di assumerli e sei preoccupato che si rompano qualcosa, assicurati di indirizzarli a un tutorial decente e di interrogarli un po 'dopo.

    
risposta data 14.09.2011 - 00:12
fonte
4

Bene, mi rendo conto che il controllo della versione è probabilmente relativamente importante per te, ma non lo considererei un grosso problema. Se un programmatore che non ha mai sentito parlare del controllo della versione nella sua vita (che di per sé sarebbe problematico, ammetto, dal momento che devono aver vissuto sotto un rock molto remoto per qualche tempo) non può raccogliere ciò che deve sapere in un poco tempo hai problemi più seri. Non sarà responsabile delle politiche di controllo della fonte in tutta la società, ha solo bisogno di ciò che hai descritto come la roba semplice, e non vedo perché un buon programmatore non possa apprenderlo in mezza giornata.

    
risposta data 14.09.2011 - 00:13
fonte
3

Sono d'accordo con i sentimenti che non dovresti attaccare pesantemente a quanto i tuoi potenziali clienti conoscono veramente, ma se volessi sapere di più su ciò che sanno, potresti semplicemente provare a farli parlare di alcuni di questi argomenti:

  • "Hai mai unito delle patch a qualcuno nel tuo repository?"
  • "Quali sono i diversi modi in cui hai utilizzato i tag nel tuo ciclo di sviluppo?"
  • "Quando importeresti le modifiche nel tuo repository locale? Quando le invierai a origin ?"
  • "Hai mai corretto un errore riscrivendo la cronologia di un repository git? Sei mai stato punto da esso?"

Non ci passerei molto tempo, ma potrebbe comunque darti un'idea di come funziona il candidato quando combina il suo codice con il resto della squadra; che naturalmente è davvero l'idea chiave di DVCS.

    
risposta data 14.09.2011 - 00:25
fonte
1

Concorda con gli altri in quanto è uno strumento non un concetto. Considera che il tuo tempo di colloquio limitato con questi individui - trascorrere diversi minuti di tempo a discutere di DVCS potrebbe non essere l'uso più efficiente del tempo limitato. Tutti i pacchetti di controllo delle versioni sono abbastanza facili da raccogliere al livello che un tirocinante potrebbe usarli (non saranno in grado di amministrare il tuo sistema, semplicemente usandolo).

    
risposta data 14.09.2011 - 01:45
fonte
1

Se qualcuno ha lavorato con un sistema di controllo di versione o meno è relativamente poco interessante, a meno che non hai bisogno di qualcuno adesso per correggere il tuo controllo di versione guasto ieri .

Altrimenti, ciò che ti interessa è se il candidato è capace di cogliere i concetti coinvolti nel controllo della versione - e infatti, poiché i concetti astratti sono simili a quelli usati in molti problemi di programmazione, vuoi comunque una persona del genere. Qualcuno che comprende i puntatori e la ricorsione sarà in grado di comprendere il controllo della versione.

Le basi di qualsiasi sistema di controllo delle versioni possono essere apprese in meno di un'ora; attività più complesse potrebbero richiedere del tempo, ma non abbastanza da preoccupare.

Detto questo, se qualcuno usa il controllo di versione, questo è un indicatore positivo per fare le cose nel modo giusto, ma se non lo fanno, non significa che non siano adatti.

    
risposta data 14.09.2011 - 08:01
fonte

Leggi altre domande sui tag