Hvordan jeg afsluttede hele freeCodeCamp-læseplanen på 9 måneder, mens jeg arbejdede på fuld tid

I løbet af det sidste år sluttede jeg hele freeCodeCamp-læseplanen, mens jeg arbejdede fuld tid som lærer. I denne artikel vil jeg skitsere, hvordan det lykkedes mig at gøre dette. Især hvordan jeg organiserede min tid, og hvilket supplerende materiale jeg brugte.

Baggrund

Først baghistorien. Jeg var ikke helt ny til kodning. Jeg voksede op i et lille tech-firma.

Min far grundlagde sit eget firma inden min fødsel, hvor de udførte forskellige aktiviteter inden for teknologi, såsom at rette computere, oprette internetforbindelser og netværk til andre virksomheder, undervise i computerkurser og opbygge administrative applikationer til virksomheder. Det var en lille by, så de var dybest set go-to “tech guys” for hele byen.

Virksomhedens kontorer var i vores hus, så jeg voksede bogstaveligt talt op blandt computere og folk der kunne lide dem. Jeg begyndte at lege med Visual Basic som barn (en af ​​fyrene i virksomheden lærte mig at bruge det), og jeg brugte al min fritid online og chatte med andre nørder.

Da jeg var omkring 12, sendte en af ​​disse nørder mig en webudviklingsmanual (en enorm .txt-fil, der grundlæggende beskæftigede sig med HTML), og jeg brugte den til at opbygge min egen fan-side. Det havde endda en af ​​disse seje besøgstællere.

Jeg var vært for det på Geocities, fik en gratis kort URL og opførte den på Yahoo og AltaVista (disse var de største på det tidspunkt).

Derefter skete livet, og jeg opgav helt ideen om at være programmør, da omstændighederne krævede en mere “realistisk” tilgang. Jeg vil ikke gå i detaljerne nu, men dybest set måtte jeg give op med at studere og få et job.

Jeg fortsatte med at leve mit liv. Jeg byggede lejlighedsvis et websted til min fars klienter og besluttede til sidst at begynde at undervise i engelsk, hvilket var noget, der kom let for mig og dybest set glemte alt om webudvikling. Indtil 2016 er det.

Hvordan jeg besluttede at skifte karriere

Jeg elsker at undervise. Det er et givende erhverv, interessant og sjovt. Men det har sine ulemper. I starten føltes alt som en udfordring, men efter så mange år at gøre det begyndte jeg at føle, at jeg ikke havde noget formål. At jeg ikke voksede eller lærte mere.

Jeg følte mig fast. Ligesom mit job var nøjagtigt det samme år ind og år ud. Jeg gik lige igennem bevægelserne. Det gav heller ikke mange muligheder for at flytte, hvilket er noget, der blev meget vigtigt for mig senere.

I 2013 mødte jeg min mand, og det næste år gik vi på en tre måneders backpackertur til Europa, hvilket er et helt andet blogindlæg, men dybest set var det ekstremt lavt budget, og vi havde en fantastisk oplevelse. Vi elskede Europa, og vi besluttede, at vi ville vende tilbage til endnu en lang tur.

Tiden gik, vi lavede andre ting, og så fandt jeg Codecademy og begyndte at lege med det og lege med ideen om at blive en fuldtidsudvikler. Jeg har allerede haft nogle erfaringer med at opbygge websteder med kun HTML og CSS, men ingen JavaScript. Jeg læste mange succeshistorier online, men jeg betragtede det stadig ikke som en rigtig karriere, ikke langt fra.

I mellemtiden planlagde vi den næste lange rejse, sparte penge, planlægning og så videre. Jeg arbejdede mere og mere som freelance oversætter, super involveret i min karriere og oversatte seje ting som romaner og poesi. 2017 kom, og vi tog til Europa igen denne gang i to måneder.

Der mødte vi en masse udviklere. Det var vanvittigt. Hver enkelt sofa-surfer, vi mødte, så ud til at være i IT på en eller anden måde, enten som softwareproduktchef, en udvikler, en tester osv. De opmuntrede os alle til at komme ind i tech. På det tidspunkt havde vi allerede besluttet, at vi ville flytte til Europa, så mange af dem fortalte os: ”Du kunne finde et job her. Her efterspørges udviklere, vi har brug for mange af dem. ”

Før turen sluttede, besluttede vi os for at tilmelde os et 2-årigt teknisk certifikat i et nystiftet teknisk universitet nær vores hjemby. Programmet var hovedsageligt Java, så da vi kom tilbage, startede vi et Java-kursus i Cousera. Det første modul var faktisk et JavaScript-kursus, så vi blev faktisk hooked med JavaScript med det samme.

Mens vi lærte JavaScript, ventede vi på begyndelsen af ​​skoleåret i marts 2018. Der var kun 50 steder til Uni, så vi blev super dedikerede og lærte på forhånd. Vi gik, tog prøver, bestod kurser, og så måtte vi vente, indtil de besluttede. Vi fik de højeste karakterer blandt alle kandidaterne, men disse karakterer gjorde ikke nogen forskel. Pletterne tildeles via et lotterisystem. Min mand kom ind, og jeg blev udeladt.

Han besluttede, at han foretrak at lære af sig selv, han var ikke så interesseret i Java længere, fordi han var hooked på JavaScript, så vi begyndte at lære på egen hånd.

Vi startede med Codecademy, men det var for håndholdt til os (vi havde ikke Premium-konti). Et eller andet sted læser vi om freeCodeCamp. Og vi startede det meget langsomt først (det første certifikat tog mig måneder at få, ganske vist i midten blev læseplanen ændret, og jeg faldt min bærbare computer og måtte reparere den). Efter sommerferien sluttede, og jeg gik tilbage til fuldtidsarbejde, blev tingene hårde.

Arbejder på fuld tid og udfører freeCodeCamp i fuld fart

Det var ikke let, jeg lyver ikke. Det hjalp, at de fleste af mine venner og bekendte ikke bor i nærheden af ​​mig, og jeg bor i en lille by, der ikke tilbyder mange underholdningsmuligheder. I den forstand var programmering en livredder. Jeg havde noget sjovt at gøre, og det var vanedannende, så jeg kunne dræbe timevis af kedsomhed med det.

Så det hjalp meget, når jeg beskæftiger mig med det antal timer, jeg brugte på mentalt arbejde (undervisning og studier).

Det første certifikat tog måneder, dels fordi jeg ventede på at komme ind i Uni, og dels fordi jeg arbejdede 10 timer om dagen de første 3 måneder af skoleåret.

Desværre kunne jeg ikke bare afslutte mit job og studere på fuld tid, da jeg havde brug for at betale regningerne, så jeg blev meget god til 3 ting:

  1. Tidsadministration
  2. Disciplin
  3. Organisation

Tidsadministration

Jeg begyndte at arbejde kl. 7, så jeg begyndte at stå op kl. 4:30 de fleste dage. Jeg startede dagen med freeCodeCamp udfordringer og kaffe. Nogle gange læste jeg også fra en bog eller lavede andre selvstudier, afhængigt af hvad jeg arbejdede med i øjeblikket. Jeg studerede også i min frokostpause og efter arbejde, men jeg kom til enighed med det faktum, at jeg ikke var så produktiv i løbet af ugen på grund af arbejde. Så i løbet af ugen lavede jeg for det meste korte udfordringer, læsning og så videre. Og jeg arbejdede på projekter i weekender, helligdage og fritid.

Hvis jeg havde 30 minutter, ville jeg læse 30 minutter. Hvis jeg havde 15, studerede jeg i 15 minutter. Jeg brugte hvert eneste gratis øjeblik på min dag til at studere.

Om søndagen spiste jeg de fleste af mine måltider i ugen, så jeg behøvede ikke bruge tid på at lave mad, og jeg skulle ikke ende med at spise usunde ting. Jeg planlagde og samlede alt, hvad jeg havde brug for til arbejde i ugen, så jeg behøvede ikke bruge ekstra tid udover den normale arbejdstid.

Heldigvis efter juni blev min arbejdstid reduceret fra 10-12 til 8, så jeg arbejdede nu med en normal tidsplan, og der begyndte jeg at øge tempoet.

Disciplin

Du bliver nødt til at studere selv på dage, du ikke har lyst til det. Her er hvor motivation også spiller en stor rolle, men disciplin er vigtig - især hvis du er som mig og bliver distraheret meget med sociale medier og kattevideoer.

Det bedste tip, jeg kan give dig for at bekæmpe fristelsen til at læse artikler online, er dette: hvis du kommer med et spørgsmål i dit hoved som "hvordan flyver fly?" (som normalt er den type spørgsmål, der får mig med og suger mig i 30 minutter), skriv det ned et eller andet sted og lov dig selv, at du kan læse alt om det, når du er færdig med det, du laver.

99% af tiden er du ligeglad med det, fordi disse spørgsmål bare dukker op i din hjerne, fordi det vil blive distraheret. Skub igennem, så slår du det.

Et andet aspekt af disciplin er at skulle vælge at studere frem for andre ting. Dette er den ikke så sjove del. Jeg var nødt til at opgive mange, mange ting, som jeg nød at favorisere studere, og jeg kan ikke vente med at kunne vende tilbage til dem. Jeg gjorde det bare fordi jeg ønskede at blive udvikler hurtigst muligt (se Motivation nedenfor), men selvom du ikke har travlt som jeg var, kan du opleve, at du bruger meget tid på at gøre ting, selv selvom de er behagelige og pæne, skal du tage for meget af din tid.

Du bliver nødt til at prioritere og træffe hårde valg.

Motivering

Jeg havde en meget stærk motivator, som blev udvikler og flyttede til Europa. Dette var mit mål i lang, lang tid, og jeg nåede det punkt, hvor jeg blev frustreret over, at jeg ikke fik det. Alle mine venner forlod byen, jeg har næsten ingen familie her, jeg følte mig isoleret og ville forlade.

Det var det, der skubbede mig. Det føltes som en ild under mine fødder, jeg følte, at jeg ikke havde noget valg. Du har brug for en stærk motivation til at foretage radikale ændringer. Jeg ved ikke noget om dig, men jeg er en slags "ikke ordne det, der ikke er brudt", så det er virkelig svært at få mig til at gøre tingene bare for at gøre det.

Mine hobbyer er alle meget praktiske og produktive: havearbejde, yoga, madlavning. Jeg har brug for en grund til at gøre dem (jeg vil have gratis grøntsager, ryggen gør ondt, jeg er sulten). Hvis du er noget som mig, bliver du nødt til at finde en gulerod for at holde dig i gang.

Brug lidt tid på at tænke over dette, hvad er det nøjagtigt, du vil opnå ved at afslutte freeCodeCamp? Hvad vil du ændre eller få i dit personlige liv gennem det?

Curriculum + Supplerende ressourcer

Følgende er nogle af de supplerende ressourcer, jeg brugte på min freeCodeCamp-rejse. Husk, at dette ikke er en udtømmende liste, fordi jeg lavede masser af googling, og at nogle af disse kurser ikke er gratis.

Responsivt webdesign: Dette var den del, som jeg allerede havde nogle erfaringer med, så det var let og sjovt. Jeg brugte nogle supplerende ressourcer, især til Flexbox. Mit yndlingssted for dette er internet er hårdt.

JavaScript-algoritmer og datastrukturer: Når jeg først kom til JavaScript-modulerne, blev jeg tilsluttet. Alt var super sjovt, jeg lærte meget, og jeg var ivrig efter at omsætte det i praksis.

Til dette afsnit brugte jeg for det meste bøger. Jeg havde allerede nok øvelser med freeCodeCamp, men jeg havde brug for mere i vejen for forklaringer. Begyndelsen JS har også masser af øvelser.

  • Begyndende JavaScript 5. udgave
  • Du kender ikke JS
  • Programmering af fundamenter med JavaScript, HTML og CSS
  • JavaScript-dokumentation

Da jeg nåede dette afsnit, sluttede jeg mig også til 1 million kvinder til Techs (1MWTT) Summer of Code-program. Jeg lærte grundlæggende Python og grundlæggende til avanceret JavaScript, som hjalp meget, især med løfter.

At lære Python hjalp mig også med at forstærke nogle grundlæggende programmeringskoncepter. Jeg anbefaler seriøst, at når du føler dig sikker på JavaScript, skal du prøve et nyt sprog, bare dets grundlæggende begreber. Du vil være langt mere behagelig bagefter, når du først ved, hvordan du gør det samme med forskellige værktøjer.

JavaScript-rammer: Dette afsnit var også godt, da det gav mig et fundament i React og Redux. Jeg havde allerede fulgt et React-kursus om Udemy, React 16.6 - Den komplette guide (inkl. React Router & Redux).

Jeg kan varmt anbefale dette kursus og andre af samme forfatter. Han er utrolig grundig, og hans forklaringer er fantastiske. Dette var et af de få Udemy-kurser, hvor jeg faktisk fulgte det projekt, han lavede: Jeg ser normalt videoerne og anvender principperne på det, jeg arbejder på.

På 1 millionwomentotech havde vi en React-uge, der for det meste var React-indfødt, og så begyndte jeg at lege med den. På det tidspunkt begyndte jeg også at arbejde på mit sideprojekt med min mand, som vi besluttede at skulle være en PWA med React.

Jeg kan ikke understrege, hvor vigtigt det er at bygge noget eget fra bunden. Jeg har lært meget mere om et par uger med at bygge vores app, end jeg har lært med noget kursus eller tutorial.

API'er og mikroservices: Dette afsnit var en stor åbenbaring for mig og ændrede alt. Indtil dette modul var jeg sikker på, at jeg ville være front-end-udvikler, men efter at have lært Node.js begyndte jeg at tænke på at være en back-end- eller Full Stack-udvikler. Opbygning af API'er er bare så sjovt, og du ser resultater så hurtigt. Jeg begyndte at bygge mine første små Full Stack-projekter, og jeg blev meget begejstret.

Nogle af de ressourcer, jeg brugte:

  • The Complete Node.js Developer Course (2. udgave)
  • Node Girls Intro til Backend Development med Express
  • Node Docs
  • Express Docs
  • NodeSchool
  • Introduktion til Node.js
  • REST & GraphQL API Design i Node.js, v2 (ved hjælp af Express & MongoDB)

I løbet af denne tid meldte jeg mig også til "1MWTT", og jeg blev bedt om at oprette en Probot-app til on-boarding frivillige med Node. Dette gav mig også øvelse med Node, hvilket var meget sjovt.

QA og informationssikkerhed: Dette modul var også en øjenåbner. Indtil da havde jeg aldrig nogensinde skrevet en eneste test i mit liv. Nu elsker jeg at skrive tests, og jeg blev endda superinteresseret i Test Driven Development.

Jeg brugte for det meste dokumenterne til dette afsnit, men så besluttede jeg også at teste min front-end, og jeg fandt dette fantastiske kursus på Udemy, som jeg ikke kan anbefale nok. Instruktøren er langt den bedste instruktør, jeg nogensinde har set på Udemy. Jeg kan ikke vente med at tage de andre kurser, hun udgiver i fremtiden.

- Chai dokumenterer

- React Testing med Jest og Enzyme

Datavisualisering med D3: Dette var det sværeste certifikat, hands down. Forklaringerne var gode, men når du først er kommet til projekterne, finder du ud af, at udfordringerne kun dækker det første projekt, og du er lidt alene for resten. Og der er ikke masser af gode ressourcer online. Jeg læste hovedsageligt dokumenterne og brugte selvstudier. Her er de ressourcer, der endelig fik mig gennem denne certificering:

- D3.js Tutorials af d3Vienno

- D3-dokumentation

Tip til afslutning af læseplanen

Sammenfattende er det de ting, der hjalp mig mest med at nå mit mål om at afslutte læseplanen:

  • Brug læseplanen som en køreplan, men suppler med andre ressourcer
  • Bliv ikke fast i længe: Stil spørgsmål, Google, par-program.
  • Sæt realistiske mål for hver dag og uge. Slå ikke dig selv, hvis du er langsommere en uge: livet sker. Lad det ikke kaste dig ud af kurset.
  • Husk din motivation: det er det, der skubber dig gennem de hårde dage.
  • Prioriter: du bliver nødt til at skære ned på den tid, du bruger på at gøre andre ting.
  • Glem ikke at tage fridage. De er vitale for læringsprocessen. Og få nok søvn!

Efter freeCodeCamp følte jeg mig lidt tabt. Dette var køreplanen, der ledte mig gennem min rejse fra lærer til udvikler.

Efter et par dage med refleksion og planlægning helligede jeg mig til mit sideprojekt, som jeg bygger sammen med min mand. Vi lærer og har det sjovt, og vi er meget begejstrede for det.

Og ja, jeg fik et jobtilbud lige efter at have afsluttet læseplanen , men mere om det i en kommende artikel.

Alt i alt kunne jeg ikke have lært alt det, jeg har lært så hurtigt, hvis det ikke havde været for freeCodeCamp, og jeg er yderst taknemmelig for alle, der muliggør et sådan vidunderligt projekt.

Hvis du føler det samme og er i stand til at give tilbage, kan du overveje at donere til freeCodeCamp her.