giovedì 7 luglio 2011

Perche un nuovo programmatore non dovrebbe toccare il codice

di Jon Evans

Tutti abbiamo vissuto l'incubo. Un nuovo sviluppatore si presenta al lavoro, e si tenta di essere accogliente, ma 1non riesco ad arrivare fino a velocità, le domande che chiede rivelano ignoranza di base, e il suo lavoro, quando emerge, infine, è così che kludgey in ultima analisi, deve essere riscritto da zero da più persone competenti.Eppure la sua interviewers-and/or il dipartimento delle risorse umane, se la vostra azienda è stata infestata da parassiti che burocratico-giuro che assumono solo persone above-average/A-level/top-1%.

E 'un grosso problema, soprattutto adesso. C'è un boom su. Ricevo email da reclutatori molesto ogni giorno. Tutti disperati per assumere gli sviluppatori ... ma gli sviluppatori non sono fungibili.Un grande coder può facilmente essere 50 volte più produttivo di un mediocre, mentre i cattivi alla fine sono negativi produttività. Assumere uno è un terribile errore per qualsiasi organizzazione, per una startup, può essere una catastrofica azienda-killer. Così come può accadere così spesso?

. Come molti dei postumi di una sbornia che infestano moderna ingegneria del software, questo è in ultima analisi, per lo più colpa di Microsoft due tempi in cui erano l'impero del male in cui tutti segretamente voluto lavorare, erano famosi per la loro "rompicapo" domande intervista - Perché i tombini tondo? - E, naturalmente, hanno chiesto nuovi laureati di teoria informatica, "Scrivimi una ricerca binaria ".

Tutti volevano essere come Microsoft, anche Google, fino a quando tutti volevano essere come Google (fino a poco tempo), e in modo che meme intervista persisteva. Dai un'occhiata a queste due post recenti in tema di interviste, courtsey di News Hacker: uno da un aspirante dipendente , uno da un intervistatore di Google . Un paio di citazioni illuminanti da questi ultimi: "Io non sono neanche necessariamente dicendo che questo è un parametro buono" e "Se è una consolazione, almeno non fare domande enigma gotcha più. Quelli erano particolarmente offensiva ".

E 'bello vedere che Google hanno quasi sorta di resi conto che il loro algoritmo di reclutamento è problematico. Peccato che non l'hanno risolto. Vedi anche Jean Hsu " Quanto sono colloqui tecnici? "Il problema fondamentale è che le competenze necessarie per passare intervista software di oggi standard di settore non sono le competenze necessarie per essere un buon sviluppatore di software. Oh, c'è qualche correlazione, ma è come gli Oakland Raidersredazione sempre i corridori più veloci disponibili , solo per scoprire con loro sgomento senza fine che la NFL non è una corsa a piedi.

In realtà è peggio. Almeno riceventi larghe devono correre, mentre vi posso garantire, senza tema di smentita, che nessun software engineer avrà mai a dare una ricerca binaria dopo che sono stati assunti. E 'come la scelta di un imprenditore, perché sanno come fucina e acciaio fuso con carbone, ferro da stiro, un forno e un mantice, quando in realtà bisogno di sapere a) l'indirizzo del più vicino Home Depot b) cosa fare con l'acciaio, una volta che comprarlo.

Joel Spolsky, una volta correttamente spiegato che si sta generalmente alla ricerca di due cose in un dipendente: Smart e Gets Things Done . (. Academia è pieno di persone che sono il primo ma non il secondo) Prima, però, è necessario stabilire qualcosa di diverso: non completamente inetti . Sareste sorpresi di quante persone totalmente incompetenti presentarsi per un colloquio tecnico. Binario di ricerca di Google è probabilmente inteso come loro "FizzBuzz "- una barra di bassa dovete ostacolo solo per entrare in porta. Ma un FizzBuzz dovrebbero adottare tutte di cinque minuti, prima che l'intervista vera e propria ha inizio.

Sì, quali dovrebbero un'intervista vera e propria consiste? Lasciatemi offrire una proposta umile:non intervistare chi non ha compiuto nulla. . Mai Certificati e diplomi non sono risultati, voglio dire progetti reali del mondo reale degli utenti. Non vi è alcuna scusa per gli sviluppatori di software che non hanno un sito, un'applicazione o servizio che può puntare ad e dire: "ho fatto questo, tutto da sola!" in un mondo in cui Google App Engine e Amazon Web Services sono servizi gratuiti livelli, e costa tutto di $ 25 per registrarsi come sviluppatore Android e pubblicare un'applicazione su Android Market.

Il vecchio sistema era basato su informazioni limitate, tutto quello che sapeva di qualcuno era il loro curriculum. Ma se si intervista solo le persone con le realizzazioni, allora avete una base molto più ampia su cui lavorare. Prendi il FizzBuzz di mezzo, e poi lo spettacolo intervistato e raccontare il proprio codice, e spiegare le loro decisioni di progettazione e cosa avrebbero fatto in modo diverso ora. Li hanno implementare una funzionalità o due, mentre si guarda, in modo da poter vedere come realmente funzionano, e come pensano durante il lavoro. Questo è ciò che si desidera da un colloquio tecnico, non una misura di afferrarne il soggetto di qualche algoritmo antiquate o struttura dati. Il mondo è andato avanti.

1 Sì, sono deliberatamente sessista qui, perché nella mia esperienza le donne che scrivono codice sono sempre bravi a farlo.

2 Non mi dispiace che Bill Gates è un megazillionaire, ha fatto un sacco di roba davvero interessante e innovativo. Faccio presente che un sacco di persone indegne guidato sue falde minizillionaire allo stato, ad esempio, l'inventore della notazione ungherese , probabilmente la più stupida ampiamente promulgata idea nella storia del campo.


Corso Visual Studio - Corsi Visual Studio
Corso .Net- Corso Dot.Net - Corso Vb.net
Corso C# - Corso PHP - Corso Joomla

Nessun commento:

Posta un commento