Hvordan jeg landede et softwareingeniørjob efter et års hårdt arbejde

Mange af os tror, ​​at vejen til at blive softwareingeniør kræver mange års uddannelse og en ekstremt høj IQ. Mens softwareteknik er en af ​​de lyseste erhverv, skal du ikke lade det afskrække dig fra at lære at kode og blive softwareingeniør.

Jeg troede, det var for sent for mig at overgå til datalogi, men uanset hvor du er i livet, er det aldrig for sent at lære og forfølge din lidenskab.

Min ikke-traditionelle baggrund

Jeg deltog ikke i et toprangeret universitet og har heller ikke en teknisk baggrund. Jeg havde ikke en lidenskab for at løse gåder som barn og heller ikke konkurrere i matematiske konkurrencer. Jeg kom faktisk væk fra fejlfinding af computere som barn efter de mange mislykkede forsøg på at få wifi til at arbejde.

Jeg dimitterede med en Business Administration grad og arbejdede to finansjobs, der ikke udfordrede mig. De var lette, enkle job, men det blev kedeligt og kedeligt virkelig hurtigt. Jeg følte ikke, at det arbejde, jeg udførte, var at udføre og blev afvist hver gang jeg bad om flere analytiske opgaver. Jeg besluttede derefter at forbedre mine færdigheder og skabe mine egne muligheder.

For lidt over et år siden hentede jeg SQL, da det er en populær færdighed inden for finansanalyse. Efter at have lært syntaksen virkede kodning ikke længere så skræmmende. Det var som at lære et nyt sprog. Når du er i stand til at læse og skrive, kan du forstå ting, der engang så helt fremmed ud. Jeg nød virkelig at lære et nyt sprog og være teknisk i mit arbejde, så jeg vidste, at dette var noget, jeg var nødt til at forfølge.

Valg af den rigtige vej

Jeg overvejede de forskellige ruter for at forfølge en karriere inden for udvikling. Jeg ville ikke bruge yderligere to år i undergrad, og jeg ville ikke lære alt på egen hånd. Jeg havde hørt succeshistorier om mennesker, der deltog i kodende bootcamps og var i stand til at overgå til en software engineering-rolle. Efter at have undersøgt meget, besluttede jeg, at dette var den bedste mulighed for mig og ansøgte om den næste Hack Reactor-kohorte.

Jeg havde brug for at bestå et teknisk interview for at blive optaget i programmet, så jeg brugte al min tid enten efter arbejde eller i weekenden på at lære så meget jeg kunne. Det var svært at få tid til at lære noget helt nyt efter at være drænet fra et fuldtidsjob, men min motivation til at nå mit mål holdt mig i gang.

Jeg bombede fuldstændigt mit første interview, men jeg lærte af mine fejl og bestilte endnu et interview dagen for deadline. Jeg sørgede for, at jeg denne gang var forberedt og kommunikativ med hele min tankeproces. Den næste dag modtog jeg mit godkendelsesbrev, og min rejse til at blive softwareingeniør var officielt begyndt.

Skær dit håndværk

Den campus, jeg besluttede at deltage i, var i San Francisco, et af de største tech-knudepunkter i verden. At være i SoCal hele mit liv var det bestemt en stor ændring, og det var ikke let at sige farvel. Jeg pakket alle mine ting sammen og flyttede ind i en delt lejlighed i SF.

I løbet af de første par dage i mit program lærte jeg at kende mine klassekammerater. Et flertal af dem kom fra højt respekterede universiteter og havde STEM-grader. Mange af dem havde forudgående kendskab til andre scriptingsprog og erfaring med objektorienteret programmering. Jeg vidste, at jeg havde meget at indhente, hvis jeg ikke ønskede at komme bagud.

De kalder det en kodende bootcamp af en grund. Undervisningen var planlagt fra 9 til 20, seks dage om ugen, men jeg blev normalt indtil 22 eller midnat. Jeg levede stort set, åndede og sov kode.

De første par uger kæmpede jeg virkelig. Jeg ville klemme så meget information som jeg kunne, mens jeg sørgede for, at jeg stadig bevarede de foregående dags oplysninger og gentog denne proces igen den næste dag. Der var øjeblikke, hvor jeg tvivlede på mig selv og ikke troede, at jeg havde det, der kræves for at være programmør. Jeg ofrede så meget for at være der, og mine venner og familie regnede alle med, at jeg blev stærk. Jeg vidste, at dette var mit eneste skud, så jeg vedvarede og klarede stormen.

Dage og uger begyndte at flyve forbi, og jeg begyndte langsomt at komme ind i strømmen. Jeg begyndte at lære “hvordan man lærer” og være afhængig af mine egne færdigheder for at finde ud af de problemer, jeg stod overfor. Google er enhver udviklers bedste ven, og det er meget sandsynligt, at en anden er stødt på den samme fejl, som du er stødt på.

Jeg arbejdede på sprints hver anden dag, der dækkede JavaScript-grundlæggende, frontend-rammer, servere, databaser, implementering og meget mere. Jeg gik bare med bevægelserne i de første par uger, men da jeg endelig oprettede en hel full stack-applikation, klikkede det hele. Jeg forstod endelig formålet med specifikke teknologier, jeg brugte, og alt gav mening.

Lad os bygge noget

Når grundlaget var sat, skiftede mit programs læseplan mod byggeprojekter. Jeg ville arbejde på capstone-projekter med hold, der understreger enten frontend eller backend. De siger, at du kommer ud af det, du har lagt i, så jeg sørgede for at vise mit absolut bedste arbejde i disse projekter. Ikke kun skulle det fungere, men koden skulle være ren og læsbar, hvis potentielle arbejdsgivere gennemgik mine git-arkiver.

Det sidste capstone-projekt blev kaldt MVP, også kendt som Minimal Viable Product. Vi havde dybest set 72 timer på at oprette alt, hvad vi ønskede, så længe det var en applikation med fuld stak. Den begrænsede tid var en udfordring, og jeg var nødt til at sikre, at jeg var i stand til at styre min tid effektivt. Jeg kunne ikke være for ambitiøs med mit projekt, men jeg ville også have, at det skulle være noget, jeg ville være stolt af.

Min første idé var at opbygge en decentral app, der ville bruge Ethereum blockchain. Det lød imponerende for arbejdsgivere, men jeg var ikke bekendt med Solidity-sproget og var ikke sikker på, om jeg ville være i stand til at fuldføre hele dapp i tide. En anden idé, jeg ville joke om, var en boba-vurdering-app til alle de nærliggende bobabutikker, som mine klassekammerater og jeg ville besøge.

Da det var tid til at beslutte, huskede jeg, at jeg hentede kodning, fordi det var sjovt for mig. Jeg følte, at jeg ville lægge 110% i noget, som jeg ville nyde, snarere end noget, jeg konstant ville stresse med. Jeg endte med at vælge boba-vurderingsappen og elskede hvert sekund af den.

Når jeg først havde fået den grundlæggende funktionalitet, ville jeg fortsætte med at implementere yderligere funktioner til den. Det blev til sidst et lidenskabsprojekt og vil altid være et mindeværdigt projekt, som jeg er stolt af. Gør ikke noget, fordi det kan se imponerende ud for andre, gør det, fordi du virkelig nyder det.

I slutningen af ​​den 13. uge ændrede hele min tankegang fra da jeg startede mit program. Jeg følte mig mere selvsikker som udvikler og stolt af alt, hvad jeg opnåede. Jeg lærte så mange nye teknologier, der ville have taget mig år at lære på egen hånd. Jeg er blevet mere autonom og stoler på mine egne færdigheder til at løse problemer. Jeg var endelig parat til at springe ind i min jobsøgning og kunne ikke vente med at starte.

The Grind

Før mit program sluttede, vidste jeg, at jeg måtte slå jorden i gang. Jeg havde forberedt mig i flere måneder, og nu var det min chance for at vise arbejdsgivere, hvad jeg havde. Jeg kendte hele MVC'en, og hvordan jeg byggede den fulde stak, men da jeg havde mock-interviews, blev jeg så nervøs og helt blank ud. På det tidspunkt ville det være en nedadgående spiral, og hele min tankeproces ville afspore. Hvordan skulle jeg bestå et faktisk teknisk interview, når jeg ikke engang kunne håndtere mock-dem?

Jeg fordoblede mig ved at studere datastrukturer og algoritmer, mens jeg slibede Leetcode-spørgsmål. Jeg var nødt til at sørge for, at jeg ikke huskede specifikke problemer, men forstod problemløsningsprocessen for at tackle ethvert spørgsmål. Når jeg var i stand til at komme med en grundlæggende løsning på et problem (også kendt som brute force), vidste jeg, at interviewere ville være på udkig efter en optimal løsning. De vil vide, om du kan være effektiv med dine algoritmer med hensyn til både tid og rum.

Når jeg først havde bygget et bedre problemløsningsgrundlag, var det tid for mig at møde min frygt for interview. Jeg hørte om konceptet med chokterapi, grundlæggende over for din frygt front-on. På samme måde som Batman overvandt sin frygt for flagermus ved at omgive sig i en hule fuld af dem, måtte jeg øve mig i at interviewe mere.

Jeg brugte et websted kaldet Pramp, der parrede dig med en anden person, og du skiftede til at interviewe hinanden. Jeg skaffede modet og planlagde mit første interview. Jeg ville tale min tankeproces ud, og løsningen kom naturligvis til mig. Jeg kunne langsomt mærke min nervøsitet forsvinde, og jeg begyndte at nyde at interviewe.

I slutningen af ​​mock-interviewet bad jeg om feedback og lærte, hvad jeg kunne forbedre. Efter det hele var overstået, følte jeg mig godt! Interview var ikke så skræmmende, og du kan virkelig drage fordel af processen. Derefter øvede jeg hver dag, så jeg ville være forberedt på et faktisk interview.

”Succes er ikke endelig, fiasko er ikke fatalt: det er modet til at fortsætte, der tæller.” - Winston Churchill

Alt et talespil

Mens jeg forberedte mig på interviews, begyndte jeg også at søge job, da ansøgningsprocessen ville tage noget tid, især for større virksomheder, der kunne tage uger eller måneder.

Jeg bemærkede, at det var en fælles tendens for nye udviklere at udelukkende fokusere på forberedelse inden ansøgning, men det kunne være en dyr fejltagelse. Der er altid noget at studere, når det kommer til software engineering, så du ikke kan forberede dig på alt. Jeg er blevet spurgt om alle mulige emner som datastrukturer og algoritmer, systemdesign, frontend design, test og domæne viden. Når du har studeret “alt”, kan det tage måneder at få dit første interview.

En strategi er at interviewe med virksomheder, som du ved ikke er dit første valg. På denne måde vil du være mere forberedt og vide, hvad du skal gøre korrekt, når du får en chance for at interviewe for dine drømmefirmaer.

Jeg vidste, at det ikke ville garantere mig et job at deltage i et Bootcamp. Jeg konkurrerede med dem med datalogi og tidligere brancheerfaring. At være ansøger uden en teknisk grad eller relevant erhvervserfaring, gik jeg ind i jobsøgningen med en ulempe.

Jeg søgte enhver ingeniør- eller udviklerrolle, jeg stødte på, og nåede ud til alle forbindelser hos potentielle virksomheder, jeg gerne ville arbejde hos. Jeg sendte ud over 300 kolde ansøgninger og modtog en utrolig lav svarprocent. Jeg blev filtreret ud og modtaget utallige automatiske afvisnings-e-mails.

Hvad jeg fandt ud af at være den mest effektive metode til at komme i kontakt med en rekrutterer var gennem henvisninger. Henvisninger giver fuld mening fra arbejdsgivers synspunkt. Hvorfor stole på en komplet fremmed, som du ikke har mødt, når du har en kandidat, der står inde for, at en nuværende medarbejder, som du kan stole på? En ting alle kan gøre er at udvide deres netværk ved at gå til møder og arrangementer. LinkedIn er et godt værktøj til at finde gensidige forbindelser hos virksomheder; udnytte det fuldt ud.

Der vil være mange forhindringer i din første jobsøgning. Jeg har dræbt det flere gange på tekniske skærme og modtaget god feedback fra intervieweren, kun for at få en afvisnings-e-mail fra rekruttereren senere. Du skal bare være vedholdende, lære af tidligere interviews og fortsætte. Hvis du bliver ved med at gøre alt rigtigt, er du nødt til i sidste ende at finde den rigtige mulighed og give et tilbud.

Ærligt hårdt arbejde betaler sig

I slutningen af ​​min tre måneders jobsøgning blev jeg inviteret til fem on-site interviews og modtog tre tilbud. Efter meget eftertanke er jeg glad for at meddele, at jeg vil tilslutte mig Zume Inc. i San Francisco Bay Area. Jeg elsker missionen og alle jeg har mødt. Alt mit hårde arbejde og lange nætter betalte sig endelig, og jeg kunne ikke være lykkeligere med, hvor jeg er i mit liv lige nu. Jeg er så taknemmelig for alle, der har støttet mig på denne rejse. Jeg ved, at jeg vil blive udfordret hver dag og få mere indflydelse på mit arbejde.

Hvad jeg elsker ved software engineering er, at det ikke betyder noget, hvilken baggrund du har. Alle kan lære at kode og finpudse deres færdigheder. Hvis du kommer fra en ikke-traditionel sti som mig, kan det tage lidt mere arbejde end resten, men det vil alle betale sig. Livet er for kort til at nøjes med mindre, så gør noget, du elsker.

Ønsker dig held og lykke med dine bestræbelser - Andrew

Du er velkommen til at oprette forbindelse og følge mig på LinkedIn, da jeg hjælper med at inspirere dem, der ønsker at bryde ind i den tekniske industri: www.linkedin.com/in/andrew-ngo/