En guide til at lære dig selv at kode (og få et job!)

Undgå det, du ikke har brug for; lære og øve, hvad du gør

Som de fleste mennesker havde jeg overhovedet ingen planer om at lære mig selv at kode. Beslutningen kom, da jeg mistede mit kundeservicejob i 2015.

Overgangen kom så organisk som at blive forelsket i en soulmate. Vi var gamle elskede - jeg havde forsøgt at få det til at fungere på college, men timingen var ikke korrekt. For ikke at sige, det var let! Men det var så meget lettere med så mange følelser at drive oplevelsen.

Jeg fik mit første job inden for teknologi i omkring 10 måneder efter at jeg begyndte at lære mig selv webudvikling efter utrolig meget arbejde.

Og tro mig, når jeg fortæller dig, at hvis jeg kan gøre det ... kan du også.

Jeg er helt sikker på, at der er mange guider derude om dette emne - hvordan man lærer dig selv at kode og få dit første kodejob. Men denne er skrevet af mig, så den er anderledes. Jeg tror, ​​du vil sætte pris på mine perspektiver. :)

Nu tror jeg det siger sig selv, at kondensering af hele processen ned til 5 trin er forenklet. Jeg vil give dig den generelle fornemmelse af hvad du skal gøre. Du har et par muligheder for at udfylde hullerne, og ærligt talt skal du gøre begge dele!

Mulighed 1 : Stol på dine samfund for support

Mulighed 2 : Få dedikeret hjælp og vejledning

Begge er faktisk min specialitet! Jeg er en lidenskabelig samfundsbygger. Jeg forstår vigtigheden af ​​at se og høre fra mennesker, der prøver at gøre, hvad du sigter mod.

Mulighed 1 er en vigtig del af din vækst som udvikler. Du skal bruge et netværk af mennesker. Denne industri er faktisk særlig fantastisk og masser af sjov. Vi vokser sammen med teknologien - og hinanden. Vi ser hinanden på konferencer. Vi deltager i ugentlige Twitter-chats. Det er dope.

Mulighed 2 har nogle barrierer for adgang. I det væsentlige indebærer det at have nogen - ideelt set en erfaren coach med en dyb forståelse af din situation og mål - tage din hånd, lære dig at kende, udforske dine drømme med dig og planlæg din rejse fra hvor du er, til hvor du vil at være. Derefter dykker du ned i færdighederne med et faktisk kort og en vej til din destination. På det tidspunkt er det hårde arbejde kun dit og dit.

Jeg ELSKER at arbejde en-til-en med nybegynderkodere, men selvfølgelig med det niveau af opmærksomhed og ekspertise, der kræves ... det er ikke gratis. De fleste af os gør hvad vi kan for at støtte nybegynderkodere via blogindlæg, podcast-episoder, bøger og meget mere - men nogle af os er villige til at give mere af vores tid og tilstedeværelse end andre! Som sådan er Option 2 en investering i dig selv.

Så dette er virkelig et forenklet, men stadig et ret grundigt overblik over processen med at lære dig selv at kode og derefter få dit første dev-job!

Trin 1: Find ud af hvad i helvede du laver

Jeg oprettede en hel guide på 14 sider til denne virkelig tidlige del af rejsen, fordi det er den del, der er mest overset. Det er også grunden til, at mange mennesker sprutter ud - de lavede simpelthen ikke deres indledende lektier.

Du kan downloade denne guide, kaldet “10 ting, du skal vide, FØR du lærer at kode”, her:

Overvejer du at lære at kode?

Overvejer du at lære at kode og skifte karriere? Inden du tager springet, skal du finde ud af, hvad branchen ikke er ... resources.lavieencode.net

For det første, hvorfor vil du gøre dette?

Har du drømt om kodning, siden du var et lille barn? Eller måske har du lige hørt, at kodning er fremtiden, hvilket giver mening for dig, da teknologien vokser så hurtigt, så du vil gerne komme på toget. Uanset din grund skal du etablere det tidligt. Det vil være det, der skubber dig frem, når tingene bliver virkelig udfordrende.

Du bliver nødt til at oprette et budget for dig selv, som jeg ved, stinker, fordi jeg også hader budgetter. Hvis du skifter karriere, skal du være sikker på, at du er i stand til at foretage din overgang med så lidt stress som muligt. Kodning er hård nok, som den er ... gør din due diligence for ikke at gøre det sværere for dig selv.

Er der endda en webudviklingsbranche, hvor du bor? Hvis det er tilfældet, skal du trykke på det og begynde at tale med folk. Deltag i møder. Lær folk at kende, der gør noget, der ligner det, du vil gøre.

Stil spørgsmål om virksomheder, der ansætter i området. Kan folk lide deres karriere? Hvordan er deres lønninger?

Hvis der ikke er en livlig dev-industri i dit lokale område, skal du være kreativ. Fjernjob kan være en mulighed, hvis det er noget, du er åben for. Alternativt, hvis du har ressourcerne og fleksibiliteten, kan det være en spændende ændring sammen med din nye karriere at flytte til en ny by.

Hele punktet i trin 1 er at sikre, at hvis du leder efter et job, skal du ikke bare springe ind i tingene uden først at spejde territoriet.

Hvis du hopper ind, kan du føle dig uforberedt og stresset, når regninger forfalder, uventede begivenheder dukker op, og generelt ... livet sker.

Trin 2: Vælg en jobtitel, og arbejd baglæns

Okay, så jeg nærmer mig dette anderledes end mange mennesker derude. Når folk begynder at lære at kode, er et af de største spørgsmål, jeg hører, "hvad skal jeg lære?" (også "hvor skal jeg lære det?").

Husk, at du ikke engang koder endnu på dette tidspunkt. Eller måske stikker du bare rundt og lærer det grundlæggende, men du bygger faktisk ikke projekter. Du lægger stadig grundlaget og lærer om dine værktøjer og formålet bag dem. Dette er en super vigtig fase!

Med alle disse værktøjer derude dog ... hvordan ved du, hvilke der skal tilpasse sig en egentlig jobtitel?

Ville det ikke sutte at lære en masse ret uafhængige færdigheder og sprog til et grundlæggende niveau og derefter indse, at de ikke faktisk får dig et job? Eller at du bliver nødt til at udarbejde nogle få af dem med yderligere læring for endda at være konkurrencedygtige for job i dit område?

Ja ... det var det din pige gjorde.

Hurtig, relevant sidehistorie

Jeg lærte HTML og tilføjede derefter på CSS. Jeg hadede lidt CSS i starten, men vi arbejdede det, og vi køler nu. Indtil videre så godt, ja?

Derefter kom jeg til JavaScript. Grundlæggende værktøjer som variabler og endda sløjfer og nogle grundlæggende datastrukturer, havde jeg det fint med. Men generelt ... tingene begyndte at blive hårde for mig.

Jeg har en ikke-verbal indlæringsvanskelighed. Det er lidt sjovt, der først blev diagnosticeret, efter at jeg kæmpede med at få de nødvendige færdigheder til at få det første job i 10 måneder. Mine kampe gav så meget mere mening.

På dette tidspunkt skræmte algoritmer skidtet ud af mig. freeCodeCamps algoritmer var super udfordrende. Meget af mit tidligere læringstraume kom op. Jeg græd en flok af frustration, da jeg simpelthen ikke kunne kontekstualisere en mental model for min neuroatypiske hjerne for at "få det til at klikke".

I panik gik jeg ud af skinnerne. Eller måske "på" skinnerne, da jeg begyndte at lære Ruby. Kom til det samme punkt. Panik igen.

Skiftet til PHP og WordPress. Faktisk kunne jeg virkelig godt lide dem begge og brugte dem primært i dag sammen med JavaScript. Men jeg kom til det samme freaking punkt og endelig kollapsede grundlæggende i udmattelse. Hvad fanden var der galt med mig?

Jeg tog en pause omkring det tidspunkt, hvor jeg skrev denne artikel, fordi jeg havde haft en eksistentiel krise og spekulerede på, om jeg overhovedet var egnet til dette:

Hvorfor skaler jeg tilbage på at lære at kode ... og øge læringen på problemløsning

Wow, det er næsten en måned siden jeg skrev! Jeg kan ikke tro, at tiden flyver så hurtigt. Jeg har et punkt til dette ... medium.com

Denne historie fungerer som en advarselshistorie for at vise, hvad der potentielt kan ske, hvis du gør ting ude af rækkefølge eller uden en indledende struktur. Du skal være i stand til at opbygge disse færdigheder til et job, hvis du vil have et job.

Så her er mit spørgsmål: hvorfor ikke bare gætte ud og finde ud af, hvilken slags arbejde du gerne vil udføre først ?

Og selvfølgelig vil dette ændre sig over tid! Vi vokser og ændrer ikke kun som udviklere, men som mennesker over tid. Vi lærer mere om os selv, og vi vil ændre vores mål. Men at starte med en slags kompasretning hjælper virkelig.

Hvordan finder du ud af det? Du vil gerne tage en virkelig dyb opgørelse over dine drømme, lidenskaber og eksisterende færdigheder. Ofte hjælper det med at evaluere dette ved hjælp af en anden (ahem, som mig). Vi har de færdigheder og talenter, vi bringer til bordet, som andre ikke gør ... og som vi ofte selv overser.

Se på, hvad der er tilgængeligt i dit område. Søg på jobsøgningssider som Indeed. Spørg i lokale onlinefora.

Men den vigtige del her er at være opmærksom på de færdigheder, der er anført: både teknisk og interpersonel.

Ja, interpersonel . Vi har nok problemer med mangel på interpersonelle færdigheder som effektiv kommunikation, empati, medfølelse og inklusion. Kom ikke her og tag mere.

Men disse kodningsfærdigheder vil give dig vejledning og en vej til din destination, så hvis du ændrer dine mål, ved du i det mindste hvad du afviger fra og til .

Trin 3: Byg dine færdigheder

På dette tidspunkt har du en god fornemmelse af din lokale udviklingsbranche, og du har undersøgt jobtitler. Du har en idé om, hvilke slags færdigheder du skal bygge på din vej til dit første dev-job.

Nu er det tid til at opbygge dine færdigheder.

Det er vigtigt at bemærke, at du gør dette sammen med trin 4, og sammen med alt andet, du måske laver (vi vil begrænse disse ting). Du skal altid lære og opbygge dine færdigheder, mens du også bygger projekter med dem.

Jeg anbefaler generelt, at webudviklere starter med frontend, da alle veje fører til brugerens oplevelse. Men dette varierer virkelig baseret på de oprindelige mål. Se hvor det var nyttigt at identificere dem først?

For eksempel vil dit udgangspunkt være anderledes, hvis dit mål er at arbejde med data. Måske er dit mål at lære, siger Python, da Python er meget effektiv med datastyring. Du lægger naturligvis din færdighedsopbyggende rejse forskelligt afhængigt af dine slutmål.

Den vigtige del her er, at uanset hvor du er på vej, har du en køreplan. Du vil undgå at blive fanget i at lære ting, du ikke har brug for, fordi de kommer i vejen for, at du får et job ASAP.

Du skal have en liste over ressourcer, som du ved, der fungerer for dig. At vide, hvordan du bedst absorberer information, er absolut integreret i denne del. Spild ikke tid med bøger, hvis du lærer bedst af videoer. Igen er tiden afgørende, så du behøver ikke bare at lære, men lære intelligent, effektivt og effektivt.

Brug en god tid på dette afsnit. Du tilføjer værktøjer til din værktøjskasse, og du bruger dem hver dag, når du begynder at arbejde.

Trin 4: Byg din portefølje og genoptag

Husk, trin 4 sker ved siden af ​​din kompetenceopbygning. Du lærer dagligt og anvender det, du lærer. Og selvfølgelig er der et par virkelig vigtige dele her, som jeg synes, at kodende studerende overser. Så lad mig slå på disse rigtige hurtige!

Hot Tip ™ ️ # 1: Projekter giver dig The Edge ™ ️ som en selvlært koder

Du har ikke det lange CV, der går tilbage til din datalogifag ved MIT. Det gør jeg heller ikke. Men ligesom ... ve er os?

Nej.

Som en selvlært koder uden CV til at sikkerhedskopiere dine færdigheder bliver du nødt til at vise, hvad der har. Så selvom du også vil fokusere på dit CV, skal du virkelig bruge tid på denne portefølje . Hvis ikke andet, vil dit CV vokse sammen med din portefølje, når du tilføjer færdigheder!

Hot Tip ™ ️ # 2: Du har ikke brug for masser af projekter!

For det første behøver du ikke masser af projekter. Jeg tror, ​​at mange nybegyndere bliver overvældede ved tanken om at skulle bygge masser af projekter for at vise, hvad de ved.

Derfor tilpasser vi disse færdigheder til den aktuelle jobbeskrivelse. Hvis du bygger selv et projekt, men vedligeholder det intelligent - bliver du ligaer foran dine jævnaldrende.

Ok, så du oprettede et projekt, du har sendt nogle forpligtelser på GitHub, og du føler allerede, at du skal springe videre til det næste. Hold det lige der, padawan.

Fik du det maksimale ud af projektet? Fordi du lærer færdigheder mod et job, kommer de sandsynligvis sammen som en stak. Og du kan mere end sandsynligt anvende mange af dine nyuddannede færdigheder til den samme praksis.

Lad os sige, at du arbejder på at blive en front-end webudvikler. Du har lige bygget dit første websted.

Kan du gøre et websted til en webapp, så måske kan brugerne logge ind?

Hvis du ikke byggede din side mobil-først (du burde have!), Hvad med at omlægge den som mobil først?

Tag dig tid til at se på dine projekter som ikke kun et aktiv, men et glimt af den indre funktion i din hjerne. Dette er UTROLIG vigtigt for ansættelse af ledere. De vil vide, hvordan du tænker, så de kan afgøre, om det bringer noget værdifuldt til deres firma og team.

Så for at piggyback fra Hot Tip ™ ️ # 2 ...

Hot Tip ™ ️ # 3: Bliv en historiefortæller, ikke kun en kode

Hvilken bedre måde at vise folk den indre funktion i din hjerne end at dokumentere din rejse?

En af de mest sovende ressourcer til at få et job er ... tromlerulle ...

... din README.txt-fil.

Dette skal ikke bare være, hvor du fortæller folk, hvordan man kører dit program. Det er her, du skal fortælle ansættelsesledere:

  • Hvorfor du tilføjede denne funktion
  • Hvorfor du opgav at tilføje den anden funktion og fjernede den
  • Dine næste planer for udvidelse
  • Hvad du gerne vil se med hensyn til feedback
  • Hvad du lærte på hvert trin
  • Hvad du føler dig stolt af, og hvad du kunne have gjort bedre

Hvorfor skammer vi os over at skrive vores historier? Vi har ikke tid til det, vi skal skaffe dig et job!

Gør det sjovt, jævnt. Gør det episk. Din rejse er episk.

Men ja, udnyt din README.txt-fil, og du vil alvorligt være så meget mere attraktiv for de mennesker, der tjekker din portefølje og overvejer dig til ansættelse.

Trin 5: Ansøg om disse job!

Der er SÅ meget at pakke ud i dette trin, det er bare ikke muligt at dække det hele i et enkelt indlæg! ? Så jeg går med bare at smide en masse værdibomber på alle jer.

Hot Tip ™ ️ # 1: Anvend bare allerede

Et af de hyppigste spørgsmål, jeg får, er "hvornår skal jeg begynde at ansøge om job"? Mit svar er noget i retning af "i går".

Helt seriøst. Gå videre, ansøg. Det værste, de kan fortælle dig, er "nej".

Så her er sagen ved at ansøge om job som nybegynder selvlært kode. Du vil gøre det rigtigt og virkelig demonstrere:

  • Din vilje til at lære
  • Din vækst indtil videre
  • Din entusiasme for branchen (og specifikt virksomheden!)

Når du kommunikerer med ansættelsesledere, vil du være ærlig med, hvor du er , mens du viser, hvad du har gjort. Disse to komponenter sætter dig på radaren. Du er sårbar, og du bevarer stadig en vis kontrol over dit opfattede billede.

En anden vigtig ting at huske: når du ansøger til et firma, er det ikke en one-shot-aftale. Mange nybegyndere begår den fejl at tro, det er.

Ok, så lad os sige, at du bliver afvist til et interview. Nu har du et vindue til at bede om feedback. Hvis de reagerer, er det en rigtig god virksomhed. ??

Hvis du virkelig kan lide virksomheden, og de ved, at du er selvlært (de ved det alligevel fra dit CV, så vær bare gennemsigtig), fortæl dem, at du gerne vil udvide dine færdigheder i deres retning og genanvende i fremtiden.

Boom. Du dannede netop en forbindelse med ansættelsesledere og viste, hvor beslutsom du er til at forbedre dine færdigheder for at opfylde deres krav.

Hot Tip ™ ️ # 2: Du er nødt til at udvikle solide tekniske interviewevner

Udover at opbygge din portefølje skal du øge disse interviewevner. Men ikke bare nogen samtalefærdigheder - tech er ikke som enhver anden branche derude. Vi er kantede. Vi kan godt lide, at du skal bevise, hvad du ved.

Dette er især vigtigt for selvlærede kodere. Du bliver nødt til at vide, hvordan du gør ting som:

  • Forklar, hvad forskellige teknologiske begreber er
  • Løs algoritmiske udfordringer - mens du forklarer din tilgang
  • Skriv dine trin til løsningen
  • Læs dine interviewere
  • Lav lidt dans for at opretholde kontrol over interviewet (dette er min specialitet haha)

Der er masser af ressourcer derude til dette, som Gayle Laakmann McDowells "Cracking the Coding Interview". Plus, det fungerer også som et stumt våben.

Cracking the Coding Interview: 189 programmeringsspørgsmål og løsninger

Jeg er ikke en rekrutterer. Jeg er softwareingeniør. Og som sådan ved jeg, hvordan det er at blive bedt om at piske strålende ... www.amazon.com

Du bliver nødt til at være dig selv. De skal ønske at ansætte dig . Det er svært at være dig selv, når du ikke er sikker på, hvad der forventes af dig, men hvorfor blive ansat som en, du ikke er? Det lyder bare som foder til en hel masse Imposter syndrom.

På dette tidspunkt

På dette tidspunkt har du en voksende værktøjskasse med færdigheder.

Du lærer hver dag. Du bygger projekter, men får mest ud af dem i stedet for bare at droppe dem og gå videre til den næste ting. Du fortæller en historie med din GitHub README.txt.

Men vigtigst af alt har du en idé om, hvor du skal hen . Det interne kompas sammen med et støttende samfund (som #CodeNewbie!) Vil være det, der redder dig, når du går vild.

Byg videre, voks og få tillid til dig selv. Du er en total kriger, og du kan gøre dette! ??