Hvorfor jeg kodede hver dag i et år, hvad jeg lærte, og hvordan du også kan gøre det.

Jeg søgte at skifte karriere. Verden i dag er slet ikke den samme som vores forældre voksede op i. Derfor var meget af det karriereråd, mine forældre gav mig, simpelthen ikke længere relevant for det landskab, vi har nu.

Jeg havde en karriere inden for et felt, jeg nød, men i en branche, der er ved at dø. Der ser ud til kun at være en lille håndfuld industrier, der blomstrer i dag. Mine venner, der kom ind i softwareindustrien, ser ud til at være ret tilfredse med deres erhverv. Hvis jeg vidste det, hvad jeg ved nu , ville jeg have startet denne proces for 10 år siden. Jeg vil være, hvor verden er på vej, ikke hvor den har været.

Jeg var fast besluttet på at få dette til at ske. At gøre det betød ikke at udsætte det. Jeg ville starte med det samme, så om 10 år til, ville jeg ikke se tilbage og sige "Jeg ville ønske, jeg var kommet i gang med det meget tidligere".

Så jeg besluttede at kode hver dag i et år. Lad mig fortælle dig om min oplevelse.

Begyndelsen

Jeg startede med at undersøge, hvordan jeg lærte at kode. Jeg fandt ting som Codecademy og freeCodeCamp, gratis ressourcer til at få mine fødder våde. Der var meget at lære, og det skulle være en lang rejse, der krævede meget disciplin. Men jeg tænkte, jo mere arbejde jeg lagde i det nu, jo mere vil det betale sig senere.

Og så opdagede jeg en artikel, der talte om denne udfordring kaldet # 100DaysOfCode . Der er to hovedkrav for at gennemføre udfordringen:

  1. Kode mindst en time hver dag i 100 på hinanden følgende dage
  2. Tweet dine fremskridt hver dag med hashtagget # 100DaysOfCode

Så dette er et system, der giver dig struktur, retning og offentlig ansvarlighed for at holde dig på sporet. Og det virkede som en fantastisk måde at motivere mig selv og følge med på disse fremskridt.

Således begyndte jeg at tweet fra min konto twitter.com/PolarisTLX hver dag såvel som på en Facebook-gruppe.

Ideen var at kode hver dag og gøre det til en vane. Du kunne ikke tillade dig nogen undskyldninger, som du normalt ville komme med, når du udsætter noget. Dette “tvinger” betydelige skridt fremad over tid, som du ellers ville tage meget længere tid at nå eller slet ikke opnå.

Der er også yderligere fordele. Da kodning involverer begreber, der kontinuerligt bygger på hinanden, går en hel del viden tabt, hvis du går flere dage uden kodning.

Bortset fra det byder grundlæggeren af ​​# 100DaysOfCode dig velkommen til at gøre det til dit eget. For virkelig at fremskynde min læring og gøre store fremskridt mod at nå mit mål om at lande det udviklerjob, dedikerede jeg mig faktisk til at forfølge udfordringen på fuld tid i stedet for kun en time om dagen. Og derefter nåede jeg det magiske 100-dagesmærke.

Jeg var dog stadig ikke klar til jobbet. Der var simpelthen meget , jeg havde brug for at lære. Men jeg gjorde store fremskridt, og jeg var fast besluttet på at fortsætte, indtil jeg endelig fik det job. Så jeg besluttede bare at fortsætte til 150, 200, 250 dage ...

Større præstationer

Og så nåede jeg 365 dage! Her er nogle af de vigtigste ting, jeg var i stand til at udføre ved at kode hver dag i et år:

  • Fuldførte snesevis af kodningstutorials, kurser og bøger
  • Løst over 100 algoritmer og interviewkodningsudfordringer
  • Optjent certifikaterne " Front End Developer" og " JavaScript Algorithms and Data Structures Projects" fra freeCodeCamp
  • Deltog i en to-dages hackathon, hvor projektet blev valgt til at blive præsenteret for selskabets bestyrelsesmedlemmer. De besluttede derefter at skubbe det frem til næste udviklingsfase
  • Blev accepteret i et fuldtids softwareudviklingsprogram med en acceptrate på mindre end 1%
  • Bidrag til freeCodeCamp beta-udvidede læseplaner
  • Skrev kursusindhold til Odin-projektets nye Ruby-læseplan for at hjælpe andre håbefulde udviklere med at lære at kode
  • Byggede en fungerende klon af Facebook, hele back-end og front-end helt fra bunden, og få den live på Heroku som et af mine fremhævede projekter i min portefølje
  • Landede min første regelmæssige strøm af indkomst, hvor jeg arbejdede for en klient eksternt, hvilket førte til at blive ansat permanent

Det sidste punkt, at få en regelmæssig strøm af indkomst og den fuldtidsstilling , er højdepunktet og kulminationen på alle mine tidligere præstationer, der fik mig til at nå dette punkt. Men dette er ikke en stræben, der skal tages let.

Ikke en let udfordring

At forlade mit tidligere job for at forfølge mine mål betød, at jeg havde mere tid - men det betød også, at jeg havde mere på banen. Mange mennesker går ind i dette med store ambitioner og giver sig selv høje mål, som de ikke kan nå. Så for mange mennesker er det nok bedst at holde sig til den anbefalede en time om dagen.

Men hvad jeg har observeret er, at selv med de mest basale kriterier, fejler de fleste mennesker, der prøver denne udfordring. Mange mennesker starter # 100DaysOfCode med ambitionen om at få et job som programmør (Bogstaveligt talt titusinder af mennesker fra hele verden), men få af dem når faktisk deres mål.

Og dette til trods for en overflod af kvalitetsressourcer og guider, hvoraf mange endda er gratis . Det er bare en simpel realitet, at flertallet af mennesker ikke ser deres mål igennem til slutningen. De fejler primært på grund af manglende beslutsomhed og undskyldninger.

Jeg opdagede og sluttede mig til mange grupper fyldt med mennesker, der prøvede at lære at kode. Nogle af dem jeg fandt var:

  • 30-dages JavaScript
  • 30-dages-reaktion
  • spin-offs som 180-dage-af-kode
  • Slap kanalgrupper, der dedikerede sig til at arbejde igennem en bestemt kodebog sammen med et mål om at lave et kapitel hver uge og diskutere / sammenligne noter.

I hver af disse grupper er deltagerne aktive, entusiastiske og fast besluttede på, at de vil gøre, hvad der kræves for at få det job ... i den første uge.

Derefter begynder undskyldninger og forsinkelser og udeblivelser hurtigt at strømme ind. Chats bliver stille og støjsvage, indlæg og opdateringer bliver mindre hyppige. Disse nye minisamfund ville alle begynde at brølende som et bål og derefter hurtigt dæmpes ned til et lys og flimre ud.

Jeg gik ofte endda ud af min måde at forsøge at opmuntre andre til at holde entusiasmen og momentum i gang. Jeg vil tilbyde at hjælpe ethvert medlem, der sidder fast i noget eller har brug for hjælp. Jeg ville give en alternativ forklaring på et koncept, de kæmpede med (selvom jeg ikke var administrator eller teamleder).

Fra mine observationer i løbet af et år med at gøre dette estimerer jeg, at ud af hver 10.000 mennesker, der begynder at lære at kode online rundt om i verden hvert år, holder mindre end 100 ud over et par måneder.

De, der giver op, vil ikke nå deres mål. De, der er besluttede og holder det op, vil være dem, der får job.

Så hvordan gjorde jeg det - og hvordan kan du?

Der er flere ting, du kan gøre for at hjælpe dig med at holde dig på sporet og nå dine mål. Nogle af dem er beskrevet ovenfor og inkluderer:

  • giver din fremgang en vis struktur og ansvarlighed med noget som # 100DaysOfCode
  • at sætte små trinvise mål og nå dem undervejs
  • par-programmering
  • finde grupper at deltage i og lære sammen med

Og selvom disse grupper ikke rigtig udholdt og lykkedes som helhed, var det stadig gavnligt for mig at deltage. Jeg ville ikke lade det lave engagement og nederlag fra andre mennesker omkring mig få indflydelse på min egen beslutsomhed om at fortsætte fremskridtene.

Det vigtigste, jeg gjorde

Du skal forstå, at når du har et ambitiøst mål som at lære dig selv at kode, vil det kræve nogle ofre. Du skal være villig til at gøre det.

Mit sociale liv tog ofte bagsædet, ligesom min videospiltid, og jeg fulgte ikke med det seneste hot show på Netflix. Der var også dage, hvor jeg virkelig ikke havde lyst til det, men jeg havde brug for at gøre “nogle” fremskridt. Du er nødt til at minde dig selv om, at det hele handler om forsinket tilfredsstillelse, hvilket giver kortsigtede ofre for langsigtede gevinster.

Andre ting, der hjalp mig

Jeg brugte også WakaTime og Clockify til at holde styr på, hvor mange timer jeg brugte kodning hver dag. Dette gav mig et ekstra boost af opmuntring, da jeg havde til formål at slå mit daglige eller ugentlige gennemsnit. Jeg rangerede endda meget højt på deres globale leaderboards regelmæssigt.

Der er også noget at sige for at betale for noget. I lang tid lykkedes det mig at finde ressourcer, der var helt gratis. I begyndelsen anbefaler jeg stærkt at holde sig til gratis ressourcer, i det mindste i de første par måneder . Dette giver dig en chance for at finde ud af, om du faktisk nyder disse ting, eller om det ikke er noget for dig. Hvis du beslutter, at det ikke er noget for dig, eller du kan lide det, men du bare ikke kan vare over et par måneder, så har du ikke mistet meget udover tid.

Men efter det fandt jeg ud af, at nogle betalte ressourcer faktisk er bedre end nogle af de gratis. Og faktisk at droppe penge ned på noget i sig selv har en reel motiverende effekt på nogle mennesker, der har brug for ekstra motiverende. Ofte er det mere sandsynligt, at du tager noget alvorligt, hvis du har betalt for det.

En ansvarsfraskrivelse

Jeg er ærlig ved at erkende, at jeg savnede en håndfuld dage i den periode. Men jeg har altid været på forhånd om det i mine offentlige indlæg. Grundlæggeren af ​​udfordringen har dette at sige om dette emne:

”Du kan springe over en dag her og der for ikke-planlagte situationer, men ikke mere ... Du har lov til at gå glip af en dag (men derefter kompensere ved at tilføje en dag mere til slutningen af ​​100). Målet er at blive konsekvent, uanset hvad livet kaster på dig. ” - Alexander Kallaway, skaberen af ​​# 100DaysOfCode

Fremskridtet og resultatet er det, der virkelig betyder noget, og det er hele pointen med øvelsen. Jeg fandt det meget mere opmuntrende at bare eje op til savnede dage og fortsætte i modsætning til at nulstille tælleren hver gang. Og jeg ville være meget mere produktiv generelt, hvis jeg tog fridage, så længe dette kun var i meget sjældne tilfælde, da jeg virkelig havde brug for det.

Nogle af hullerne omfattede min mors 60-års fødselsdag , en bachelor party campingtur og jul. Ellers var der ingen undskyldninger. Jeg kodede nytårsaften og nytårsdag. Jeg kodede, da jeg var syg,og endda morgenen før jeg gik ind til operation og dagen efter operationen. ?

Du kan stort set se, hvilke dage jeg savnede lige på min GitHub-profilside: //github.com/PolarisTLX. Men nogle huller repræsenterer tid, hvor jeg var i fjerntliggende regioner uden internetadgang og ikke kunne begå kode til GitHub. Men jeg gjorde det til et punkt at indlæse en kodebog på en tablet, som jeg sørgede for, at den var fuldt opladet, inden jeg gik. (Det er ikke min foretrukne måde at lære kode på, men det kan være rart at ændre læringsmetoden lidt op og prøve et andet medium hver gang imellem.)

Endelig mangler en gruppe dage tidligt. Dette skete, fordi jeg slettede et GitHub-arkiv, da jeg blev frustreret over en sammenfletningskonflikt og bare besluttede at slette arkivet og erstatte dataene i et nyt. Jeg var ikke klar over, at det ville slette næsten en uges forpligtelser fra posten. * flip på bordet *

Min fremgangsoversigt på 365 dage

Så på 365 dage er jeg kommet igennem følgende præstationer:

  • lære at bruge en kode editor og lave enkle statiske websider
  • opbygning af funktionelle regnemaskiner og vejr-apps
  • opbygge enkle interaktive 2D-platformspil
  • blive fortrolig med fuld stack-udvikling med flere sprog, rammer og operativsystemer og skabe et komplet RESTful socialt websted fra bunden (hvor brugerne kan tilmelde sig deres valgte adgangskode, sende, like og kommentere, uploade deres egne fotos, oprette begivenheder, sende og acceptere venneanmodninger og invitationer til begivenheder med andre brugere osv.)
  • skabe kursusmateriale til at hjælpe andre håbefulde udviklere med at lære at kode.

Jeg er nået til et punkt, hvor potentielle kunder og arbejdsgivere i det tekniske rum nu ser mig som et aktiv. Jeg får nu betalt for at kode, da jeg kan skabe det, de ønsker, løse deres problemer og tilbyde reel værdi. Arbejdet lønner sig, og jeg vil bare fortsætte med at blive bedre.

Jeg håber, du nød at læse om min rejse. Jeg anbefaler dig stærkt at prøve # 100DaysOfCode-udfordringen. Hvis du kunne lide indlægget, bedes du klappe? at sprede budskabet og motivere andre.