Hvordan jeg skiftede karriere for at blive softwareingeniør om 11 måneder (og hvordan du også kan)

Før jeg besluttede at flytte til software engineering, var jeg marketingmedarbejder i den tekniske verden. Jeg prøvede en hel del typer markedsføring - begivenheder, PR, søgemaskineoptimering, indholdsskabelse, digital reklame, e-mailmarkedsføring - men fandt aldrig en perfekt pasform.

Mit sidste firma var en personlig økonomistart med solid brandgenkendelse. Deres motto var indhold er konge . I modsætning til de fleste teknologivirksomheder var der masser af redaktører og journalister og kun en håndfuld softwareingeniører.

Et år efter jeg startede, besluttede virksomheden at ryste sin strategi op. Indholdet var ikke længere nok. En overflod af nye startups til personlig økonomi lancerede mobilapps det år og lovede at hjælpe forbrugerne med at spore deres økonomi, lære at budgettere, eliminere gæld til studielån og konsolidere kreditkortbetalinger. Jeg ønskede ikke at blive efterladt, men min virksomhed begyndte at tynde den redaktionelle side af virksomheden, mens den hurtigt ansat produktfolk, ingeniører og designere.

En indre følelse fik mig til at indse, at det var tid til at skifte gear. ⚙️

I denne artikel gennemgår jeg, hvordan jeg skiftede karriere for at blive softwareingeniør fra start til slut. Så lad os komme i gang.

Trin 1: Undersøg fordybende programmer

Jeg begyndte at undersøge fordybende klasser i software engineering. Jeg kunne godt lide, at App Academy og Hack Reactor begge tilbød gratis introduktionskurser for at hjælpe potentielle studerende med at forberede sig til deres optagelsesprøver. Jeg hørte også positive ting om Hackbright og har siden mødt en række talentfulde kvinder, der deltog i deres program.

I sidste ende vandt Hack Reactor mig, fordi det tilbød et strengt en-måneders Structured Study Program (SSP) kursus. Programmet blev designet til at omdanne deltagere fra begyndere til Hack Reactor Immersive klar.

Læreplanen virkede praktisk. Det hjalp, at jeg kendte tre bekendte, der med succes havde fået software-ingeniørroller efter at have afsluttet programmet.

Trin 2: Kodning af nedsænkning

Når jeg først havde indsnævret mit fokus til Hack Reactor, var jeg nødt til at forberede mig på SSP og optagelsesprøven. For at gøre det gennemførte jeg Udacity Intro til JavaScript-kurset sammen med et par andre online-kurser i JavaScript.

Mellem SSP og Hack Reactors fordybende program tilbragte jeg fire måneder med kodning op til 6 dage om ugen , 12+ timer om dagen . Jeg skærpede mine problemløsningskompetencer, forbedrede min forståelse af JavaScript, lærte front-end og back-end-rammer og øvede mig i at arbejde sammen med andre ingeniører.

Trin 3: Studer for jobsøgning med online kurser

Så intens som min oplevelse var på Hack Reactor, det var kun begyndelsen. Jeg havde en voksende liste over koncepter, som jeg kæmpede med under programmet. Øverst på listen var algoritmer og datastrukturer.

Software-fordybende programmer er gode til at lære dig de færdigheder, du har brug for på jobbet som ingeniør. Uddannelse til jobinterviews er lidt af et andet udyr, og beherskelse af algoritmer og datastrukturer er ofte nøglen til at blive tilbudt en on-site. Jeg prøvede at ansøge til virksomheder, der afstår fra traditionel white-boarding, men de er få og langt imellem.

Cracking the Coding Interview ses som den næstsidste ressource til læringsalgoritmer. Det var dog ikke den ressource, jeg personligt fandt mest nyttig. I stedet for er dette de ressourcer, jeg brugte til at forberede mig til tekniske interviews og onsites:

  • CodePath - et 8-ugers kursus, der dækker alle de hyppigst stillede interviewspørgsmål fra datastrukturer til systemdesign
  • InterviewCake - en guide, der forklarer de mest almindelige mønstre, der findes i algoritmisk tænkning
  • LeetCode - endeløse øvelsesproblemer
  • Grokking af systemdesigninterviewet - forklaringer på kompromiser, der er involveret i almindelige systemdesignspørgsmål, såsom hvordan man designer Instagram

Trin 4: Få råd fra erfarne ingeniører

Jeg spurgte masser af senioringeniører inden for mit netværk om råd om jobsøgningen. Alle var elskværdige med deres tid og glade for at se nye typer talent komme ind i branchen. Her var nogle af de mest nyttige råd:

  • Få en fod i døren: Hver ingeniør skal starte et sted. Mange ingeniører landede hos mærkefirmaer efter at have arbejdet med små navn. Bare rolig, hvis du ikke finder en perfekt pasform med det samme.
  • Omskriv dit cv: Hvis du er ny ingeniør, er dit cv sandsynligvis skrevet på en måde, der får dig til at se rigtig junior ud. Fokuser på kompromiser og tekniske beslutninger, du har truffet, ikke hvad du implementerede.
  • Se efter muligheder for mentorskab: Sig efter et hold med mere end 30 ingeniører, fordi dette lærer dig den bedste kodningspraksis og giver mulighed for mentorskab. Ellers skal du vide, hvem din manager vil være, og sørg for, at de er i stand til at hjælpe dig med at træffe tekniske beslutninger (unge ingeniørledere kastes ofte ind i rollen med begrænsede personer eller ledelseserfaring).
  • Arbejde med personlige projekter: Dette vil demonstrere din entusiasme for ingeniørarbejde under jobsøgningen og give dig noget unikt at tale om i interviews.

Trin 5: Ignorer lidet nyttigt råd fra rekrutterere og andre

Min jobsøgning fandt sted i sommeren 2018. Jeg lærte at indstille mange velmenende, men lidet nyttige forslag. Disse kom fra rekrutterere, medingeniører og bekymrede venner. Her er nogle af dem:

  • Arbejdsmarkedet er bremset for ingeniører på entry level i løbet af de sidste par år. Mellemstore virksomheder ansætter kun til seniorstillinger og har sat en ansættelsesfrysning på juniorkandidater.
  • Ikke alene er markedet overmættet, men kvaliteten af ​​kandidater til bootcamp er faldet de seneste år. Det vil være svært at finde et job.
  • Du er en stærk kandidat, men vores virksomhed har ikke ressourcerne til at vejlede dig. Vær venligst i kontakt, vi vil meget gerne interviewe dig igen, når du har mere erfaring.
  • Held og lykke med at blive ansat om sommeren. Du konkurrerer med alle datalogstuderende, der har sommerpraktikophold. Prøv igen om efteråret, når flere positioner åbner sig.
  • Held og lykke med at blive ansat i løbet af efteråret. Ansættelser vil blive langsommere, når virksomheder nærmer sig 4. kvartal. Hvis du ikke finder et job i sommer, bliver du nødt til at vente til næste år.
  • Prøv at blive produktchef eller find en praktikplads. Måske kan du dreje ind i softwareteknik, når du er klar.

Jeg er sikker på, at mange håbefulde ingeniører hører lignende typer feedback. Nøglen er at lære at indstille den og holde fokus, ellers er det let at brænde ud.

Trin 6: Opret en studieplan

Efter Hack Reactor brugte jeg meget tid på at gennemgå tekniske koncepter som forberedelse til tech-skærme og interviews. Her er min grove studieplan:

  • Undersøg algoritmer og datastrukturer.
  • Undersøgelsessystem design.
  • Lav en hackathon (det lærer dig ikke at udføre bedste praksis, men det er en sjov gruppeoplevelse).
  • Byg en personlig portefølje (eller et andet projekt, du kan tale om).
  • Skriv hvert interviewspørgsmål ned fra enhver telefonskærm og onsite. Gennemgå de svar, du ikke kender.
  • Øv med andre. Algoritmer er sjovere, når du arbejder på dem i en lille gruppe. (Pramp og CodePath var to måder, jeg fandt øvelsespartnere på).

Trin 7: Byg en online tilstedeværelse

Gør det nemt for rekrutterere at finde dig. Byg robuste profiler med skærmbilleder af projekter og links til GitHub på de følgende sider. Klik på linkene for at tjekke mine eksempler (eller opret forbindelse til mig):

  • LinkedIn
  • Hyret
  • AngelList
  • Personlig portefølje
  • GitHub

Det er vigtigt at vise potentielle arbejdsgivere kvaliteten af ​​dit arbejde. Fotos, videoer, links til live-projekter, veldokumenterede README'er og ren kodningspraksis gør det lettere for rekrutterere at tage en chance for dig.

Trin 8: Husk, det er et talespil

Jeg hørte afstået, ”Det er bare et talespil,” ofte fra ingeniører, karriere trænere og mentorer. I sidste ende var her mine tal:

Mine ansøgninger var for det meste hoveddøren med nogle henvisninger, nogle rekrutterere, der kontaktede mig, og noget opsøgende fra Hired eller AngelList.

At kende tallene hjælper dig med at tage en analytisk tilgang. For eksempel:

  • 26% af mine samlede applikationer (kolde, varme, henvisninger) konverteret til indledende telefonskærme.
  • 51% af mine telefonskærme konverterede til en teknisk skærm eller opgave
  • 28% af mine tekniske skærme og opgaver konverterede til et sted på stedet

Fra dette lærte jeg, at jeg var ret konsekvent med at få mit cv til at vække en rekrutterers interesse, vellykket (med plads til forbedring) ved de indledende telefonsamtaler og lidt svag til at demonstrere mine tekniske færdigheder.

Analysering af numrene gjorde det muligt for mig at træde tilbage fra at køre flere applikationer. I stedet brugte jeg ekstra tid på at pudse op på tekniske svagheder med et mål om at forbedre min konverteringsfrekvens fra teknisk skærm til stedet.

Trin 9: Mestre stedet

Når du er heldig nok til at lande et sted på stedet eller to, er der stadig meget at mestre. Personligt fandt jeg de fleste steder meget drænet. De varede alt fra 2 - 6 timer og varierede meget i emner, der blev dækket. Nogle virksomheder glemte at give mig pauser.

Fordi jeg blev testet på teknisk viden, var der meget lidt small-talk, og jeg blev ofte grillet med spørgsmål i timevis ad gangen.

Et firma fortalte mig, at de ikke kom videre med mig, fordi jeg havde kæmpet med det allerførste spørgsmål efter timers succesfulde algoritmer. Jeg er stadig ikke sikker på, hvad de lærte af det sidste spørgsmål, at de ikke kunne have hentet fra tech-skærmen eller de foregående par timer, men den feedback stak.

Emner, der blev dækket af mine steder inkluderet:

  • Algoritmer
  • Systemdesign
  • Byg en app ved hjælp af virksomhedens API
  • Spørgsmål om dybdeviden om mit kodningssprog (JavaScript)
  • Spørgsmål til dybde af viden om HTML / CSS
  • Spørgsmål om dybde af viden om front-end-rammer
  • Spørgsmål om dybde af viden om forskellige databaser (SQL / noSQL)
  • Brainteasers (tænk SAT prep fra gymnasiet)
  • Klon og forklar X GitHub-projekt, som du oprettede, hvilke kompromiser du lavede, og hvad du ville gøre anderledes i fremtiden
  • Giv os en 1-times præsentation om ethvert emne efter eget valg (betragt dette som et rødt flag , medmindre dit job specifikt kræver grænseflade med kunder eller pitching af dine ideer)

Sorten gjorde det vanskeligt at vide, hvad man skulle studere.

Efter hver tech-skærm og onsite noterede jeg en robust liste over alle de spørgsmål, jeg blev stillet i hvert interview. Dette blev min studieguide til fremtidige onsites.

Da jeg savnede spørgsmål, forsøgte jeg at se det som en læringsmulighed.

Trin 10: Medbring snacks

Måske er det bare mig, men at svare på tekniske spørgsmål midt i en kreds af nye mennesker gør mig sulten.

I mine første steder blev jeg gradvist dårligere til at besvare spørgsmål, da mit blodsukker faldt. Ingen overraskelse - disse resulterede ikke i et tilbud.

I min tredje planlagde de mig fra 10-22 uden frokostpause, så jeg bad specifikt om en. Dette fungerede - slags - indtil ansættelseschefen fulgte mig til et frokoststed, mens jeg grillede mig hurtig på 50+ JavaScript-spørgsmål. Han ignorerede mine (gentagne) anmodninger om en hurtig mental pause. En anden no-go.

Endelig fandt jeg en levedygtig løsning - at bringe en stor grøn smoothie til hvert interview. Dette var meget bedre end at forsøge at snige jordnødder M & Ms ind i min mund i toilettet (desuden blev jeg normalt ledsaget til og fra badeværelset, så det var ikke rigtig en mulighed).

Trin 11: Juster svar på adfærdsmæssige spørgsmål og undgå udbrænding

Hvor ser du dig selv om 5 år?

Et af de spørgsmål, der stumpede mig i interviews, var: "Hvor ser du dig selv om 5 år?" For at være ærlig ved jeg det stadig ikke.

Der er et manager spor og et individuelt bidrag spor.

Der er masser af tekniske karriereveje, som jeg stadig ikke forstår fuldt ud - web, mobil, pålidelighed på stedet og DevOps, for at nævne nogle få.

Så er der back-end, front-end og full-stack. Nogle gange er linjerne mellem disse roller klare, nogle gange er de slørede. Hvad jeg lærte i løbet af min søgning er, at selvom jeg ikke ved, hvilken vej jeg vil tage, er der visse opgaver, jeg kan lide mere og mindre end andre.

Jeg elsker ikke at lege med pixels på et websted, men det er sjovt at designe til mobil. At designe arkitektur og oprette en database er lidt kedeligt, men jeg nyder at tage store mængder data og manipulere dem eller spinde den til en interessant visualisering.

Så hvem ved, hvor jeg ender. For nu vil jeg prøve at gøre det, der er sjovt og spændende.

Nogle generelle tanker

Kodningsudfordringer er en læringsmulighed

Der var masser af kodende udfordringer, som jeg forsøgte og i sidste ende var for flov til at vende ind. Derefter var der nogle, som jeg ikke var færdig med, men afleverede alligevel sammen med en forklaring på, hvilke fejlfindingstrin jeg havde taget undervejs.

Først så jeg ufuldstændige kodningsudfordringer som et tegn på min egen manglende evne - nogle dage spekulerede jeg på, om jeg ikke var skåret ud for at være ingeniør. Men de blev sjove, da jeg skiftede tankegang og begyndte at tænke på, hvad jeg lærte af hver enkelt.

For eksempel gav en af ​​dem mig en dybere forståelse af asynkrone API-opkald, mens en anden hjalp mig med at indse vigtigheden af ​​at adressere edge cases og fejlmeddelelser. Den ene lærte mig, hvordan jeg fejler Ruby on Rails.

Tag afvisninger i skridt

Det samme var tilfældet med hver tech-skærm og onsite. Først stødte afvisningerne og nærede min usikkerhed. Derefter blev afvisninger normale. Jeg lærte meget mere, da jeg var i stand til at fjerne min selvtillid og være nysgerrig efter, hvad jeg kunne lære af hver ingeniør, der tog mig tid til at tale med mig.

Alle har en anden måde at komme til problemer på, og jeg var heldig at lære af et par dusin ingeniører i branchen gennem interviewprocessen.

Find en mentor

Jeg var heldig nok til at have en all-star mentor gennem hele interviewprocessen. I tre måneder ringede min mentor og mailede hver uge for at spørge, hvordan jobsøgningen skrider frem, og hvilke blokeringsmidler jeg står over for.

Jeg har hørt mange medingeniører sige, at en mentor lyder godt, men de var ikke sikre på, hvilke spørgsmål de skulle stille. Nogle gange talte vi om taktik, såsom hvor mange applikationer der skal sendes, hvordan man skriver en effektiv Git-forpligtelse eller hvordan man går ud over i en kodningsudfordring. Andre gange mindede hun mig bare om, at på trods af de (mange) afvisninger blev jeg en stærkere ingeniør og derfor tættere på at finde mit drømmefirma hver dag.

En mentor kan holde dig ansvarlig over for dine mål, hjælpe dig gennem følelser af udbrændthed og forbinde dig til de rigtige ressourcer til dybere læring. Jeg er taknemmelig for at have haft en advokat gennem hele jobsøgningsprocessen, og jeg ser frem til at kunne betale det frem som ny ingeniør!

Konklusion

Nogle dage følte det sig meget sværere at skifte karriere, end jeg havde forventet. Min mentor kan helt sikkert attestere, at der var mange dage, hvor jeg ikke var sikker på, at jeg kunne gøre det.

At blive ingeniør krævede meget stress. Det betød at nå ud og udvide mit professionelle netværk, blive fortrolig med det faktum, at der er en enorm læringskurve foran mig og ignorere alle naysayers. Det betød at finde de rigtige online ressourcer, der arbejdede med min læringsstil. Det betød at stille den del af min hjerne, der fortalte mig, at jeg ikke var i stand, og i stedet fokusere på at samle ny viden. Hver dag jeg arbejdede på et nyt projekt, studerede en ny algoritme eller besvarede spørgsmål i et interview, blev jeg en bedre ingeniør.

Var kampen det værd? Absolut.

Jeg er begejstret for at sige, at jeg fandt en rolle, der er perfekt til mig, hvor jeg kan fortsætte med at lære og vokse. Mit professionelle netværk er stærkere end nogensinde, og mest af alt fik jeg tillid til at vide, at jeg kan arbejde for at gøre mine drømme til virkelighed.