Stai cercando uno stage in ingegneria del software? Ecco alcuni pensieri per aiutarti

Una nota: questo post ha semplicemente lo scopo di condividere i consigli che vorrei aver ricevuto.

Se sei uno studente universitario alla ricerca di un tirocinio in ingegneria del software per l'estate o semplicemente ti chiedi cosa significhi cercarne uno, questo articolo è per te!

Durante il mio secondo anno di college, ero abbastanza sicuro di voler diventare un ingegnere del software. Avevo seguito le due lezioni introduttive al mio college e le adoravo, ed ero in una classe di livello superiore che mi stavo divertendo. Quindi speravo di ottenere uno stage in ingegneria del software in estate che mi avrebbe permesso di acquisire esperienza nel settore e migliorare le mie capacità.

Non sapendo come affrontarlo, non ho iniziato a cercare fino alla primavera. A partire da gennaio, ho fatto domanda per oltre 60 aziende online e ho ricevuto almeno 20 rifiuti automatici. Ho avuto due colloqui tecnici (entrambi sono andati in modo disastroso) e ho finito per lavorare a un lavoro che non aveva nulla a che fare con l'ingegneria del software.

I miei errori erano:

  1. Non a partire prima della primavera
  2. Non utilizzo la mia rete o non provo a farla crescere
  3. Non prepararsi per i colloqui tecnici
  4. Non fare progetti collaterali

Nel mio primo anno, ero determinato a fare meglio. Ho fatto rete il più possibile, ho investito tempo nella pratica per interviste tecniche e comportamentali e ho sostenuto ogni intervista che ho potuto ottenere. Sentivo che il mio problema più grande era mettere piede nella porta. Il mio curriculum si perdeva tra migliaia di altri nel vuoto dell'applicazione online. Nessuno aveva motivo di dare una seconda occhiata alla mia domanda.

Dopo il mio fallimento lo scorso anno, ho passato molto tempo a ricercare strategie per ottenere uno stage come ingegnere del software. Ho escogitato quattro suggerimenti, che ho imparato dai miei errori:

  1. Inizia presto
  2. Le connessioni sono il tuo strumento più importante
  3. Devi prepararti per i colloqui tecnici
  4. I progetti collaterali trasformano il tuo curriculum da buono a fantastico

La prima cosa che dovevo fare era scegliere quali aziende volevo scegliere come target. Ho iniziato elencando tutte le aziende i cui prodotti ho utilizzato e apprezzato, quindi cercando "stagista in ingegneria del software" nella ricerca di lavoro di Glassdoor e setacciando gli elenchi delle aziende i cui prodotti mi sono piaciuti, di cui avevo sentito parlare bene o le cui offerte di lavoro suonavano interessante.

A partire presto

La stagione del reclutamento inizia in agosto / settembre . Consiglierei di iniziare ad agosto / inizio settembre o al massimo ottobre.

Molte grandi aziende (se è quello che stai cercando) terminano il reclutamento entro novembre / dicembre. Se ti rivolgi agli amici, è fantastico iniziare presto, ad esempio prima di settembre. Se stai leggendo questo articolo in primavera, non è troppo tardi ! Puoi comunque applicare tutte le strategie di seguito e avere una grande possibilità di ottenere uno stage.

Utilizzo delle connessioni

Ecco un riepilogo delle persone che puoi contattare per mettere piede nella porta, per così dire.

  1. Alumni che lavorano nell'azienda in cui vuoi lavorare
  2. Amici / compagni di classe che hanno lavorato in quella compagnia
  3. Professori
  4. Amici di amici che lavorano in quell'azienda

Inizialmente contattando

Come studente universitario, mi sentivo come se non avessi alcun legame. Le connessioni sembravano qualcosa che avevano i veri adulti, non me. Ma questo si è rivelato completamente falso.

In primo luogo, conoscevo alcuni alumni che ora lavoravano in aziende in cui volevo lavorare. In secondo luogo, ho scoperto la potenza di LinkedIn come strumento per ottenere il massimo dalla mia rete.

Il mio primo passo nell'utilizzo delle mie connessioni è stato contattare persone che già conoscevo che lavoravano come ingegneri del software presso le aziende a cui ero interessato. Per me era più facile chiedere tempo a persone che già conoscevo.

Se qualcuno dei tuoi compagni di classe / amici ha fatto uno stage in queste aziende, prova a metterti in contatto con loro. Spesso possono indirizzarti a un reclutatore presso quell'azienda. Anche contattare le persone che lavorano a tempo pieno in queste aziende è prezioso.

Di solito li ho contattati tramite Facebook Messenger e ho chiesto se avevano 15 minuti per una telefonata per parlare del loro lavoro . È importante limitare la richiesta a 15 minuti: è una piccola domanda e non sembra un grande favore per la persona che stai chiamando.

È anche importante non guidare chiedendo loro di aiutarti a trovare un lavoro. Alle persone non piace aiutare le persone che non conoscono e avvicinarle in questo modo probabilmente le farà sentire a disagio. Poiché le persone a cui ho inviato messaggi mi conoscevano già, hanno detto tutte di sì. Più tardi parlerò di cosa dire su questo tipo di chiamata.

Il mio secondo passo è stato accedere a LinkedIn. Assicurati di compilare il tuo profilo LinkedIn con quante più informazioni possibile: trattalo come un secondo curriculum. Ho quindi iniziato il processo di contatto tramite LinkedIn con persone che non conoscevo affatto . È andata più o meno così.

  1. Vorrei andare alla pagina LinkedIn di un'azienda per cui ero interessato a lavorare e fare clic sul collegamento per vedere tutti i dipendenti di tale azienda su LinkedIn.

2. Ho quindi fatto scorrere verso il basso fino al filtro Scuole e ho digitato la mia università.

Quindi ottengo un elenco di ex studenti universitari che lavorano presso l'azienda a cui sono interessato. Le persone con cui hai qualcosa in comune hanno molte più probabilità di essere disposte a prendersi del tempo per parlare con te o aiutarti.

3. Premi "Connetti" e poi "Aggiungi una nota" e chiedi loro di chattare sul telefono. La mia nota tipica assomiglia a questa:

Nella mia nota spiego sia il motivo per cui li sto contattando sia il mio “chiedo” - una telefonata di 15 minuti - in poche frasi. Sii breve, amichevole e pertinente (LinkedIn non ti consente comunque di superare i 300 caratteri).

4. Aspetta che rispondano! Molte persone potrebbero non risponderti mai e alcune risponderanno immediatamente o entro pochi giorni. Di solito ho contattato circa 5 persone a settimana, dal momento che una discreta quantità di persone semplicemente non controlla o usa LinkedIn. Sconsiglio di contattare contemporaneamente più persone della stessa azienda, poiché è leggermente ridondante.

Oltre a contattare le persone nella tua rete universitaria, contatta gli amici dei tuoi genitori se lavorano nel campo della tecnologia, gli amici del tuo amico, ecc. Se vedi qualcuno su LinkedIn a cui sei connesso tramite un amico, chiedi al tuo amico di presentarti a quella persona.

Andare al telefono

Questo tipo di telefonata in cui parli con qualcuno del suo lavoro è generalmente chiamato "colloquio informativo". Ma definirlo un "colloquio" lo fa sembrare molto più spaventoso di quanto non sia. Una volta che hai un paio di queste telefonate, diventa molto più facile.

Ho trovato queste chiamate alcune delle cose più utili che ho fatto durante la mia ricerca di stage. Mi hanno aiutato a capire in che tipo di azienda volevo lavorare, come prepararmi per il colloquio tecnico e quali aree dell'ingegneria del software volevo esplorare ulteriormente.

All'inizio può essere difficile sapere cosa chiedere, quindi ecco un paio di domande che ho posto durante molte di queste telefonate:

  • Com'è la cultura dell'azienda X?
  • C'è un'enfasi sull'equilibrio tra lavoro e vita privata?
  • Quanto le persone passano il tempo fuori dal lavoro?
  • La cultura è trasparente o più riservata?
  • Cosa ti piace del lavorare in X Company?
  • C'è qualcosa che non ti piace o cose che stai cercando di cambiare?
  • Com'è essere un'ingegnere donna in X Company?
  • È facile cambiare squadra e provare cose nuove?
  • Su cosa sta lavorando il tuo team?
  • Come sei finito alla compagnia X? Cosa ti ha spinto a scegliere questa azienda rispetto ad altre?
  • Come sei entrato nella tua particolare area dell'informatica (es. Machine learning, database, ecc.) E quali sono alcune risorse per saperne di più?
  • Come sono gli stage nella tua azienda?

Domande come queste possono essere un ottimo modo per comprendere meglio cosa vuol dire lavorare in azienda. I colloqui informativi possono essere ottimi anche se non stai cercando un lavoro. Possono aiutarti a saperne di più sul settore.

Ma se stai cercando uno stage, c'è una domanda che ho posto durante ogni telefonata che è stata particolarmente utile: come posso distinguermi nel processo di candidatura per l'azienda X? Questa domanda è ottima perché la persona con cui sei al telefono ti darà consigli su come ottenere uno stage lì e potenzialmente si offrirà di metterti in contatto con un reclutatore o addirittura di indirizzarti alla sua azienda.

Altre vie

Oltre a contattare contatti o potenziali contatti, assicurati di utilizzare la fiera della carriera della tua scuola! Quelle aziende sono già lì perché vogliono reclutare studenti dalla tua scuola.

Un'altra cosa che mi è stata davvero utile è stata (se ti identifichi con una donna) inviare il mio curriculum al database di curriculum di Grace Hopper. Molte aziende mi hanno contattato tramite quel database. Inoltre, se un professore che conosci bene ha contatti o amici nel settore, potrebbe valere la pena chiedergli aiuto per stabilire una connessione.

Interviste tecniche e sfide di codifica

Si è detto abbastanza del colloquio tecnico che non sento il bisogno di scrivere un lungo post su questo. Ma ho un paio di cose che ritengo importanti:

  • Le sfide di codifica sono una cosa . Questa è una valutazione in stile HackerRank in cui ti viene assegnato un problema di codifica e una quantità di tempo limitata per risolverlo, ad esempio un'ora. Di solito sono una pre-selezione per un'intervista telefonica. Esercitati a eseguire problemi di HackerRank su un limite di tempo per simulare questo ambiente in modo da essere preparato per questi.
  • Personalmente, ho trovato Python un linguaggio fantastico per le interviste. Ti evita di dover implementare strutture o funzioni di dati di tipo di basso livello ed è molto veloce da scrivere ed eseguire il debug. Alcune delle cose più utili in Python da sapere per le interviste (secondo me) sono defaultdict, l'ordinamento con un lambda , suddivisione / inversione / unione di stringhe e tipi di dati incorporati.
  • Cerca di non esagerare! Ho avuto due round finali che pensavo di aver fallito subito dopo, entrambi per i quali ho ricevuto delle offerte.
  • Poni domande nelle tue interviste tecniche! Dimostra che sei interessato all'azienda. Ho trovato questo articolo su Medium particolarmente utile su questo fronte.
  • Cerca di capire un'area dell'informatica a cui sei particolarmente interessato, perché mi è stato chiesto questo in quasi tutte le interviste.
  • Accetta quante più interviste / sfide di programmazione possibili, se ne hai il tempo. L'unico modo per migliorare è fare pratica!

Oltre a ciò, ecco alcune risorse utili sulla preparazione per il colloquio di programmazione.

  • La guida di Palantir
  • Il libro Cracking the Coding Interview
  • Questo post del blog
  • Questo elenco di risorse
  • C'è un nuovo sito chiamato intervewing.io che ti mette in contatto con un ingegnere del software per esercitarti con le interviste tecniche: non l'ho provato, ma sembra davvero interessante.

Personalmente, mi sono preparato per le interviste tecniche risolvendo problemi da Cracking the Coding Interview, problemi Python su HackerRank e facendo il maggior numero di interviste tecniche possibili. Non c'è davvero alcun sostituto per la pratica - ero molto meno nervoso nel mio quinto colloquio rispetto al mio primo.

Progetti collaterali

Avere progetti collaterali che hai fatto nel tuo tempo libero e fuori dalle lezioni è il modo migliore per dimostrare che sei appassionato di quello che fai. Onestamente, è frustrante che esista uno standard in cui il fatto che ti stai già laureando in Informatica non è sufficiente per dimostrare che lo ami.

Indipendentemente da ciò, i progetti collaterali sono un ottimo modo per imparare e un modo per costruire il tuo curriculum. Per me, fare progetti collaterali è stato gratificante. Sono stato in grado di sviluppare le mie abilità mentre mi esercitavo a implementare qualcosa da solo. Qui e qui ci sono elenchi di idee di progetti collaterali per iniziare. Consiglierei di fare un progetto secondario che ti appassiona, piuttosto che uno che stai usando solo per costruire il tuo curriculum. Sarà molto più divertente e imparerai molto di più.

La mia scuola ha qualcosa chiamato JumboCode che fa il lavoro di codifica per le organizzazioni non profit. La mia esperienza in una squadra come parte di quel club è stata una delle mie esperienze preferite. Lavorare in un team così come una fantastica esperienza di apprendimento, tecnicamente parlando. Se la tua scuola ha qualcosa di simile, prendi in considerazione l'idea di farti coinvolgere se ti interessa.

Pensieri finali

Utilizzando tutte le strategie di cui sopra, sono stato in grado di ottenere uno stage presso Square, che è stata la mia prima scelta! Un mio amico che ha lavorato in Square l'anno scorso mi ha messo in contatto con l'attuale reclutatore, che alla fine ha portato alla mia offerta.

Ottenere uno stage in ingegneria del software è difficile.

È particolarmente difficile quando non hai molte aziende che cercano di reclutare dalla tua scuola o non hai molti legami familiari. Ma se vai in una scuola con laureati in informatica, è probabile che almeno alcuni di loro lavorino presso aziende che ti interessano! E in virtù di aver frequentato il tuo college, sono spesso disposti ad aiutarti.

Questo post ha lo scopo di rendere pubbliche tutte le cose che vorrei che le persone mi avessero detto prima, nella speranza di aiutare chiunque sia alla ricerca di uno stage in ingegneria del software.

Se hai domande, non esitare a contattarmi via e-mail all'indirizzo tatidoyle01 [at] gmail.com!

Un grande grazie alle tante persone che mi hanno aiutato a correggere e modificare questo articolo!