Come posso dire in un'intervista se un programmatore è appassionato di programmazione? [chiuso]


102

Mentre la maggior parte delle domande del colloquio sono focalizzate sulla conoscenza corrente di un candidato o sulla sua abilità nel risolvere problemi algoritmici, vorrei assumere uno sviluppatore appassionato di programmazione.

E se invece di porre domande del genere

Cosa sai della tecnologia "X"?

Controllerò le conoscenze che non sono direttamente correlate alla risoluzione dei problemi di ingegneria del software, ma mostrerò quanto sei curioso di IT.

Ad esempio, se cerco uno sviluppatore Java, posso chiedere chi sono le persone più influenti nel mondo Java o mostrare uno snippet di Scala di base e chiedere a un candidato di interpretare il codice.

Ho anche pensato di mostrare la foto di Alan Turing e lasciare che l'intervistato indovinasse chi è nella foto. Questa pratica ha un senso?


119
Solo perché qualcuno può nominare programmatori influenti non significa che sono appassionati di programmazione. Mi considero un programmatore abbastanza appassionato, ma non potrei dirti che aspetto ha la faccia di Alan Turing in questo momento. Anche se ora che ho visto la tua domanda, mi assicurerò di dare una rapida occhiata alla pagina di Wikipedia prima di partecipare a eventuali interviste future.
Robert Harvey,

11
Sono d'accordo con @Robert: ho un ricordo terribile quando si tratta di nomi (e volti). Ci sono alcuni libri che ho potuto parlare per un bel po 'di tempo, ma ho potuto dire gli autori per molto pochi di quelli.
Joachim Sauer il

27
Mentre assumere una persona appassionata è davvero il desiderio di tutti, devi stare attento a farlo. Interagire con qualcuno che è appassionato di qualcosa porta normalmente a un livello superiore di coinvolgimento. In una situazione di intervista, ciò può portare a un'impressione più favorevole rispetto a un individuo più abile e capace ma meno appassionato, specialmente se hai poco tempo e salti le parti tecniche. Quindi sii attento. Anche la passione non è tutto, un "idiota appassionato" è ancora un idiota mentre un "genio disinteressato" è ancora un genio, e so quale dei due preferirei avere.
CdMnky,

37
@Robert Harvey: sono d'accordo. Namedropping è solo per gli show-off. Don Knuth mi disse che :-)
Jörg W Mittag il

11
@ yes123, non ho iniziato a programmare fino al college e mi considero un programmatore appassionato. Sono sicuro che ci sono molti programmatori con passione che hanno iniziato più tardi nella vita. Non credo che ci sia alcuna correlazione tra quando hai iniziato a programmare e quanto ti interessi della programmazione.
zzzzBov,

Risposte:


229

Tutto quello che devi fare è chiedergli di parlarti di uno dei progetti a cui ha lavorato che gli è piaciuto di più. Scoprirai di più sul suo entusiasmo nei successivi 60 secondi di quanto tu abbia mai potuto mostrargli fotografie di notabili deceduti.


34
Inoltre, dovresti assicurarti che il "progetto a cui ha lavorato" includa progetti per i quali non è stato assunto
keppla

6
Concordo con Keppla: in particolare chiedo progetti sparetime / Open Source. Non riesco a immaginare che qualcuno sia entusiasta di qualcosa e non abbia l'impulso di farlo nel suo tempo libero.
LennyProgrammers,

106
@ Lenny222: mi considero un programmatore entusiasta, ma semplicemente non ho tempo di programmare nel mio tempo libero. Ho una vita oltre alla programmazione, anche! E quando codice nel mio tempo libero, sono principalmente assunto per questo. Ma leggo anche molti articoli e libri nel mio tempo libero e visito questo sito anche il sabato e la domenica.
Falcon,

8
@Falcon: D'accordo, potresti essere un programmatore appassionato, ma dopo tutto sei anche umano, hai una vita, hai una famiglia, bambini ecc ... nel mio tempo libero ho letto le novità della programmazione (RSS, tweater, facebook ecc ...) mentre gioco con mio figlio o mentre ascolto mia moglie :), quindi un proff che mi appassiona: mia moglie deve fare "qualcosa" su un PC, quindi le ho scritto un programma per aiutarla ( a volte semplici bookmarlet JS, a volte bash ...);)
Radu Maris,

9
@keepla, le persone che sono appassionate del proprio lavoro spesso non devono programmare di notte. Sono entusiasta e appassionato di quello che faccio, ma ho altre cose da fare di notte. È fondamentale che le persone abbiano anche altre passioni o che si esauriscano in pochi anni.
HLGEM,

71

Ad esempio, se cerco uno sviluppatore Java, posso chiedere chi sono le persone più influenti nel mondo Java o mostrare uno snippet di Scala di base e chiedere a un candidato di interpretare il codice. Ho anche pensato di mostrare la foto di Alan Turing e lasciare che l'intervistato indovinasse chi è nella foto.

Questa è curiosità e conoscenza tecnica. Se vuoi scoprire se sono appassionati di programmazione, allora devi impegnare la loro passione in qualche modo, ci sono un paio di modi semplici per farlo:

  • Scopri se leggono blog / riviste di programmazione
  • Vedi se programmano senza lavoro come hobby
  • Verifica se sono coinvolti in gruppi di utenti o organizzazioni
  • Chiedi loro cosa li ha spinti alla programmazione e se questa è ancora una motivazione per loro
  • Scopri se hanno un account StackExchange

Se nessuno se quelli accendono una scintilla nei loro occhi, allora probabilmente non hai un programmatore appassionato. Potresti colpire alcuni che sono troppo occupati con altre cose - ma scommetto che vedrai una storia o almeno un vero rimpianto per non aver centrato alcuni di quei punti.


11
+1 engage their passionSoprattutto chiedendo loro cosa li ha interessati alla programmazione. Credo che qualsiasi programmatore appassionato proseguirà a lungo su questo argomento.
George Marian,

3
+1. In genere li riassumo in una domanda del tipo "che tipo di cose fai al di fuori del lavoro per stare al passo con le tecnologie?" sperando di ascoltare qualcosa sui progetti open source, i podcast, la partecipazione a SIG / gruppi di utenti, ecc.
raduno

Di recente ho intervistato un ragazzo, che ha lasciato un'azienda perché gli stava dando un lavoro ripetitivo e voleva lavorare su qualcosa di interessante e dinamico. Ma chiedendo "che tipo di cose fai al di fuori del lavoro per stare al passo con le tecnologie?" e "su uno dei progetti a cui ha lavorato che gli è piaciuto di più" non ha avuto nulla di eccezionale da aggiungere. Ma ho provato alcune passioni. Immagino sia meglio giudicare "se si arrenderà o continuerà a cercare una soluzione".
Rubish Gupta,

@ George Marian Faccio tutte le altre cose elencate ma se mi chiedessi perché mi sono interessato alla programmazione la mia risposta sarebbe piuttosto breve. Trascorro anche molto del mio tempo a programmare a casa (niente bambini) per divertimento! La mia risposta sarebbe comunque "Sono sempre stato interessato ai computer e mio padre era un programmatore, quindi sono nato naturalmente attratto da quel cerchio". Si prega di non scontare qualcuno in base alla risposta a questa domanda.
m4tt1mus,

@mattimus Un punto giusto. Nota che non è una scienza esatta. Dopo una risposta come la tua, vorrei chiedere: perché i computer ti interessano? Cos'è che ti interessa? Inoltre, sarei prestando attenzione a come le domande trovano risposta, non solo ciò che le parole sono usate per rispondere. Questo è uno dei motivi per cui ho sottolineato la fraseengage their passion.
George Marian,

29

( avviso, post lungo, solo parzialmente sull'argomento )

Beh, chiedo la stessa cosa da anni. Circa 6 anni fa stavo cercando di convincere i recruiter a capire di cosa stessimo parlando (hanno appena barrato le caselle come dici tu).

Al momento ho scritto:

Ti piace come noi? (Lettera aperta a reclutatori e candidati).

La nostra cultura è molto importante per noi, non sto parlando di razza qui, è basata sul background, su come vedi il tuo lavoro, su cosa intendi uscire dal tuo lavoro, su come approcci il tuo lavoro e gestisci gli altri.

Sono stato scambiato prima per significato di razza, quindi chiarirò ora, questa non è una cosa basata sulla razza, è una mentalità e cosa guida. Abbiamo lavorato con persone di molte razze che sono state fantastiche. Conosciamo anche molti che sono chiaramente e semplicemente inutili. Quindi la razza non definisce affatto ciò che stiamo cercando, è un adattamento "culturale".

Ci sono molte sub culture in Australia, la maggior parte delle quali non faresti coppia, sto cercando di spiegare la nostra - The Geek.

  • Molte persone hanno bisogno di istruzioni esplicite: "A> B> C> D" gli altri che danno loro A e un po 'di background e lavoreranno B> C> D ed E da soli. Stiamo cercando il secondo gruppo.
  • Le persone saranno semplicemente d'accordo con te perché sei "senior" per loro. Altri esprimeranno le loro opinioni e contribuiranno con le loro idee. Vogliamo il secondo. Sotto questo è se la decisione va contro di loro, si buttano comunque dentro.
  • Alcune persone hanno imparato a memoria: fai A poi B poi C che ti dà X. Altri hanno imparato a imparare e pensare. Guarda oltre l'immediato e risolvi il problema di fondo.

Molti dei nostri lavori negli ultimi 14 anni sono venuti dai nostri clienti hanno bisogno di ripulire e finire i progetti falliti, principalmente perché la società ha assunto il tipo sbagliato di personale ... costa molto di più che semplicemente il loro salario se lo ottieni sbagliato.

Ora proviamo a scegliere questo tipo di persone che intendiamo quando diciamo "come noi":

  • Buoni inventori, grandi idee, terribile e finire un progetto. Questo mi sta descrivendo. È necessario assumere persone per soddisfare questo problema.
  • Ottimizzatori fantastici e "fai", se vuoi che funzioni davvero bene, procurali. Il rovescio della medaglia è focalizzato sul restringimento e impiega molto tempo per arrivarci. Generalmente un buon tratto tecnico ma di solito non riesce a dialogare con il mondo esterno.
  • Molto bravo e conosce il "modo corretto" e il lavoro "end to end". Possono vedere un progetto dall'inizio alla fine e non perdere cose. "Perché dovrebbe essere fatto in questo modo". Questo è un atteggiamento che abbiamo qui; i clienti lo sanno e lo pagano. Combina questo con i "do" e sono ideali.
  • Percorso più rapido per il risultato immediato. Dillo a tutti, ad alta voce, un po 'a rischio. (Non importa farlo funzionare). Buono per una start-up, male per attività consolidate che richiedono coerenza. In un puro ruolo di supporto / manutenzione, questo è buono a condizione che altri sviluppatori stiano pulendo in seguito. La prototipazione e la dimostrazione del concetto funzionano alla grande.
  • Generalmente interessato. Qualunque cosa stia succedendo ... parlaci di ciò, cosa posso fare, come posso aggiungere il mio valore o come conoscenza o sudore (andare avanti con qualcosa che vedono come richiesto).
  • Studenti / lavoratori di processo. Dove il progetto è stato pianificato fino all'ultimo grado e hanno "la loro parte" da fare e basta. Sono bravi in ​​squadre molto grandi. Non vi è alcun pericolo che vengano prese "tangenti" e risultati imprevisti su 1/200 persone. Si aspettano che gli venga consegnato il loro elenco di “cosa fare”, quindi lo fanno e tornano per il prossimo momento. Molte culture (sia di razza che di scolarizzazione) in tutto il mondo tendono ad apprendere studenti o lavoratori in stile Boss / Underling. Questo stile di persona è inutile per noi, inviarli a corporazioni più grandi.
  • Le nostre persone sono uguali in una squadra, ci si aspetta che lavorino all'interno della squadra per raggiungere gli obiettivi stabiliti dal cliente.
  • Fai tutto ciò che è necessario per ottenere il lavoro.
  • Ti dai opinioni e prospettive senza attaccamento.
  • Pensi alle cose e analizzi i casi limite.

La lingua è una barriera per lavorare con noi. Abbiamo praticamente la nostra lingua qui, almeno hai bisogno dell'inglese e alcune abilità tecniche combinate con un senso dell'umorismo.

Se non ci capisci, non capirai i requisiti di ciò che devi fare o di come il resto di noi farà l'implementazione della soluzione ... non durerai.

Perché vorresti lavorare con noi?

  • Vieni pagato. Va bene, non è lo stesso che guadagneresti nel "mondo reale", ma è un buon prezzo.
  • Puoi prendere parte alle decisioni. Mentre i registi hanno l'ultima parola che vogliamo sentire da tutti, cosa pensano, come e perché lo pensano. Tutto aiuta.
  • Puoi cercare le tue cose. Interessato a cose geek, programmazione, nuovi prodotti, ultimi sviluppi di guerra tra MS e Linux, tecniche di progettazione. Tutte queste cose a cui ti viene dato il tempo ogni settimana per ricercare e scoprire ciò che vuoi. Devi solo condividerlo con tutti gli altri.
  • Puoi provare nuove tecnologie. O attraverso la ricerca o attraverso nuovi progetti vogliamo provare cose nuove e progettare cose nuove. I progetti sono lì per permetterci di farlo. (a condizione che aiuti il ​​cliente e non costi più del progetto a farlo)
  • Non è necessario indossare abiti. A meno che la situazione non lo richieda, come visitare clienti o eventi.
  • Vogliamo che tu impari di più e ti forniremo una formazione mirata per migliorare ciò che conosci.
  • Di solito non ti viene richiesto di eseguire 9-5. Se stai eseguendo il supporto per un accordo che è 9-5, lo fai, altrimenti esegui il lavoro e non abusare del privilegio.
  • Grande squadra con cui lavorare. Beh, lo pensiamo comunque, ridiamo a vicenda battute per educazione e non accoltelliamo nella politica di ritorno. 
  • Anche noi siamo geek. Alcuni di noi hanno ragazze e bambini, ma non lasciarti ingannare.
  • Godiamo del rispetto di alcune grandi aziende e possiamo entrare senza dubbio.
  • La nostra base di clienti è diffusa in Australia e in tutto il mondo. Lascia molto spazio per i viaggi e
  • Costruiamo ottime relazioni con i nostri clienti e i loro dipendenti, il che significa che abbiamo molte persone con cui possiamo andare a bere.
  • Se hai un bisogno o un problema, non ti dispiace che ti prendi il tempo libero per risolverlo. Finché compensi la differenza con qualche ora in più in seguito.
  • Le tue idee sono apprezzate e puoi vedere una ricompensa maggiore per quelle idee.
  • Condividi il successo di Redgum.

Ora, vuoi ancora lavorare per noi? Perché?

Conclusione

Ho scritto che nel 2004/05 ho fatto personalmente circa 50 o 60 interviste, ho lavorato con circa 14 agenzie di reclutamento che mi hanno lanciato qualcuno che mi ha barrato le scatole ... la maggior parte di ciò è stata una perdita di tempo e faccio schifo nel raccogliere persone da un'intervista.

Finora il maggior successo che ho avuto è stato quello di trovare un solo reclutatore che comprendesse il significato di cui sopra e ciò che stavo cercando e che potesse filtrare l'elenco per le persone che si adattavano.

Ora ho 1 reclutatore di cui mi fido conosce i miei affari, conosce le mie esigenze, pranziamo ogni due mesi per recuperare ... Gli lascio andare, gli concedo il tempo e la fiducia che mi mostrerà solo i candidati appropriati.

Il reclutamento è un'area specilista, e mentre alla fine hai l'ultima parola ... se hai i soldi, lascia che le persone con competenze facciano le loro cose.

Una volta che hanno trovato qualcuno, li intervisto, chiedo loro la loro esperienza, i loro interessi, le cose che li motivano, i progetti più interessanti che hanno fatto, sento la loro risposta a quanto sopra ... una volta che sono convinto che li porto per una seconda intervista con il team a pranzo, tutti gli altri nel team fanno loro domande e mi fanno sapere i pollici su o giù ... poi assumiamo.


16
+1 per la menzione "(avviso, post lungo, solo parzialmente sull'argomento)" :)
treecoder

Wow, stai assumendo? :)
Josh,

@Josh, in realtà, sì, lo siamo, ma siamo a Melbourne in Australia :) Bella biografia però, sicuramente il tipo di profilo che cerchiamo.
Robin Vessey,

Molto ben detto: ho avuto un colpo di frusta da un cenno del capo così tanto. E tu hai lo stesso "dono per brevità" che ho (Non è che scrivo troppo, tutti gli altri leggono troppo lentamente!)
Ben A. Hilleli,

21

Alan Turing è un po 'troppo, ma nominare una persona influente suona bene per me. Se mi facessero questa domanda, direi, il ragazzo ha scritto Effective Java ...

L'assunzione è una strada a doppio senso. Devi prima conoscere il tuo pool di talenti. Se vuoi assumere un programmatore appassionato, devi prima porre alcune domande. Hai problemi interessanti da risolvere? In secondo luogo, offrite un compenso competitivo?

Se, in realtà, non puoi offrire entrambi, allora sarebbe meglio concentrarsi di più su competenze e professionalità.


14
+1 Non puoi assumere programmatori appassionati se non hai un lavoro che richiede e premia quella passione tanto quanto più di tutte le alternative concorrenti disponibili per quel tipo di programmatore.
hotpaw2,

Richiesta di chiarimento, diresti "il ragazzo ha scritto Effective Java" o "Joshua Bloch"? :)
fredoverflow il

@FredOverflow - Perché ricordare il suo vero nome quando un typedef lo farà? : D
Ripristina Monica il

8

Le persone di 37 Signals hanno scritto un ottimo post che si occupa di assumere grandi programmatori.

Puoi leggere il post per i dettagli (ne vale la pena!), Ma può essere riassunto approssimativamente come segue: ci sono cose che puoi esaminare e chiedere durante l'intervista, come

  1. Quanto sono supponente?
  2. Quanto contribuiscono ai progetti open source?
  3. Quanto gli piace programmare?
  4. Effettuano effettivamente spedizioni?
  5. Cosa hanno imparato?
  6. Quanto bene comunicano?

Puoi mitigare ulteriormente il rischio di assumere qualcuno assumendolo per un piccolo progetto per vedere come funzionano. Questo ti mostrerà come gestiscono le attività, gestiscono il loro tempo, comunicano e così via.


4
Non è consentito copiare l'intero post del blog e pubblicarlo in modo da far sembrare che sia il tuo lavoro basato su quel post, anche con un link. Il post che hai copiato è protetto da copyright e non puoi ripubblicarlo per intero. Ho aggiornato la tua risposta per fornire solo un riepilogo dell'articolo e un link ad esso.
Adam Lear

4
  • avviare una conversazione informale sugli schemi di progettazione / anti-schemi / pratiche di programmazione - e vedere quanto è informato il candidato. Quanto sono interessanti o rinfrescanti le loro opinioni. E, indipendentemente dal fatto che abbiano idee proprie su queste cose
  • parlare di un problema del mondo reale e vedere come il candidato inizia a proporre le soluzioni
  • vedere quanto (e per quanto tempo) un candidato può parlare di programmazione (la filosofia NON la meccanica) senza fare riferimento a una particolare tecnologia o linguaggio. Vedi se il candidato è un visionario o si occupa di dadi e bulloni
  • chiedi loro di parlare delle loro funzionalità più fantasiose in un linguaggio di programmazione - un programmatore appassionato avrà sempre fantasie di funzionalità
  • chiedere loro preventivi di programmazione e vedere se conoscono alcuni di quelli popolari
  • testare il loro senso dell'umorismo sulla programmazione

3

No, questo approccio non ha assolutamente senso. Riconoscerei una fotografia di Alan Turing e potrei nominare alcune luci principali nello sviluppo di Java, ma questo non ti dice nulla di quanto sono appassionato di ciò che la programmazione può offrirci. Né vorrei seguire la strada di Elenco di tutti i progetti open source a cui hai lavorato. Alcune di queste sono facilmente acquisite conoscenze e alcune sono molto spesso utilizzate per la preparazione di CV / curriculum.

Chiedi loro di descrivere un problema del mondo reale - per quanto banale - che possa essere risolto programmando una soluzione. Non deve essere qualcosa di così pratico come identificare l'infrastruttura dietro. Hai appena pensato a come programmare la tua strada per un modo migliore di fare qualcosa. Le lingue utilizzate sono di importanza secondaria. Associandoti a un determinato linguaggio, non stai necessariamente ottenendo qualcuno che è appassionato di programmazione.


2

La definizione di passione è ampia qui. Ho visto diversi tipi di programmatori. Non possiamo semplicemente chiamarli programmatori. Per me definisco un programmatore appassionato,

  1. Chissà il fondamentale della programmazione (intendo i fondamenti reali). Scherzi a parte, mostra l'atteggiamento e le capacità di apprendere nuove cose al volo anche se non stiamo usando direttamente i fondamenti nel codice di produzione.
  2. Deve avere la capacità di approfondire i problemi e le tecnologie. La maggior parte dei programmatori è esperta nell'uso di cose già pronte, ma ciò aiuta solo fino a un certo punto.
  3. Deve essere aggiornato con le tecnologie e gli aggiornamenti industriali che ha. Odio davvero i programmatori che non sono pronti a dedicare del tempo alla lettura di materiale. La maggior parte delle persone qui sono intelligenti, sono pronte a risolvere i problemi. Ho visto persone intelligenti passare ore e ore per i problemi comunemente noti. Ciò che manca davvero è la capacità di leggere.
  4. Un programmatore appassionato sarà altrettanto appassionato dell'utente che del suo codice. Fa tutto in una prospettiva utente.
  5. Dovrebbe mostrare la capacità di utilizzare / creare una buona architettura software gradualmente nel periodo.

+1 Ottima risposta. Mi piace il modo in cui hai messo "usa / crea una buona architettura software gradualmente nel periodo".
Karthik Sreenivasan,

2

Vuoi persone "appassionate" o competenti? Preferirei avere persone che conoscono il loro business ma possano distinguere tra esso e la realtà rispetto ai bambini che non sanno nulla al di fuori dello schermo del loro computer, non hanno hobby se non qualche cosa open source che stanno contribuendo a 16 ore al giorno (metà di esso mentre lavora nominalmente per me), ecc.


2

Chiedigli di risolvere i problemi del mondo reale

Oltre a dirti quali sono le abilità di questo candidato, se presti attenzione a come si avvicina con entusiasmo alle domande sul problem solving del mondo reale, puoi avere un ottimo senso di quanto sia appassionato di programmazione. E se gli fai diversi tipi di domande sulla risoluzione dei problemi (alcune domande sulla codifica, alcune domande sulla progettazione di algoritmi, alcune domande sulla progettazione del sistema), puoi avere un'idea di quali aree della programmazione è più entusiasta.

Suggerisco di leggere Joel nella Guida alle interviste di Software Guerilla non solo ti dice come trovare quella passione, ma ti dice che la passione non è una delle cose più importanti che stai cercando - stai cercando "intelligenti "e" fa le cose ". (Fa menzione della passione, ma penso che la sua intenzione sia che sia un segno delle altre due cose che stai cercando).


1

Direi che se sei appassionato di programmazione, sarai in grado di individuare gli altri. Tutto quello che devi fare è parlare di programmazione che non dovrebbe essere difficile durante un'intervista. E concentrati sul candidato che parla. Assicurati di qualificare il loro livello di competenza indipendentemente dalla loro passione. Altrimenti, questo potrebbe offuscare il tuo giudizio.


1

Chiedi se:

  • Rispondono alle domande sui siti StackExchange
  • Hanno un blog o un sito Web?
  • Fanno progetti secondari (possibilmente commerciali)
  • Contribuiscono a progetti open source.

5
Faccio poco perché il mio attuale lavoro richiede più di 50 ore settimanali, ma penso ancora di essere appassionato.
Giobbe

1

Prima di poter assumere programmatori appassionati devi determinare cosa intendi con questo.

Quando cerco passione nei programmatori, ha a che fare con l'entusiasmo della loro voce mentre discutono di un difficile problema di lavoro che hai dovuto risolvere. Ha a che fare con l'essere abbastanza appassionato per ottenere alcuni profondità di conoscenza e di prepararsi a risolvere i problemi difficili. Ciò che non ha nulla a che fare è se programmano al di fuori del lavoro o possono nominare tre famosi programmatori del passato guardando le loro foto.

Durante l'intervista puoi sentire la passione nel modo in cui rispondono alle domande. Vanno più in profondità delle persone non appassionate e tendono ad essere entusiasti di ciò che dicono. Comprendono il dominio aziendale in cui hanno programmato e sono in grado di parlare di come risolvono i problemi e quali suggerimenti hanno avanzato nel loro lavoro per migliorare i processi di programmazione o la progettazione dell'applicazione. Parlano di refactoring e modelli di progettazione senza che sia chiesto loro in modo specifico.

Quando parlano dei loro successi, parlano di cose che vanno oltre la codifica di base di un modulo. Parlano di come hanno visto un problema nella progettazione e del refactoring o di come hanno trovato una nuova tecnica da utilizzare per risolvere un problema difficile e parlano con entusiasmo. È difficile tacere una persona appassionata. Vogliono davvero descrivere i loro risultati e gli obiettivi per il futuro. Potrebbero avere cose su cui vorrebbero specificamente lavorare che il tuo lavoro offre e quello attuale no. Mostrano un modello di crescita in abilità e complessità di ciò che fanno.


0

Chiedi cosa fa nel tempo libero, se sta programmando e lavorando sul suo progetto personale è un segno abbastanza sicuro di un programmatore appassionato. Non tutti i programmatori appassionati programmano a proprie spese, ma la maggior parte di coloro che lo fanno sono appassionati

Un'altra cosa è chiedergli di stimare il numero di ore che ha trascorso a programmare, più ore più appassionate (adattandosi all'età)

PS. Non sto dicendo che dovresti passare tutto il tuo tempo a scrivere codice. Devi avere vita, hobby, ecc. Ecc. Tendiamo comunque a dedicare del tempo alle cose che amiamo (trascorrere del tempo con il coniuge e i figli è contagioso :) quindi inserire del tempo extra in codice è un buon indicatore DS.

... e sì sì, voi programmatori non appassionati potete sottovalutarmi tutto ciò che volete;)

DS.


2
Sono interessato alle persone che sono appassionate di ciò per cui vengono pagate, non agli hobbisti. La passione riguarda più l'apprendimento approfondito e l'eccitazione nel fare il proprio lavoro che il lavoro all'open source, il che spesso è un danno per il comportamento professionale poiché le persone sono più interessate alle loro cose divertenti rispetto alle tue cose di lavoro.
HLGEM,

Prima di tutto, un programmatore appassionato non è un hobbista. Codifica al "lavoro" ea casa ed è appassionato di entrambi. In secondo luogo, avrai difficoltà a convincere un programmatore appassionato ad accettare un lavoro che non è, almeno in qualche modo divertente. Mi offendo davvero con l'atteggiamento di un datore di lavoro nei confronti del dipendente, che non dovrebbe avere "troppo divertimento" sul lato in modo che possano concentrarsi sul loro lavoro "noioso e senza uscita".
Homde,

1
la programmazione su Open source è un hobby. Non me ne potrebbe fregare di meno dei tuoi hobby e legalmente probabilmente non dovrei nemmeno chiederglielo. Voglio qualcuno che porti la passione al lavoro. Quindi cerco persone appassionate di ciò che fanno durante l'orario di lavoro. Non penserò che le persone non siano appassionate perché non fanno Open Source.
HLGEM,

Non ho detto nulla sull'open source, solo che codificano e imparano a programmare nel loro tempo libero sia che si tratti di un progetto per animali domestici, open source, della creazione di un'app mobile per divertimento o di qualsiasi prurito che vogliono grattare che non possono lavorare . Ovviamente devono portare anche quella passione al lavoro, ma questo è il punto. Un maestro falegname impiegato è appassionato sia del lavoro che svolge come dipendente sia per se stesso. Potrebbe essere più appassionato del progetto che sceglie di scegliere se stesso, ma è abbastanza naturale
Homde

0

Prima del colloquio, puoi capire la differenza tra uno sviluppatore appassionato e il resto dal curriculum. Lo sviluppatore appassionato parla di ciò che hanno fatto, il resto parla di come lo hanno fatto. Lo sviluppatore appassionato elenca il loro blog, i progetti personali, ecc. Il resto non li ha.

Il mio manager ha partecipato alle mie prime interviste ed è stato quasi sorpreso quando non ho nemmeno proiettato un candidato tecnico durante l'intervista. In seguito mi ha chiesto perché l'ho saltato. "Avevo già letto il suo codice sul suo blog, so che sa programmare."

Durante l'intervista una singola domanda identifica la passione "che cosa ti ha portato alla tecnologia" per una persona che probabilmente dovrai abbreviare uno sviluppatore appassionato quando iniziano a fare tangenti la prima volta che usano un computer, scrivono un programma e così via e così via. Mi ritrovo a dover soffocare uno sbadiglio quando sento una risposta dal resto.

Infine, il mio schermo tecnologico inizia con domande a cui uno sviluppatore appassionato potrebbe offendersi (e lo prefiggo come tale), lo sviluppatore non appassionato potrebbe rispondere ad alcune o anche a tutte correttamente; lo sviluppatore appassionato li sbalordirà come se avessero un cheat sheet.

La mia propensione è quella di assumere uno sviluppatore appassionato con meno esperienza di uno sviluppatore esperto che non è desideroso di imparare e crescere. Il fatto chiaro e semplice è che la tecnologia cambia troppo rapidamente per assumere qualcuno che non sarà al passo con le tendenze imminenti senza il lavoro che lo richiede.

Riconosco pienamente che non è una prova folle. Alcuni talenti di qualità potrebbero scivolare tra le dita a causa del mio metodo. So che ci sono persone che sono altamente qualificate ma girano il computer a 5. D'altra parte sono stato regolarmente colpito dall'appassionato programmatore e, indipendentemente da anni di esperienza, scopro rapidamente che sto imparando tanto da loro quanto vengono da me.


-1

Tutte le risposte fantastiche qui - aggiungo che spesso chiedo se il candidato ha lavorato con il codice di altre persone (a volte non è uscito dal college) e, in tal caso, qual è la più grande pipì che hanno con quel vecchio codice. A volte si spengono e descrivono cattivi schemi e come li risolvono. Lo prendo come un buon segno. Altre risposte potrebbero mostrarti un programmatore molto rilassato o uno è pedante ... qualcosa che potresti o non vuoi.


1
atteggiamento sbagliato da parte tua. IMO qualcuno che esce e cambia codice apparentemente a caso perché non gli piacciono gli schemi usati in esso è un ladro che fa più male che bene. Tutte le modifiche al codice esistente dovrebbero avere uno scopo specifico e tale scopo dovrebbe essere direttamente correlato alla risoluzione dei problemi identificati o all'implementazione di nuove funzionalità, mai "Non mi piace come il ragazzo precedente ha fatto le cose, quindi ho intenzione di riscrivere il lotto di esso "(che è un atteggiamento comune tra i giovani che hanno avuto la testa piena di teoria ma non si sono mai programmati da una frizione nella realtà.
jwenting,

Abbastanza giusto, ma non li cercavo per cambiarlo ... solo per preoccuparmi quando è sbagliato e non fare quelle stesse cose. Normalmente ricevo risposte come funzioni molto grandi, nessun commento nel codice, nessun tentativo / cattura.
Jody,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.