Macbook med skjermen halvveis åpen.

Hvordan jeg lærte meg JavaScript, React.js, Python og mye annet på litt over ett år

Jeg har alltid vært interessert i programmering, og det var faktisk denne interessen som gjorde at jeg i sin tid endte opp som teknologijournalist. Rundt 1989 skrev jeg et kurs i 6510-assembly for Commodore 64, noe som sikret meg jobben som redaksjonssekretær i hjemmedatabladet Norsk Datormagazin (ta gjerne en kikk på denne digi.no-saken jeg skrev om hvordan du programmerer 6510-assembly i VS Code).

Etter hvert som jeg «gikk gradene» fra journalist til sjef for produkttester og senere redaktør i blant PC World Norge, Tek.no og nå Digi.no, ble det imidlertid mindre tid til å dyrke kodeinteressen.

Sommeren 2018 fant jeg ut at jeg hadde lyst til å brushe opp det lille jeg kunne om HTML, CSS og JavaScript, og begynte derfor å utforske diverse kurs på nettsteder som Freecodecamp.org, Udemy, Udacity, EdX og norske Scrimba. Jeg syntes det gikk ganske raskt å få dreisen på det grunnleggende, siden jeg jo har vært litt borti en del ulike programmeringsspråk opp i gjennom årene.

Jeg har nesten én times reisevei med tog til og fra jobb, og jeg bestemte meg raskt for å bytte ut Netflix med noe mer matnyttig: ta nettbaserte kurs i programmering, trene på det jeg har lært via nettsteder som Codewars.com, og etter hvert også gyve løs på egne kodeprosjekter. Nå bruker jeg to timer hver dag – som tilsvarer reiseveien – på koding, i tillegg til noen timer i helgene.

Dette er noen av kursene jeg har tatt så langt. Noen bra, noen ikke fullt så bra.

For noen av kursene har jeg valgt å kjøpe sertifikater, bare for å ha bevis på at kursene er gjennomført. For eksempel syntes jeg det var greit å kjøpe sertifikat for kurset i computer science og Python-programmering fra MIT, og for noen av de mest omfattende Udemy-kursene.

Ettersom jeg tok en pause fra React for å ta 6.00x-kurset fra MIT i Python-programmering, samt et Harvard-kurs i spillutvikling, følte jeg at React-kunnskapene mine begynte å bli litt rustne (man glemmer fort!), så jeg pløyer nå derfor gjennom Scrimba-kurset "The React Bootcamp – become a professional React developer". Et svært bra kurs, hvor den store fordelen er at du via Scrimba-plattformen kontinuerlig må bygge ting selv, i stedet for å sitte å se på at andre koder.

I tillegg til kodingen (og kursene) passer jeg på å holde meg oppdatert via artikler og fagblogger på blant annet Medium.com, samt at jeg hører på podcaster som Syntax.fm, React Podcast og flere andre mens jeg trener.

MIT-kurset på Edx holdt en høy kvalitet, og var instruktør-ledet, med to eksamener underveis.
Web-utvikler-bootcampen fra Colt Steele holdt også høy kvalitet.
Oppfølgeren til Web developer bootcamp gikk inn på mer avansert frontend- og backend-utvikling, og tok også for seg visualiseringer med bl.a. D3, SVG, osv. Samt testrammeverk som Jasmine, og mye mer.
Det var en del React i de første Udemy-kursene, men jeg hadde lyst til å gå dypere ned i materien og også lære nye konsepter som Hooks (som kom i React 16.8).
Jeg hadde vært litt borti Next.js i forbindelse med ett av de andre kursene, og hadde også lyst til å kikke på "konkurrenten" Gatsby.js. Det var det jeg til slutt bygde denne nettsiden med.
FreeCodeCamps kurs er fine, siden de krever at du koder selv – ikke bare ser på. Jeg gikk gjennom det meste på Freecodecamp i løpet av høsten 2018/vinteren 2019.
Algoritmer og datastrukturer bør man ha noenlunde snøring på. Men jeg brukte langt under de 300 timene det hevdes at kurset skal ta – siden mye var kjent fra før.
Jeg trengte et bra designverktøy for å designe apper og web-sider, og etter å ha prøvd noen forskjellige (Sketch, XD) landet jeg på Figma. For å komme igang, og lære noen smarte teknikker av ekspertene, tok jeg et 4-timers Udemy-kurs.
React Native-kurset inneholdt mer enn 45 timer video, og fokuserte på utvikling av React Native-apper både med og uten Expo.

I tillegg har jeg noen småkurs i blant annet Docker (Udemy), samt et CSS Grid-kurs fra Scrimba.

Jeg tror faktisk det er nok kurs – og på tide å bygge noe i stedet. :-)

Gå til forsiden