Chiedere un campione di codice dell'azienda durante un'intervista [chiuso]

68

Chiedere a chi cerca lavoro di mostrare del codice è una pratica abbastanza comune per un'azienda di software. Tuttavia, sarebbe accettabile che il candidato chieda all'intervistatore di mostrargli un piccolo pezzo di codice che pensa sia ben scritto?

    
posta Simon 29.08.2012 - 18:36
fonte

8 risposte

69

Chiedo sempre di vedere del codice, per diversi motivi:

  • Voglio sapere in cosa mi sto cacciando. Ovviamente nessuna azienda di software è perfetta, e non mi aspetto che tutti possano tirar fuori meraviglie di eleganza tutto il tempo (perché nemmeno io), ma se chiedo il codice migliore di un'azienda, e tutto quello che possono mostrarmi è un pasticcio di spaghetti sub-par, so di essere in un momento infelice, di scartare palle di pelo e di combattere il debito tecnico per fare qualcosa. Guardando il miglior codice che un'azienda può mostrare stabilisce un limite massimo di quale tipo di qualità è possibile lì; anche se è improbabile che tutti il loro codice assomiglia a quello, sai ancora che è qualcosa per cui si battono.
  • Guardare gli esempi di codice mi dice molto su una cultura della codifica aziendale Usano i commenti alla documentazione? Si inclinano verso uno stile orientato agli oggetti, hanno tendenze di programmazione funzionale? Sono conservatori o progressivi? Apprezzano la denominazione coerente, la corretta formattazione e indentazione e il codice accurato in generale? Il codice è facile da seguire? Come strutturano i loro progetti? Come si avvicinano alle cose importanti: test automatici, gestione degli errori, ecc.? Quanto è difensivo il loro stile di codifica?
  • La visualizzazione del codice esistente ti consentirà di giudicare se puoi essere all'altezza dei loro standard .
  • Il fatto che un'azienda sia disposta a condividere da solo i campioni di codice è un buon segno di principio. Significa che mi offrono, il candidato, alcuni fiducia , poiché il loro codebase è una delle loro risorse più preziose. Significa anche che non si vergognano del loro codice, che sono fiduciosi che mostrarmi il codice mi aiuterà a lavorare con loro.
  • Se non ti mostrano esempi di codice, allora non deve essere una bandiera rossa, ma è saggio sia chiedere perché non condividono (molto probabilmente, semplicemente non possono per legale ragioni), oltre a spiegare perché vuoi vederne alcuni. Non penso che mostrare interesse per il loro codice sarà visto come un segno negativo, a patto che tu lo chieda in modo educato e positivo.

E poi ci sono altri effetti collaterali:

Le aziende, quelle che accettano di mostrarti il codice, difficilmente mi invieranno solo un archivio di file sorgente contenente l'ultima versione della loro intera base di codice, per ovvi motivi. Se mi mostrano un codice, lo fanno sotto forma di una piccola dimostrazione, che è grandiosa: significa che posso parlare con uno dei miei potenziali colleghi, mi permette di fare più domande sulla loro cultura di codifica, sui processi, e codebase, e idealmente, aiuterà a iniziare una discussione professionale in cui posso sia dimostrare abilità e conoscenza e imparare di più sull'ambiente di lavoro. Significa anche che riesco a guardare gli strumenti che usano, il che è anche abbastanza perspicace - ad esempio, se il progetto che mi mostrano dipende da un particolare IDE, questo significa che tutti lo usano, che può essere buono o cattivo. E infine, parlare attraverso un po 'di codice dà una buona impressione di quanto possa essere utile la comunicazione professionale futura.

    
risposta data 29.08.2012 - 21:49
fonte
14

However, would it be acceptable for the candidate to ask the interviewer to show him a small piece of code that he thinks is well written?

Suppongo che cada nell'intero "mantra delle interviste sono bidirezionali", ma non mi aspetterei di ottenerne. Le preoccupazioni sulla proprietà intellettuale sono la questione più ovvia dopo il fatto che nella stanza delle interviste non c'è nessun computer, e portarti a uno è piuttosto imbarazzante.

Inoltre, stanno semplicemente scegliendo il codice più bello e meno significativo che possono. Il miglior codice non è davvero un problema, il peggio è. È la stessa ragione per cui ottenere campioni di codice dai candidati è quasi inutile.

    
risposta data 29.08.2012 - 19:37
fonte
12

would it be acceptable for the candidate to ask the interviewer to show him a small piece of code that he thinks is well written?

Puoi chiedere quello che vuoi, ma:

  • Probabilmente non lo capirai.

  • Se lo ottieni, non ti dirà nulla di utile. Se il 10% del codice è bello e il resto è spaghetti, continuerai a occuparti principalmente di spaghetti.

  • Ti sembrerà un pantalone intelligente. Questo non è di grande aiuto se alla fine decidi che ti piacerebbe lavorare lì.

  • È uno spreco prezioso di interviste.

  • Ci sono modi migliori per scoprire cosa vuoi sapere. Fai domande come:

    • Quali sono gli indicatori più importanti della qualità del codice?
    • conserverò principalmente il codice esistente o scriverò un nuovo codice?
    • Puoi spiegare brevemente come funziona il tuo sistema?
    • Disponi di un documento di standard di codifica e tutti lo seguono?
risposta data 30.08.2012 - 09:24
fonte
3

Bene, dipende. Mi è sempre piaciuto sapere dove andrò a lavorare.

Vedo un colloquio di lavoro come bidirezionale. L'azienda scopre su di te e scopri l'azienda. Chiedere il codice potrebbe essere un po 'troppo, ma chiedere domande relative allo sviluppo dovrebbe essere OK.

Ad esempio, non accetterei un lavoro in cui l'azienda non utilizza tecniche agili o TDD o non ha intenzione di abbracciare e incoraggiare tali pratiche. Apprezzo anche quando un'azienda è orgogliosa del suo prodotto e del suo codice - quando sembra che l'intervistatore ti stia chiedendo di vederlo, così ha una scusa per spiegare tutte le cose interessanti che fanno.

    
risposta data 29.08.2012 - 19:42
fonte
2

Haha, questa è una domanda divertente. Non mi offenderei se qualcuno mi chiedesse un campione di codice mentre stavano intervistando, ma probabilmente non mostrerei loro alcun codice, a meno che non avessero chiesto in anticipo e ho avuto il tempo di pianificare attentamente.

Capisco comunque l'intento di fare una domanda del genere. Come cercatore di lavoro, ho chiesto il test di Joel a un intervistatore prima. Non sapevano cosa fosse, ma erano felici di rispondere.

In alcuni posti, fare domande di questo tipo potrebbe migliorare le tue possibilità mentre potrebbe danneggiare le tue possibilità altrove. La bellezza della vita è che se migliora le tue possibilità, allora questo è il tipo di posto in cui vorresti lavorare. Se ti fa male le tue possibilità, allora non avresti voluto quel lavoro lo stesso.

Non vedo nulla da perdere chiedendo educatamente e potendo spiegare perché lo vuoi vedere.

    
risposta data 02.12.2012 - 01:00
fonte
2

Ho fatto questa domanda nelle mie due interviste in cui affermavano di avere sviluppatori senior che migravano verso asp.net mvc3 o 4 o quando dicevano di volere un codice strongmente commentato. Ho rifiutato in entrambe le occasioni a causa della mancanza della loro conoscenza sullo standard attuale del codice. L'unico standard che ho trovato è che se funziona copia e incolla e funzionerà. Non farò questa domanda se sto facendo un nuovo progetto o devo scrivere una parte di codice indipendente dagli altri della squadra. Vedrò sicuramente il codice se vengo assunto per risolvere un software o una funzione esistente e non dirò di sì a meno che non conosca la risposta. Supponiamo che tu non chieda e loro dicono che puoi per favore aggiustare il datapicker per iniziare dalla data odierna. Quando si esamina il codice legacy non si vede jquery o jquery ui ma un selettore di date personalizzato che ha tutte le date memorizzate nel file xml e ogni notte viene eseguito un processo cron per aggiornare i mesi futuri su di esso. Ciò farebbe iniziare il mal di testa come codice per ottenere ciò è inferiore alle parole in questo esempio. Se hai intenzione di lavorare sul loro codice, chiedi di vederlo. Non chiedere è come quotare per un lavoro sulla convinzione che il cliente ha detto che è piccolo. Potrebbe possedere 20 ettari di terreno e il giardinaggio sul suo 1 acro è piccolo per lui, ma il giardiniere non può caricare 50 sterline solo perché tutti i suoi piccoli lavori partono da 50 anni.

    
risposta data 02.12.2012 - 23:14
fonte
1

Tendo a lavorare per aziende in cui almeno parte del loro lavoro è open source, quindi è banale trovare esempi di codice. Capisco chi lavora in azienda, poi scopre i loro manici online. Poiché le persone tendono a utilizzare lo stesso nome di schermo, più e più volte, è facile trovare dove hanno commesso il codice, indipendentemente dal fatto che si trovino su Github, Bitbucket o da qualche altra parte.

La mia attuale compagnia ha un sacco di codice ospitato su Github, quindi è stato facile vedere con che cosa lavorano, quanto è grande la loro base di codice e cosa sembra non essere più di interesse.

Non chiederei mai un campione, semplicemente perché stanno per mostrarti il codice migliore che hanno. Questo non è il codice con cui lavorerai. Probabilmente è alloggiato in una campana in una stanza chiusa a chiave. Lavorerai con il codice disordinato con cui molte persone hanno dovuto confondere.

    
risposta data 02.12.2012 - 21:51
fonte
0

È fantastico se riesci a ottenerlo. A volte non è possibile senza accordi di tipo NDA, ma è sempre consigliabile provarlo. Per aumentare le probabilità, lascia che i tuoi intervistatori sappiano che lo vuoi molto in anticipo (un paio di giorni) in modo che possano avere in mente qualcosa da mostrare.

    
risposta data 30.08.2012 - 01:07
fonte

Leggi altre domande sui tag