Ok, solo per dare un po 'di esperienza pratica qui.
Lavoro per una di queste società di software d'élite e non trovo che le nostre politiche di assunzione siano orientate a "non perdere" grandi talenti ma a "non assumere" talenti mediocri. Ho visto che alcune di queste aziende vogliono davvero assumere persone fantastiche, ma lo fanno intervistando molti sviluppatori (su carta) davvero belli e poi eliminando quelli che non vogliono. Una volta che qualcuno viene assunto, è molto difficile sbarazzarsene, quindi è utile rifiutare un candidato che ritieni possa essere davvero adatto, ma che uno degli intervistatori abbia visto alcune bandiere rosse.
Nell'azienda per cui lavoro attualmente, sono stato rifiutato perché uno e solo uno degli intervistatori (il più importante) mi ha dato un pollice in giù. Questa intervistatrice mi ha posto una domanda molto specifica per il dominio e non parlava inglese fluentemente. Non mi hanno assunto, ma il team ha pensato che la compagnia avrebbe perso un noleggio potenzialmente buono. Mi hanno inviato a un'altra serie di interviste con un team diverso la settimana successiva e ho ottenuto il lavoro (con segni di "forte assunzione" che potrei aggiungere).
Il mio consiglio è che se credi davvero di avere quello che serve, continua a intervistare questa società e impara da ogni esperienza fino a quando non ottieni il lavoro. La maggior parte di queste aziende tiene un registro di tutti coloro che intervistano e inserisce nella lista nera i candidati poveri (quindi non ottengono mai un altro colpo). Tuttavia, i candidati che erano buoni candidati ma non si sono comportati bene quel giorno o non si sono adattati bene alla squadra rimarranno nel pool di assunzioni. Saprai immediatamente se sei stato nella lista nera quando le telefonate del reclutatore si fermano un giorno e ogni contatto futuro sembra colpire le orecchie dei non udenti. Se ricevi richieste future dalla società, sai che stai bene. Non c'è assolutamente nulla di male nel creare più interviste dopo il tuo primo rifiuto, purché tu non sia nella lista nera. Infatti, Consiglio vivamente di intervistare più team contemporaneamente. Gli intervistatori ti respingeranno al primo segnale percepito di difficoltà, indipendentemente dal fatto che si tratti o meno di un problema reale. Sono cauti e non vogliono fare assunzioni sbagliate molto più di quanto non vogliano fare assunzioni buone.
Qualche altro pensiero:
- Nessuna di queste aziende ti darà feedback. È una responsabilità legale. Fa schifo che sia così, ma posso prometterti che non succederà.
- Ho parlato personalmente con un geniale ingegnere quando ho intervistato Microsoft che mi ha detto che gli ci sono voluti 5+ tentativi prima di essere finalmente assunto. Questo ragazzo era un SDE di livello senior, quindi MSFT ovviamente convalidò che era un buon assunto promuovendolo.
Alcuni suggerimenti:
Conosci le tue strutture dati e i tuoi algoritmi avanti e indietro. Hai bisogno di sapere tutto fino al punto di attraversare graficamente.
Conoscere l'architettura, in particolare i sistemi distribuiti e i problemi di scala
Fai memorizzare un elenco di progetti che hai guidato. Avere un elenco con esempi di principi di leadership che hai esposto nel tuo lavoro memorizzato. Queste sono le domande più difficili a cui rispondere nell'intervista (interviste comportamentali). Puoi essere perfetto dal punto di vista tecnico e se non sopravvivi all'intervista comportamentale non verrai assunto.
Non preoccuparti di quali linguaggi di programmazione stanno cercando. Conoscere un linguaggio orientato agli oggetti avanti e indietro e codice in quello. All'intervistatore di solito non importa in quale lingua codifichi e non ti giudica in base a questo.
Infine, inviami il tuo curriculum via email. ; =)