In questo post, condividerò come sono passato da zero(ish) a un’offerta di lavoro di ingegneria del software a sei cifre in nove mesi mentre lavoravo a tempo pieno ed ero autodidatta.
Ogni volta che iniziavo a leggere una storia di successo, cercavo immediatamente di trovare lo sfondo dell’autore, sperando che corrispondesse al mio. Non ho mai trovato qualcuno che avesse lo stesso background di me, e molto probabilmente il mio non corrisponderà esattamente al tuo.,
Tuttavia, spero che la mia storia ispiri gli altri e agisca come un prezioso punto dati che può essere aggiunto al set di dati della storia di successo.
Full Disclosure
Ho seguito un corso Visual Basic for Applications (VBA) al liceo (nove anni fa). Nel mio corso di ingegneria matricola (sette anni fa), ho imparato alcuni C, Python, Matlab e Labview. Mi sono laureato in una buona università con una laurea in ingegneria chimica e un buon GPA (tre anni fa). Non avevo fatto alcuna programmazione al di fuori della scuola, al liceo o al college, fino a quando ho deciso che volevo imparare l’anno scorso.,
Dopo il college, ho ottenuto un lavoro come ingegnere di processo in una raffineria. Ho lavorato lì fino a quando ho cambiato carriera in Ingegneria del software.
Perché volevo cambiare carriera
Mi sono divertito a risolvere problemi tecnici, ma sapevo che volevo entrare nel mondo degli affari / startup ad un certo punto. Ho sempre mantenuto il pensiero di un MBA nella parte posteriore della mia mente, ma ogni volta che ho guardato il cartellino del prezzo delle migliori scuole, il mio interesse scemato.
Il 27 maggio 2017 mi sono ritrovato a cercare su Google gli MBA e in qualche modo mi sono imbattuto nell’ingegneria del software. Sembrava una misura perfetta.,
Gli ingegneri del software sono sempre più richiesti, gli stipendi sono ottimi ed è l’industria perfetta da cui entrare nel mondo delle startup senza bisogno di un sacco di capitale iniziale. Tutto ciò che serve è un computer, e le opportunità sono illimitate (tipo di).
In nessun’altra disciplina ingegneristica puoi semplicemente avere un’idea, iniziare a costruirla, mostrarla agli utenti e iterare con poco capitale e bassa barriera all’ingresso. Nell’ingegneria chimica, hai essenzialmente bisogno di un impianto funzionante o di un sacco di soldi per progettare un impianto se hai un’idea per un nuovo prodotto.,
Avevo sentito parlare di persone che abbandonavano il lavoro e frequentavano un bootcamp, ma più leggevo online, più mi rendevo conto che puoi imparare tutto da solo se sei impegnato e concentrato.
Si potrebbe sostenere che si sta perdendo sul networking e consigli di carriera forniti da un bootcamp. Questo può essere vero, ma sono stato fortunato in quanto vivevo nella Bay Area che mi ha permesso di partecipare a diversi meetup, così ho collegato in rete in quel modo.
Inoltre, il caso peggiore era che mi sarei reso conto che non potevo farlo da solo, e poi avrei lasciato il mio lavoro per partecipare a un bootcamp.,
L’obiettivo
Devi avere un obiettivo. Soprattutto se stai cercando di imparare mentre lavori a tempo pieno. È facile lasciare che il tuo apprendimento si trascini e continui se non hai alcuna pressione esterna che ti spinge. Quindi è necessario creare una pressione interna. Il tuo obiettivo dovrebbe essere semplice e quantitativo. Si dovrebbe fare abbastanza ricerca a venire con un obiettivo ragionevole., Il mio era il seguente:
Ottieni un lavoro di ingegneria del software entro un anno con lo stesso o migliore stipendio di quello che sto facendo in questo momento.
Il piano
Una volta che hai un obiettivo, hai bisogno di un piano per aiutarti ad arrivarci. Questo è dove si consumano come molte storie di successo come si può. Nessuno di loro corrisponderà la vostra situazione esatta, ma si può prendere qualche consiglio da ciascuno di essi., Ho sviluppato (e iterato su) il mio piano utilizzando risorse come il subreddit learnprogramming, il forum freeCodeCamp e Medium.
Il 27 maggio 2017 ho deciso che avrei fatto il tuffo nella codifica e mi sono tuffato in testa. Quel giorno ho deciso di iniziare a mettere in non più di 40 ore a settimana al mio lavoro, in modo che ho avuto il tempo di codice dopo il lavoro e nei fine settimana. Fortunatamente per te, ho fatto un buon lavoro nel documentare i miei progressi.,
il Mio piano, attraverso molte iterazioni, finì con l’aspetto simile a questo:
- Prendere un Intro a CS corso per ottenere una solida comprensione di base di core CS concetti
- Seguire freeCodeCamp fino a quando posso costruire a livello di portafoglio full stack di applicazioni web sul mio
- Refactoring per ripulire il codice, aggiungere il collaudo, focus su concetti avanzati
- Contribuire all’open source
- Prepararsi per i colloqui di lavoro
Per iniziare, il mio piano era semplice., A quel tempo, pensavo di seguire la Guida tecnica di Google, quindi ho iniziato con il loro corso introduttivo consigliato, Udacity CS101.
Mese 0-Udacity CS101, Harvard CS50
L’alto di prendere questa grande decisione mi ha dato una tonnellata di energia. Iniziavo a programmare non appena tornavo a casa dal lavoro e non mi fermavo finché non andavo a letto. E poi di nuovo per tutto il weekend. Udacity CS101 ha monitorato la percentuale di completamento, che è stata una grande motivazione per me. Ho registrato la mia percentuale di completamento ogni giorno dopo la codifica. Ho finito il primo 75% in 10 giorni., L’ultimo 25% era pesante nella ricorsione, ed è stato un po ‘ più difficile per me. Tutto sommato, mi ci sono voluti 20 giorni per finire Udacity CS101.
Mentre stavo prendendo Udacity CS101, avevo iniziato a leggere il subreddit learnprogramming abbastanza pesantemente. Ho letto che era importante per gli sviluppatori autodidatti che cercavano di fare un cambiamento di carriera per essere attivi online. Ho deciso di creare nuovi account Twitter, Reddit, Stack Overflow, Medium e Quora usando il mio nome completo, in modo da poter creare una presenza online.,
Inoltre, ho deciso di smettere di leggere i media che distraggono come Instagram, Facebook e subreddits non programmati. Vorrei solo controllare il mio telefono per le notizie e post relativi alla programmazione. Questo è stato fondamentale per assicurarmi che stavo scoprendo i migliori percorsi di apprendimento e le risorse di apprendimento. E ‘ stato a causa di questo che ho scoperto su Harvard CS50 su edX.
Inizialmente ero contento di fare solo un corso di introduzione, ma tutti sembravano raccomandare Harvard CS50, quindi ho deciso di immergermi in quello successivo., Studenti CS in altre scuole avevano preso questo corso e ha detto che hanno imparato di più in CS50 di un anno o due presso la loro università studiando CS. Il consenso generale era che il corso era difficile, ma ne valeva la pena. Entro la fine del mese 0, avevo completato le prime 5 lezioni e compiti a casa.
Mese 1 – Harvard CS50, Linux, 1st Meetup, freeCodeCamp
Ho completato CS50 circa a metà del mese. Non ho intenzione di commentare troppo la mia esperienza con CS50, perché ho scritto un post approfondito sulla mia esperienza qui.
TLDR: È un ottimo corso, lo consiglio vivamente., David Malan è un eccellente docente, e ci sono un sacco di risorse per aiutarvi a ottenere attraverso di essa. Si inizia in C, passare a Python, e poi finire con lo sviluppo web. È molto denso e c’è molto materiale, ma penso che ne valga la pena.
Dopo CS50, ho deciso di impostare il mio XPS 15 su Windows dual boot e Ubuntu. E ‘ stato un fine settimana frustrante. Ho incasinato le mie partizioni e quasi murato il mio portatile. Ero vicino a chucking il mio portatile e ottenere uno nuovo.
Mi sono lentamente svezzato da Windows e alla fine stavo usando solo Ubuntu., Volevo costringermi a mettermi a mio agio con la riga di comando che penso abbia funzionato in una certa misura, ma ho ancora molta strada da fare.
Ho iniziato 100 giorni di codice per assicurarmi di rimanere concentrato e codificato ogni giorno. È importante documentare i tuoi progressi. Se si stanno facendo progressi ogni giorno, non sembrerà molto, ma quando si guarda indietro di un mese o diversi mesi, vi renderete conto che avete effettivamente fatto un bel po ‘ di progressi che motiva ad andare avanti.
Sapevo che il networking mi avrebbe fatto o distrutto, quindi ho trovato il coraggio di andare al mio primo meetup di codifica., Non ero mai andato a nessun meetup per non parlare di un meetup di codifica. Ero così nervoso che dopo aver guidato lì, parcheggiato e camminando verso la porta, mi sono quasi girato e sono andato a casa.
Ha aiutato che è stato il primo meetup per il gruppo. Ho capito subito che non c’era motivo di essere nervoso. Nessuno si conosceva, nessuno era giudicante e tutti erano desiderosi di imparare. Questo è stato l’inizio di un meetup-baldoria. Ho finito per frequentare oltre 50 meetup in 9 mesi.
Sono contento di aver iniziato ad andare presto ai meetup., La maggior parte delle persone ha iniziato a partecipare solo meetup quando erano alla ricerca di un lavoro, ma a quel punto è quasi troppo tardi. Ci sono così tanti motivi per iniziare presto. Per citarne alcuni:
- Lo sviluppo di relazioni richiede molto tempo. Iniziare presto significa avere connessioni che possono garantire per te quando cerchi un lavoro più tardi
- Parlare di programmazione con estranei è un ottimo modo per prepararsi alle interviste
- Puoi imparare nuovi framework, strumenti e risorse di apprendimento da persone che sono davanti a te. Questo può influenzare il tuo futuro piano di apprendimento.,
C’era qualche incertezza in questo momento nel mio viaggio di codifica. Si trattava di quando avevo bisogno di decidere che tipo di sviluppatore di software volevo essere.
In definitiva, ho scelto lo sviluppo web perché sembrava che ci fosse una forte domanda e anche molte risorse online. Una volta che ho capito, avevo bisogno di capire cosa fare dopo. Alcune persone hanno raccomandato che in questa fase dovrei pensare alle app web che volevo creare e poi andare avanti. Alcune persone hanno raccomandato il progetto Odin o freeCodeCamp.,
Il ragazzo che gestiva il meetup settimanale a cui partecipavo conosceva Ruby e voleva fare progetti con Ruby. Questo è stato un grande motivo per cui ho preso la decisione di andare all in sul progetto Odin.
E poi due giorni dopo ho abbandonato quell’idea.
Questo è uno degli aspetti negativi del percorso autodidatta. Un minuto pensi di sapere quale strada dovresti prendere, ma poi il giorno dopo ti chiedi se è stata la mossa giusta.
Ho letto che Ruby stava cadendo in disgrazia, e l’ho dimostrato cercando lavori Ruby vs JavaScript, quindi ho finito per avviare freeCodeCamp., L’unica cosa che mi ha infastidito di freeCodeCamp è che sono venuti con le idee del progetto, in modo che ogni camper fa gli stessi progetti. Questo mi ha preoccupato in un primo momento perché volevo distinguermi per i reclutatori. Tuttavia, ho finito per amare freeCodeCamp, e ora lo consiglio vivamente. Per maggiori dettagli sulla mia esperienza e raccomandazioni per quanto riguarda freeCodeCamp, controllare il mio writeup qui.
Mese 2-YDKJS, freeCodeCamp Front-End, React
Ho iniziato a leggere che non conosci JavaScript, perché tutti lo hanno raccomandato per integrare freeCodeCamp., Ho dovuto rileggere diverse sezioni in quanto è piuttosto denso, ma è una risorsa perfetta per imparare l’ambito lessicale, le chiusure, le promesse e tutte le parti di JavaScript di cui si sente parlare e si desidera imparare ma non lo fanno mai perché sembrano difficili.
Ho finito la sezione front-end di freeCodeCamp. Il formato della lista di controllo e il tempo di completamento stimato mi hanno motivato a finire rapidamente. Ero anche prurito di passare alla sezione successiva e imparare Reagire. Tuttavia, questo significava anche che i miei progetti avevano uno stile minimo. Ho fatto tutto il necessario per soddisfare le storie degli utenti e nient’altro.,
Col senno di poi, forse avrei dovuto concentrarmi sul rendere i progetti più attraenti. Forse, questo mi avrebbe aiutato a imparare CSS più profondamente.
Il passo successivo è stato imparare React, ed ero abbastanza pompato.
Avevo sentito tanto su di esso, ed ero pronto ad adattarsi con i bambini cool. Tuttavia, ero un po ‘ titubante dati i problemi di licenza al momento. Sono davvero contento che non sia più un problema. Imparare a reagire è stato difficile per me. Non ero a conoscenza di alcun buon tutorial allora (ma sembra che ce ne siano un sacco ora).,
Ho provato a leggere i documenti e a seguire il tutorial Tic-Tac-Toe di Facebook, ma non ho capito tutto. Mi è stato detto se non funzionava per me, quindi significava che non capivo abbastanza JavaScript. Quindi sono tornato a leggere You Don’t Know JavaScript, ma ancora una volta era troppo denso per me.
Mese 3-freeCodeCamp React, CodeClub, Avvio del back-end di freeCodeCamp
Alla fine, ho deciso di farmi strada attraverso i progetti freeCodeCamp React per vedere come è andata. Quel codice era brutto, ma mi ha aiutato a capire reagire un po ‘ meglio.,
Quel meetup che frequentavo settimanalmente decise che avrebbero creato progetti con JavaScript full stack invece di Ruby, e decisero che il primo progetto sarebbe stato quello di costruire un sito web per il gruppo meetup, CodeClub.Sociale.
Ho sviluppato schede utilizzando React e Meetup API permettendo all’utente di iscriversi per i prossimi tre meetup dal nostro sito web. È stato un po ‘ difficile per me fare una breve pausa da freeCodeCamp per farlo, ma è stata un’opportunità che non potevo lasciarmi sfuggire. Ero felice di lavorare a un progetto con un piccolo gruppo di persone., Mi ha anche aiutato a imparare Git e Github.
Prima che il mese finisse, ho iniziato a lavorare sulla sezione back-end di freeCodeCamp.
Mese 4 – Finito freeCodeCamp Back End, Yeggle
Ho lavorato attraverso tutti i progetti API in freeCodeCamp, ma ho iniziato a deviare da freeCodeCamp al progetto Image Search Abstraction Layer.
Avevo voglia di creare applicazioni Web full stack, quindi non appena ho visto il titolo di questo progetto, ho avuto un’idea per il mio progetto., Creerei un’app node che memorizzerebbe URL imgur casuali in un database e quindi creerebbe un front-end che produrrebbe un numero specificato dall’utente di quelle immagini casuali. Quello che tutti dicono è vero: si lavora di più e avere più successo quando si lavora su un progetto che era la tua idea.
Una volta che l’ho fatto funzionare, ero molto orgoglioso di me stesso. Era brutto e goffo, ma ha funzionato.
Mentre lavoravo attraverso freeCodeCamp, stavo imparando quali progetti sarebbero stati nelle mie capacità., Stavo correndo regolarmente al momento, così vorrei venire con idee sulle mie piste e scriverle quando sono tornato a casa. In questo modo avrei una lista di idee di progetto quando ero pronto.
Alla fine mi sono sentito pronto per iniziare a creare le mie app Web full-stack utili e lucidate da condividere con gli utenti e inserire il mio portfolio. Ero così pronto per iniziare.
Quando cercavo un nuovo ristorante, mi sono sempre trovato ad aprire Yelp per controllare le recensioni e poi ad aprire Maps per controllare le loro recensioni. Cosa succede se ho fatto un app che ha confrontato entrambi fianco a fianco?
Così ho fatto Yeggle., Ho usato Node / Express / React insieme alle API di Google Maps e Yelp. C’erano un paio di ostacoli che non pensavo sarei stato in grado di superare, ma alla fine ho finito ed ero molto orgoglioso della mia app. Poi l’ho postato su Reddit, e a nessuno importava. E ‘stato un po’ un peccato, ma non mi sono lasciato abbattere.
Month 5-StockIT
Non ho ottenuto abbastanza tanto fatto questo mese, come ho iniziato con una vacanza di due settimane in Giappone e Thailandia!
Ma ho iniziato e completato il mio prossimo progetto., Continuavo a leggere su quanto fosse difficile ottenere un lavoro come sviluppatore autodidatta, quindi ho pensato che dovevo fare qualcosa di unico. Mi sono ricordato di un gioco in cui un grafico azionario Dow Jones ha iniziato a fare tendenza, e hai avuto un’opportunità di acquistare e un’opportunità di vendere, e l’obiettivo era battere il mercato. Lo scopo del gioco era quello di mostrare quanto fosse difficile battere il mercato.
La mia idea era di creare un gioco simile a quello, ma invece del mercato, avresti giocato contro un algoritmo di apprendimento automatico. Così ho creato StockIT.,
Ho fatto un video tutorial su Panda e Scikit Learn che copriva più tecniche di apprendimento automatico. Originariamente volevo fare alcune tecniche di apprendimento profondo fresco, ma mi sono reso conto che ha preso enormi set di dati e più tempo di quanto volevo spendere.
Invece, mi sono attaccato a un semplice modello di regressione lineare. Ho pensato che sarebbe stata la parte difficile, ma non lo era. Ottenere D3 a jive con React è stata la parte difficile. Entrambe le librerie volevano controllare il DOM. Ci sono state alcune altre biblioteche che hanno contribuito a unire i due, ma ho sentito che erano troppo gonfio., Ho finito per usare D3 per generare gli SVG e Reagire per gestire il DOM che ha funzionato abbastanza bene per me.
Questa volta quando l’ho condiviso con Reddit, tutti l’hanno adorato!
Risulta, proprio come VCs, redditors sono tutti su quel machine learning. Tutto l’amore da Reddit è stata una grande spinta di fiducia. La gente stava giocando il mio gioco e godendo!
Mese 6-jobSort (), Job Hunt Prep
Dopo StockIT, ho rotolato a destra nel mio prossimo progetto personale. Volevo creare una scheda di lavoro che aggregasse i più piccoli siti di annunci di lavoro incentrati sulla tecnologia come Stack Overflow, Github e Hacker News., Per aggiungere il mio spin unico ad esso, ho deciso di farlo ordinare in base alle tecnologie che l’utente voleva in un lavoro e quanto male volevano ciascuno di essi.
Ad esempio, diciamo che stavo cercando un lavoro che cercasse qualcuno che conoscesse JavaScript, React e/o Python, e volevo davvero lavorare con JavaScript e React ma non mi importava così tanto di Python. Quindi potrei dare a JavaScript un 3, reagire un 3 e forse Python un 1. Gli elenchi sarebbero quindi ordinare di conseguenza.,
Ho incontrato vari ostacoli con questo progetto e ho dovuto cambiare rotta un paio di volte, ma ho finito con un prodotto di cui ero felice. Il mio stack tecnologico finale era React / Node/Express / MySQL. Ho pubblicato il progetto sul subreddit cscareerquestions e ho ottenuto 650 visualizzazioni prima che venisse rimosso perché non consentono progetti personali.
Il prodotto” finale ” è qui, e se sei interessato a saperne di più sulle mie lotte e refactors, controlla il mio post qui.
A causa dei miei problemi, jobSort() ha preso una parte decente del mese., Ho finito per ottenere il caffè con un amico che avevo incontrato al mio primo meetup, e mi ha consigliato di iniziare a fare domanda per i lavori ora. Ho letto dappertutto che tutti dicono che hanno aspettato troppo a lungo per fare domanda. Inoltre, ogni volta che ho visto un post che chiedeva quando applicare, il commento in alto era sempre ” ora.”
Nella mia testa, stavo andando a lavorare la mia strada attraverso il mio piano strutturato per costruire il mio portafoglio con progetti personali, e poi lavorare su contributi open source, e poi prepararsi per le interviste, e, infine, iniziare ad applicare ai lavori. Questo amico mi ha convinto a abbandonare quel piano e iniziare ad applicare., Quindi questo mese ho fatto un portfolio e un curriculum. Il mese successivo vorrei iniziare ad applicare.
Mese 7-Test, Job Hunting
Questo mese mi sono concentrato sul ritocco dei miei progetti e sull’applicazione ai lavori. Volevo anche imparare test e Redux.
Ho aggiunto flexbox a CodeClub.Sociale per renderlo reattivo. Ho migliorato la UX mobile su jobSort (). Ho aggiunto test a jobSort () con mocha/chai/enzyme che era difficile da configurare, facile da iniziare e quindi difficile da ottenere una copertura del 100%.
Entro la fine del mese, avevo applicato a 63 posti di lavoro. Ho visto questo come un’autovalutazione., Il mio portfolio / curriculum è stato abbastanza buono? In tal caso, su cosa dovevo lavorare per prepararmi alle interviste? In un primo momento, ho applicato con Hacker News: Chi sta assumendo, e in effetti.
Su Hacker News, ho usato jobSort() per determinare quali annunci richiedere. In effetti, ho provato le aziende non software per vedere se potevo anche ottenere una chiamata o un colloquio ovunque.
All’inizio, stavo applicando rapidamente e non personalizzando il mio curriculum/lettera di presentazione. Poi, ho deciso di personalizzare la mia lettera di presentazione e riprendere, e quindi provare a inviare una e-mail a qualcuno dalla società., Questo metodo era chiaramente migliore dell’approccio shotgun.
ho ricevuto cinque chiamate al mese, due per il reclutamento di aziende e società di software che ha incluso:
- un contraenti DevOps/test ruolo in una società dotcom
- una serie B di cibo società di analisi, e
- una abbastanza grande e di successo di avvio che è stato recentemente acquistato da una società importante
ho superato la HR schermo in due di questi, ma nessuno di loro ha dato un intervista in loco. Ero abbastanza felice con le tre chiamate, e ho imparato molto da loro.,
Tutti hanno menzionato online che gli sviluppatori junior non dovrebbero sapere molto fin dall’inizio, hanno solo bisogno di essere appassionati ed entusiasti di imparare. Così ho pensato, facile. Sono appassionato ed entusiasta di imparare. Quello che ho imparato da queste chiamate, tuttavia, era che nessuno stava cercando uno sviluppatore junior. Si aspettano che tu sappia cosa stai facendo fin dal primo giorno.,
Queste chiamate mi ha insegnato che dovevo
- essere abbastanza buono per aggiungere valore dal primo giorno
- essere sicuri di essere in grado di convincerli che posso aggiungere valore dal primo giorno
Mese 8 – Turno di Notte, Redux, Open Source, In loco Intervista
ho iniziato questo mese a lavorare il turno di notte, per 40 giorni tratto al mio lavoro a tempo pieno – 6 giorni alla settimana, 12 ore al giorno, alle 5 del pomeriggio alle 5 del mattino. Oh.
Sapevo che non sarei stato in grado di ottenere tanto fatto questo mese, ma avevo un obiettivo e volevo incontrarlo, quindi non potevo prendermi un mese di pausa.,
Ho rifattorizzato jobSort per usare Redux che sorprendentemente non era così difficile come pensavo. Ho ascoltato un sacco di podcast su di esso e letto blogposts su di esso, e non ha mai avuto senso per me fino a quando ho iniziato ad usarlo.
Mi piace molto il flusso di dati con Redux. È interessante vedere ora le persone lamentarsi di Redux. Non penso di essere qualificato per esprimere con forza le mie opinioni, ma mi piace il modello del riduttore.
Questo doveva essere il mese dell’open source per me., Stavo per dare il mio primo contributo open source, e sarebbe un grande contributo a una libreria fantastica. Stavo per contribuire a reagire!
Tutti hanno detto che era una base di codice difficile da leggere, per non parlare di contribuire. Ma avevo bisogno di distinguermi, avevo bisogno di essere unico. Sapevo che il mio contributo non sarebbe stato significativo, ma volevo comunque farlo.
Vorrei iniziare leggendo i documenti fino in fondo e poi versando attraverso la base di codice. Guarda ogni numero, ogni PR. Leggere i documenti React per intero è stato un grande esercizio, e sono contento di averlo fatto., Ma ho subito capito che il problema di contribuire a Reagire è che non ci sono molti “buoni primi problemi” e vengono strappati rapidamente.
In uno dei meetup a cui ho partecipato, Anthony Ng mi ha raccomandato di provare Downshift, una libreria di completamento automatico di Kent C. Dodds. Questo è stato un gamechanger. Era proprio nella mia timoneria. La giusta difficoltà, la giusta quantità di problemi con cui aiutare, non troppi collaboratori, manutentore super utile, codice pulito e ben testato. Oltre a tutto ciò, è stata una soluzione perfetta per alcuni problemi che stavo avendo con la mia applicazione jobSort ().,
Circa a metà mese, ho ricevuto un’e-mail da una delle aziende a cui ho fatto domanda nel mese precedente. Hanno impostato una schermata iniziale del telefono, e poi uno schermo tecnico del telefono. Le tecnologie che stavano cercando erano esattamente quello che avevo imparato-React, Redux, e D3. Per lo più ho appena parlato dei miei progetti e perché ho preso certe decisioni. Dopo questo, mi hanno chiesto di venire sul posto per un colloquio. La mia prima intervista in loco!,
Non mi ero preparato per le interviste, quindi ci sono entrato con l’aspettativa che non avrei ottenuto il lavoro, ma avrei acquisito una preziosa esperienza di intervista. Ero anche in esecuzione su tre ore di sonno da quando stavo ancora lavorando il turno di notte che non ha aiutato. Fortunatamente, la parte tecnica non era la lavagna, solo una sessione di programmazione di una coppia di un’ora. E ‘ stata una sfida abbastanza semplice, ma ero molto nervoso.
All’inizio, ero preoccupato di assicurarmi di sapere tutto senza guardarlo., Quando ho capito che non avrei finito la sfida, mi sono reso conto che dovevo smettere di preoccuparmi di ciò che l’intervistatore pensava di me e solo di google/stack overflow per trovare risposte. Non finii per finire, e pensavo di aver fallito miseramente.
Poiché pensavo di aver fallito la programmazione della coppia, mi sono sentito rilassato per il resto dell’intervista. Alla fine, ho lasciato l’intervista con il mento in su. Nel peggiore dei casi ho avuto una preziosa esperienza di intervista, e nel migliore dei casi ho ricevuto la mia prima offerta di lavoro.,
Mese 9-Offerta di lavoro
Ho finito per ricevere la mia prima offerta di lavoro 9 mesi e 7 giorni dopo quel primo giorno in cui ho deciso che stavo per tuffarmi testa prima nella programmazione con l’intento di cambiare carriera. Mi sentivo fiducioso dato che ho ricevuto un’offerta dopo il mio primo colloquio in loco, ma allo stesso tempo, se non ho accettato l’offerta, e se questa fosse l’unica offerta che avrei ricevuto per diversi mesi? Ho finito per accettare l’offerta e sono felice della mia decisione. Volevo essere pagato al codice!,
Consiglio
Fino a questo punto, ho condiviso per lo più la mia storia con alcuni consigli cosparsi. È probabile che se stai leggendo questo, stai pensando di cambiare carriera o sei nel mezzo di imparare a codificare con l’intento di cambiare carriera. Spero che il consiglio qui sotto vi aiuterà a sviluppare un piano o bastone con il vostro piano attuale e raggiungere il tuo obiettivo.
- Scopri cosa ti motiva e usalo a tuo vantaggio. Per me, erano liste di controllo, che documentano i miei progressi e interagiscono con varie comunità di programmazione., Se non sei motivato a raggiungere il tuo obiettivo, allora nient’altro conta perché non finirai.
- Fare obiettivi e incontrarli. Direi che dovresti avere obiettivi mensili e forse anche obiettivi giornalieri. Obiettivi mensili per assicurarsi che siete sulla buona strada per soddisfare il vostro obiettivo principale, e gli obiettivi quotidiani per assicurarsi che effettivamente fare progressi quotidiani. Una strategia che ha funzionato per me è stato quello di rendere i miei obiettivi quotidiani la sera prima. In questo modo, non puoi fare un lavoro improduttivo tutto il giorno e sentirti come se avessi fatto progressi quando davvero non l’hai fatto., Ti costringe a confrontare le tue realizzazioni quotidiane con i tuoi obiettivi quotidiani.
- Vai a meetup molto prima di pensare di essere pronto. Andare a meetup può sentire spaventoso, ma come ho detto sopra. Ma, in generale, tutti sono gentili e disposti ad aiutare. Potresti trovare persone che non sono interessate a parlare con te, ma sono la minoranza e nessuno sarà giudicante. Inoltre, tutti amano dare consigli (come sto facendo in questo momento).
- Contribuisci all’open source prima di pensare di essere pronto., Quando inizi a programmare per la prima volta, Github sembra questo posto spaventoso in cui non vuoi mai andare. In realtà è molto accogliente per i principianti ed è un ottimo posto per vedere un buon codice e ottenere il proprio codice rivisto. Se non sei ancora convinto, controlla il mio post, Perché dovresti contribuire all’open source in questo momento.
- Iniziare ad applicare modo prima di pensare di essere pronti. Questo è stato difficile per me perché pensavo di essere diverso. Pensavo di non aver bisogno di testare il mercato per avere un’idea di cosa lavorare. Ho pensato che avrei saputo quando sarei stato pronto ad applicare. Te lo sto dicendo adesso., Non si sa quando applicare. Quindi tanto vale iniziare ora. Non dovresti impazzire e applicare a 300 aziende prima di imparare i loop. Ma dovresti sapere che il modo migliore per sapere cosa devi imparare è applicando e testando il mercato.
Ora torna là fuori e codice!
Lascia un commento