Come prepararsi per il colloquio con l’ingegnere software di Juniper

Qui c'è un articolo che ho trovato:
Hai usato il tuo curriculum per ottenere un colloquio con una grande azienda. Ora come dovresti prepararti? Degli oltre 300 ingegneri del software che ho intervistato per Google (e precedentemente per Microsoft), alcuni di loro hanno davvero brillato, e altri sembravano mal preparati. Molti di quelli impreparati hanno comunque ricevuto offerte perché sono ovviamente delle star, ma è più sicuro e meno stressante prepararsi in anticipo. Di seguito ci sono alcuni consigli che ho raccolto nel tempo:

  1. Pratica usando lo stesso mezzo (per esempio carta e matita) e gli stessi limiti di tempo (per esempio 30 minuti) del colloquio reale.
    Google e Microsoft usano entrambi domande di codifica su lavagna, ma spesso i candidati si esercitano codificando da soli a casa su un computer con un compilatore. Durante il colloquio vero e proprio, stanno alla lavagna e dimenticano come inizializzare un array, senza il loro fidato evidenziatore di sintassi. Oppure sono così nervosi di avere un'altra persona che li guarda che si fanno prendere dal panico e non riescono a pensare bene.
    Nella vita reale, se hai intenzione di nuotare nella Manica, limiterai il tuo allenamento alle vasche nella piscina locale? No, andreste a provare le onde dell'oceano, l'acqua salata. Fate lo stesso qui.
    Chiedete al vostro reclutatore il formato del colloquio e tutte le domande di codifica. Se l'azienda dà ai candidati un'ora da soli in una stanza con un editor e nessun compilatore, fate pratica a casa. Se l'azienda fa domande alla lavagna con un intervistatore che vi guarda, chiedete a un amico ingegnere di essere il vostro finto intervistatore. Va bene se l'amico è un ingegnere con meno esperienza di voi - farà comunque emergere il vostro nervosismo nel commettere errori di fronte agli altri, così potrete esercitarvi ad abituarvi a questo.
  2. Durante il colloquio, non ossessionatevi sui piccoli errori che accadono.
    In più di un'occasione, quando ho dato ad un candidato star una domanda di codifica, si è concentrato sulla soluzione più performante, ha identificato i casi limite e ha iniziato a scrivere codice ben progettato. A metà del problema, fa un piccolo errore - sbagliando l'ordine delle operazioni al primo tentativo, o avendo un errore off-by-1, o dimenticando di dichiarare una variabile.
    Quando lo faccio notare, il candidato risponde con orrore e poi diventa così nervoso che ha un impatto sulla sua performance durante il resto del colloquio.
    La paura è infondata. Un candidato fantastico che fa un piccolo errore è come un violinista che suona un impegnativo concerto di Brahms e colpisce due note sbagliate. Certo, il pubblico potrebbe dire che ha fatto degli errori, ma non si confondono sul fatto che lui sia effettivamente al livello di Twinkle-Twinkle-Little-Star.
    Anche se si bombarda completamente una domanda, molti intervistatori ti fanno più domande e perdoneranno un singolo errore. Anche bombardare un'intera intervista è recuperabile se le altre interviste vanno bene.
    Di recente uno dei miei colleghi (un capo tecnico per un altro progetto) ha intervistato un candidato ed è stato molto brusco perché ha trovato lo stile di comunicazione del candidato irritante. Il candidato si è dimostrato durante il colloquio, e il responsabile tecnico ha finito per essere il più forte sostenitore di questo candidato. Ha sostenuto più duramente quel candidato di quanto abbia fatto per chiunque altro in un anno.
    Quando le cose non vanno bene, basta continuare e non perdere la speranza.
  3. Non essere scortese con il tuo intervistatore.
    Questo dovrebbe essere ovvio, ma sono stato sorpreso. Un candidato di ingegneria mi ha detto: "Wow, non posso credere che tu sia davvero il mio intervistatore! Sembri così giovane! Pensavo avessi 18 anni! Una volta che mi hai detto le tue credenziali, ora capisco, ma all'inizio ho pensato, 'Questa persona mi sta intervistando?!?!'"
    Questo non era molto elegante.
    Altre cose che raccomando di non dire:
    • "Lei'è davvero il mio intervistatore? Sembri così vecchio!"
    • "Sei davvero il mio intervistatore? Sembri così grasso!"
  1. Un'altra volta, il cellulare del candidato ha suonato dopo 15 minuti di intervista. Ha lasciato perdere, e siamo stati entrambi distratti dal suo squillo per i successivi 20 secondi. 5 minuti dopo, è successo di nuovo. Altri 5 minuti dopo, ha suonato per la terza volta.
    Ha finalmente raggiunto la sua borsa e ha cercato il telefono al suo interno. "Era ora", ho pensato, "avrebbe dovuto spegnerlo prima di venire qui". L'unica giustificazione è se c'è un'emergenza familiare, e in quel caso, avvertite il vostro intervistatore esplicitamente all'inizio del colloquio.
  2. Non dirottare l'intervista.
    Ho avuto un paio di candidati che sono arrivati al colloquio con la mentalità che dovevano raccontarmi tutto del loro recente progetto Zoolander. Inizio l'intervista e loro irrompono con: "Voglio parlarti di Zoolander. 10 anni fa, questo progetto è iniziato come una caratteristica secondaria..." e poi vanno avanti per 5 minuti senza prendere fiato.
    A volte decidono che devono raccontare Zoolander ad ogni intervistatore, ripetendo la stessa descrizione più e più volte durante la giornata.
    Il tuo intervistatore ha domande specifiche che devono fare. Se dirottate l'intervista, potrebbero non avere abbastanza dati dalle loro stesse domande per essere in grado di approvare la vostra assunzione. Potrebbero anche pensare che sarebbe difficile lavorare con voi.
    Se volete davvero parlare di un progetto, chiedete al vostro intervistatore: "Penso che il progetto Zoolander metta davvero in mostra le mie capacità". Tu o un altro intervistatore potete dedicarmi 10 minuti per spiegarlo?". L'intervistatore può quindi rivedere il suo piano per l'intervista, invece di avere improvvisamente la sua agenda stravolta.
  3. Quando rispondi a domande che si aspettano una risposta specifica, fai prima un riassunto di alto livello.
    A volte faccio una domanda che si aspetta una risposta breve: "Quante persone hanno lavorato con te al progetto Zoolander? Il candidato allora mi dà un audiolibro, "Beh, c'era Jimmy -- ha fatto l'UI e ho dovuto fargli da mentore per un bel po'. Poi c'era Mary che gestiva i server di backend. Lavorava in remoto dalla Pennsylvania. Due anni dopo, abbiamo preso un'altra persona per il backend, David..."
    Tre minuti dopo, il candidato sta ancora parlando, e io ancora non so la risposta di quante persone hanno lavorato al progetto.
    Prima dai una risposta, e poi esponi. "Erano 3 quando sono entrato, e 12 quando me ne sono andato. Prima c'era Jimmy ..."
    Meglio ancora, date la risposta e offrite di esporre. "Erano 3 quando sono entrato, e 12 quando me ne sono andato. Vuole che le dica cosa faceva ognuno di loro?"
  4. (Non così importante) Indossa qualcosa di comodo per il tuo colloquio. Il business casual è il più tipico.
    Le persone a volte si chiedono come devono vestirsi. La cosa più importante è che vi sentiate a vostro agio. Se vuoi ancora una raccomandazione, io dico una camicia abbottonata o anche una maglietta. Un abito può risultare troppo formale in alcune aziende (ad esempio Google).
    Questo punto non è così importante, perché alla gente non importa. Dovreste chiedere al vostro reclutatore cosa indossare, dato che questo varia a seconda del paese e della East Coast / West Coast. Una società come Google è più informale, quindi se arrivate con un abito a tre pezzi, i vostri intervistatori potrebbero alzare un sopracciglio. Se avete la merce in termini di competenze ingegneristiche, non è comunque un problema. Un candidato si è presentato a un colloquio indossando una camicia a rete gotica con dei buchi attraverso i quali i suoi capezzoli erano chiaramente visibili. Ha comunque ottenuto il lavoro. (Non consiglio di correre questo rischio.)

Una storia finaleVorrei lasciarvi con una storia di un colloquio sfortunato. Spero che non importa come vada il vostro colloquio, sarete probabilmente più fortunati di questo candidato.
A Microsoft, abbiamo sempre offerto da bere ai nostri candidati, e un candidato "Jeff" ha preso una pepsi. Siamo entrati nel mio ufficio e l'ha appoggiata sulla scrivania. Abbiamo iniziato a discutere delle sue esperienze e poi ci siamo lanciati nella domanda di codifica sulla lavagna, e lui non ha fatto in tempo ad aprire la sua pepsi. Si fermò a pensare all'algoritmo complessivo, e distrattamente fece un passo indietro per vedere l'intera lavagna. Facendo questo, inavvertitamente urtò contro la scrivania, e la pepsi cadde dal bordo.
Questa pepsi era ancora chiusa. Così, quando ha colpito il suolo, è esplosa all'impatto.
La Pepsi ha spruzzato in raffiche schiumose in tutte le direzioni dalla lattina. È stato un momento al rallentatore, mentre macchie beige di soda schizzavano sulle mie pareti bianche, sulla mia libreria, sulla mia tastiera. Entrambi siamo rimasti lì congelati, con le mani a metà strada (troppo lente per prendere la pepsi), guardando il liquido gocciolante che ricopriva l'intero interno del mio ufficio.
Ci siamo presi una pausa di 5 minuti per prendere gli asciugamani di carta e pulire il casino. (Anche se i miei libri si sono sempre attaccati insieme dopo quel giorno, e le mie pareti non sono più state le stesse.)
Poi siamo tornati alla questione della lavagna. Jeff era nervoso a questo punto (comprensibilmente). Scrisse del codice, lo cancellò, ne scrisse ancora. Ha cancellato usando le dita contro la lavagna invece di usare la gomma. Poi gli si formò del sudore sulla fronte, e lo asciugò usando la stessa mano. Alla fine dell'intervista, il suo viso era coperto di strisce di pennarello rosso, verde e blu. Le mostro il bagno" e ho lasciato che lo specchio del bagno gli mostrasse il problema.