Hvordan jeg byttet karriere ved å bruke nettkurs

Historien om hvordan jeg byttet til en karriere innen webutvikling, og en kort gjennomgang av noen av ressursene jeg brukte (Udacity, Coursera, Khan Academy)

Sommeren 2015. Etter en kort periode på seks måneder som markedsføringsstudent ved en ganske kul oppstart i Dublin, bestemte jeg meg for å dra tilbake til hjemlandet uten noen reell plan.

Som markedsføring begynte jeg å lete etter markedsføringsjobber, og i løpet av den perioden følte jeg meg tvunget til å sjekke ut de nye nettutviklingskursene på Khan Academy, et nettsted som jeg tidligere har brukt til å lære meg noen grunnleggende programmering. Jeg gikk gjennom flere kurs, og i løpet av et par uker la jeg merke til at jeg ville bruke 5 eller 6 timer om dagen på å studere det.

Det ble vanskeligere og vanskeligere å ignorere betydningen av min glede i å lære programmering. Det motiverte meg til å ta en beslutning: i stedet for å bruke et par år på å markedsføre mens jeg studerte programmering, bestemte jeg meg for å gjøre forpliktelsen til å studere på heltid slik at jeg kunne få det til etter noen måneder (forhåpentligvis uten å betale for noe ).

Det ville bety at jeg måtte gjøre noe som de fleste i midten av tyveårene, som meg, ikke ville vurdere å gjøre eller, hvis de vil, sannsynligvis ikke kunne gjøre det. Jeg bestemte meg for å bo sammen med foreldrene mine i en ubestemt periode.

Med en frisk følelse av engasjement og spesielt motivert for å få tilbake autonomien min, trakk jeg opp antall studietimer fra 5 eller 6 om dagen til et sted mellom 8 og 12. Denne prosessen varte i noen måneder, og jeg endte opp med å gå gjennom flere følelsesmessige tilstander: fra å føle meg spent og motivert til å ha sporadiske perioder med liten fortvilelse til å føle at jeg mistet min stadig svekkende følelse av fornuft, og så tilbake til spenningen og så videre. Frem og tilbake. Igjen og igjen. Flere ganger (takk Gud for mammas matlaging).

I flere år, hver gang jeg prøvde å lære programmering hjemme, ville jeg føle meg overveldet over hvor vanskelig det var å lære av dårlig formaterte veiledningsartikler. Heldigvis gjennomgikk nettbasert utdanning en periode med dyp innovasjon, som forandret alt.

Jeg skal nå prøve å beskrive hvordan det skjedde mens jeg presenterte mine synspunkter og tilbakemeldinger angående ressursene jeg brukte.

Khan Academy

Jeg valgte først Khan Academy, på grunn av hvor enkelt det var å komme i gang. Måten det fungerer på var ganske bra også: Jeg ville skrevet kode og utdataene ble umiddelbart oppdatert i et lite vindu. Noen år før ville jeg prøve å lære C ++ ved å lese artikler, noe som var ganske tøft hvis du ikke har noen til å hjelpe deg. Denne gangen hadde jeg en ganske praktisk visuell støtte, og det var ingen kompilering / lagring / kjøringsprosess, i motsetning til andre programmeringsspråk eller læringsmetoder. Det gjorde at jeg kunne fokusere på å lære og lære alene.

Mange ting var ikke klart for meg: Det var ganske frustrerende for meg at jeg så ut til å ikke være i stand til å lære forskjellen mellom den innfødte JS-syntaks og syntaksen som tilhører tredjepartsbiblioteker (som KA bruker). Jeg syntes det også var litt rart at jeg ikke så ut til å være i stand til å finne ut hvordan jeg kunne gjøre prosjektene jeg jobbet med tilgjengelige andre steder utenfor Kahn Academy-miljøet.

Uansett, siden jeg tidligere hadde fullført det grunnleggende JS-kurset, gikk jeg videre til alt annet: Jeg sjekket ut kursene på HTML / CSS, SQL og jQuery, og jeg lærte å bruke programmering til å lage spill. Et spesielt interessant kurs var Natural Simulations, der studentene lærer å bruke programmering for å lage animasjoner som simulerer forskjellige fenomener som harmonikk, magnetisme og partikkelgenerering.

Jeg gjorde også hele datavitenskap-blokken som inkluderte algoritmer og kryptografi.

Til tross for at de var veldig interessante, syntes noen av disse kursene å være for avanserte eller vanskelig for Khan Akademis undervisningsstil.

Pros

  • Helt gratis - Khan Academy støttes av donasjoner (ligner på Wikipedia-modellen).
  • Umiddelbar tilbakemelding - du kan umiddelbart se resultatet av arbeidet ditt når du programmerer, skriver kode på en boks og ser utdataene til en annen.
  • Veldig vennlig og lettartet tilnærming.
  • Kravet om å bygge prosjekter og det høye antallet øvelser maksimerer kunnskapsoppbevaring.

Ulemper

  • Programmeringsutfordringene føltes dårlig designet etter hvert som innholdet ble mer avansert.
  • Lærerne og utfordringene var noen ganger for vennlige / barnslige, noe som absolutt fungerer bra for yngre elever. Gitt at noe av materialet var litt for vanskelig, føltes det imidlertid rart. Se for deg om begreper som nonperturbativ renormaliserbarhet og diffeomorfisme samvariasjon ble diskutert på Sesame Street. (Jeg har absolutt ingen anelse om hva disse ordene betyr forresten).
  • Det var litt vanskelig å få hjelp og stille spørsmål. Noe som er veldig forståelig gitt at det hele er gratis uansett.
  • Måten utfordringer ble utformet på, krevde at studentene noen ganger skulle fullføre dem på veldig spesifikke måter (du kan skrive riktige løsninger som ikke vil bli akseptert av graderingsalgoritmen).
  • Det er veldig avhengig av sitt eget spesifikke miljø som gjør det litt vanskelig for studentene å bruke koden deres andre steder (selv om det er mulig).

Udacity vs Team Treehouse

Så etter å ha fullført alt jeg måtte fullføre på Khan Academy, ville jeg flytte til ressurser som føltes mer profesjonelle. Etter å ha prøvd å finne ut hva som var mest fornuftig for meg ved å lese anmeldelser og meninger, innsnevret jeg valget til Udacity og Team Treehouse.

Team Treehouse virket veldig strukturert. En noe mer profesjonell og polert versjon av Khan Academy. Udacity virket større og litt rotete (i det minste den gangen). Til slutt valgte jeg Udacity, fordi det så ut til å være mer fokusert på å lære et nytt hele ferdighetssett i stedet for spesifikke språk eller verktøy. Udacitys innhold er også gratis (selv om bare den betalte versjonen har coaching, gradering, kodevurdering osv.), Mens Team Treehouse krevde en månedlig avgift (som faktisk virket veldig rimelig).

Udacity

Siden jeg var med i “Det er fortsatt mye grunnleggende ting å lære før jeg forpliktet meg til et bestemt felt” -del, bestemte jeg meg for å melde meg på disse tre spesielt gjennomgåtte kursene:

1 - Introduksjon til informatikk

Flott kurs og flott lærer. De fleste av problemene, som er ganske små, er relatert til det faktum at det var et av de første kursene i Udacity, så noen ganger føltes det litt datert. Jeg lærte mye uansett og lo mange ganger av den unike humorstilen til læreren, Dave Evans.

2 - Programmeringsspråk

Fin måte å forstå hvordan noen av de lave nivåene fungerer, men det var litt for avansert for mine formål. Jeg gjorde mitt beste for å fullføre utfordringene på egen hånd, men fullførte knapt sluttprosjektet uten å sjekke ut løsningen. Det var bra, for jeg var ikke spesielt interessert i å utdype dette emnet. Læreren, Westley Weimer, var også flott og ganske morsom.

3 - Nettutvikling

Denne er ganske interessant, fordi den er lært av en av grunnleggerne av Reddit. Hans egen erfaring som utvikler ble ofte brukt til å lage noen veldig nyttige poeng på tvers, noe som var ganske morsomt. Imidlertid følte hele kurset ruset fordi det hadde for mange vanskelige konsepter som beveget seg for raskt. Likevel ga Steve Huffman som lærer klare forklaringer.

Etter disse 3 kursene følte jeg at jeg begynte å ha et ganske godt grep om det grunnleggende om programmering. Jeg følte meg klar til å faktisk fokusere på det jeg ønsket å gjøre: front-end webutvikling.

Coursera

Målet mitt var å registrere meg på Udacitys Front End Nanodegree-kurs, men jeg bestemte meg for å prøve ut introduksjonen til HTML CSS, JS fra Coursera etter at noen venner anbefalte det til meg. Jeg følte at det kunne være nyttig å lære de samme konseptene fra forskjellige kilder.

Til tross for at læreren var veldig grundig med sine forklaringer og så ut til å tydelig forstå synspunktet til at elevene lærte dette innholdet, føltes kurset for tradisjonelt og slett ikke tilpasset læring på nettet. Både Khan Academy og Udacity hadde innovative måter å undervise på. Førstnevnte brukte det nevnte systemet med doble boksene (kode og utdata), og sistnevnte hadde videoer av lærernes hender som tegnet og skrev på en tavle (et nettbrett faktisk) mens de forklarte konsepter. Courseras kurs var imidlertid ikke så annerledes enn et filmet foredrag. Men som jeg sa, innholdet ble forklart veldig tydelig, noe som var veldig fint.

Jeg lærte mye av dette kurset, og jeg vil absolutt anbefale det, forutsatt at du er i stand til å tåle det som til tider føltes som en litt uutholdelig kjedelig læringsopplevelse.

Tilbake til Udacity

Nå hadde jeg brukt rundt 6 uker på å lære på nettet. Endelig skulle jeg dykke inn i et spesifikt felt på en måte som var strukturert for å maksimere jobbverdien. I dette tilfellet ved å sjekke ut kursene i Udacitys Front-End Nanodegree.

Igjen, innholdet i seg selv er gratis, men alt annet er det ikke. Jeg bestemte meg for å ta risikoen for ikke å betale for noe og bare få tilgang til innholdet. Så hvis jeg endte opp med å føle at et faktisk sertifikat og kodevurderinger var nyttige, ville jeg registrere meg og sende inn prosjektene for evaluering.

Jeg følte meg veldig trukket mot ideen bak Nanodegrees: Strukturen deres var fokusert på å få studentene til å gjennomføre flere komplekse prosjekter mens de lærte fra beslektede kurs. Det betydde at du hadde frihet til å lage noe selv og legge det i porteføljen din (noen av disse prosjektene er imidlertid delvis satt opp tidligere for deg, skjønt).

Online sertifikater betyr ikke mye, men din egen personlige webside som viser noen av prosjektene dine, gjør det. Og Udacity vet det. Den tilnærmingen utgjorde hele forskjellen for meg gitt at min bakgrunn hadde lite å gjøre med teknisk.

Dette var den viktigste delen av læringsprosessen min, så jeg vil gi en oversikt over hvordan det gikk. Nanodegree ble delt inn i 6 prosjekter, som studentene ble pålagt å fullføre:

1 - Å bygge en porteføljeside

Hele ideen om å ha et prosjekt bestående av å bygge din egen porteføljeside var strålende. Du lærer både programmering og hvordan du utvikler ditt eget personlige merke. Selve støttekursene kunne vært litt bedre. De er for fokusert på beste praksis og moderne tilnærminger, noe som er kjempebra, men for nybegynnere som vet om ingenting, føles det som om alt går litt for fort. Resonnementet deres er imidlertid solid, de føler at elevene enkelt kan lære språkets detaljer ved å søke på nettet hvis de må. Mangelen på skikkelig introduksjon til noen grunnleggende konsepter gjorde at jeg virkelig setter pris på kunnskapen jeg skaffet meg med Coursera og Khan Academy.

Prosjektets støttekurs inkluderte også noe innhold om responsiv design og håndtering av responsive bilder. Dette er veldig viktig, men igjen føltes det for tidlig å få elevene til å tenke på disse tingene siden det grunnleggende var litt skjelven. Ærlig talt følte jeg at tilnærmingen deres kunne ha vært bedre fra et pedagogisk synspunkt. Jeg følte meg ofte frustrert over mangelen på detaljerte forklaringer.

Når det gjelder prosjektet, avsluttet jeg det i henhold til spesifikasjonene deres og forbedret designet etter å ha søkt etter inspirasjon på nettet. Du kan sjekke det her: http://pesteves8.github.io/

2 - Interaktiv CV

Jeg var veldig glad for at dette kurset introduserte noen nye viktige konsepter som å dynamisk laste inn data på en side. Imidlertid følte jeg ikke at ting ble tydelig forklart.

Kurset introduserer flere viktige konsepter som tredjepartsbiblioteker (jQuery) og bruker JSON som en datastruktur, mens det kort krever at studentene skal samhandle litt med et eksternt API (Google Maps). Selve prosjektet var veldig nyttig for meg siden jeg faktisk brukte det som min online CV. Jeg har også laget en PDF-versjon fra den.

3 - Classic Arcade Game Clone

Jeg elsket denne. Innholdet i støttekurset (Object Oriented Javascript) var mye vanskeligere, men jeg hadde ikke noe imot det fordi læreren var virkelig, virkelig god. Dette kurset ryddet ut mange veldig forvirrende begreper om Javascript. Når det gjelder prosjektet, var det veldig gøy, og måneder etter at jeg var ferdig med det, ville jeg fremdeles noen ganger gå tilbake til det for å endre eller legge til noe. Jeg var veldig takknemlig for lærerens klare forklaringer. Spill gjerne sluttresultatet: https://pesteves8.github.io/frontend-nanodegree-arcade-game/

4 - Nettstedsoptimalisering

Denne inkluderte nok et par kurs om veldig nyttige konsepter som ikke ble forklart så bra som jeg ville. Imidlertid syntes jeg det var en god idé å inkludere disse fagene, siden folk forsømmer dem og det hjelper studentene å skille seg ut når de søker jobb.

5 - Nabolagskart

Støttekurset for dette prosjektet liknet det som var om objektorientert Javascript. Flott lærer, veldig langsomme klare forklaringer og en god balanse mellom lettere, humoristiske biter og mer alvorlige ting. Læreren, Ben Jaffe, så ut til å ha et ganske godt grep om hvordan elevene har det på kurset. Dette kurset var ikke spesielt enkelt, siden det introduserer rammer for enkeltsidesapplikasjoner (SPA).

Jeg likte det virkelig og følte at jeg lærte noen av de viktigste begrepene som faktisk ville hjelpe meg med å jobbe.

6 - Testing av feedleser

Denne er en liten introduksjon til testing. Ikke mye å si. Det var kort og søtt.

Etter det gjorde jeg også et valgfritt prosjekt kalt Calorie Tracker. Det krevde at elevene lærte et rammeverk kalt Backbone, av seg selv. Jeg endte opp med å gjøre det fordi jeg virkelig ønsket å forsikre meg om at jeg var god nok, spesielt siden jeg ikke hadde noen støtte, kodevurderinger eller sertifikater.

Til slutt bestemte jeg meg for å lære noen ting som jeg fortsatte å se nevnt på Internett (som AngularJS) og endte opp med å gjøre et eget prosjekt. Det kalles mrMDB og det er en iMDB, Metacritic og Rottentomatoes. Med tanke på min interesse for filmer, tenkte jeg bare å bygge noe jeg ville bruke.

Jeg sørget også for at jeg lærte noen flere av de mest nevnte verktøyene og konseptene som jeg ville funnet på nettet. Ting som AngularJS, ECMAScript 2015, Webpack, CSS forprosessorer, modulære JS, etc.

Hvis jeg husker riktig, tok det meg rundt 4 måneder å fullføre dette Nanodegree, inkludert ekstraprosjektene og mye (og jeg mener mye) avbrudd og omveier for å utdype konsepter som kom opp ofte. For øvrig hadde Udacity også noen tips til hvordan du kan sette opp Linkedin-profilen din, noe som var kjempebra.

Til tross for Udacitys mindre feil, kan jeg ikke understreke nok hvor stor deres filosofi om undervisning er og hvor viktig den var for utviklingen min. Det virker også klart at de absolutt er opptatt av å bli bedre og bedre.

En siste ting: Jeg viste deg at du ikke virkelig trenger å betale 200 $ i måneden, men det ville gjøre livene dine mye enklere. Så jeg vil oppfordre deg til å prøve det og se hva som fungerer best for deg.

Resultatet

Etter alt dette begynte jeg å sende noen CV-er. Det tok litt tid, men etter hvert fikk jeg et par svar, og etter å ha akseptert en av dem, fikk jeg omtrent 2 eller 3 til. Det var det jeg var i. Så, 6 måneder etter å ha startet min nye karriere, fikk jeg en kontraktfornyelse og en økning (veldig validerende faktisk).

Etter det tjente jeg like mye som en hvilken som helst annen programmerer på mitt nivå, fikk ofte kontaktet på Linkedin og følte meg ganske komfortabel med det faktum at jeg hadde en jobb som jeg likte i en ganske trygg bransje. For øvrig, denne jobben var fokusert på Angular, og jeg ble også pålagt å raskt lære og forstå back-end utvikling med C # /. NET.

Siden den gang endte jeg opp med Full Stack Web Developer Nanodegree, og etter det gjorde jeg Senior Web Development Nanodegree. Jeg bør påpeke at jeg ikke gjorde halvparten av innsatsen på disse Nanodegrees, som jeg gjorde med Front-End Web Development. Jeg ville bare sørge for at jeg skulle få en bedre forståelse av noen konsepter som jeg ikke var godt kjent med ennå.

Konklusjon

Så der har du det. Totalt tok det meg rundt 6/7 måneder med fulltidsstudier å faktisk få en jobb som utvikler uten å måtte skaffe meg et sertifikat, betale for noe eller ha nettverk og støtte du får når du registrerer deg for offline kurs.

Igjen hadde jeg luksusen av å kunne bo hos foreldrene mine i løpet av denne perioden, noe mange mennesker med familier og regninger ikke skulle kunne gjøre. Poenget mitt er at jeg egentlig ikke skal si noe sånt som “Vil du oppnå noe? Det er enkelt: jobb hardt, gjør det! VÆR IKKE ET PUSS! ”Eller noe av det. Hver persons liv er annerledes, og jeg er veldig klar over mine heldige omstendigheter.

Uansett, før alt dette startet, brukte jeg mange timer på å søke etter informasjon om hvordan jeg kan lære på nettet, eller til og med om jeg i det hele tatt skulle investere på en karriereendring, så dette er den typen innlegg jeg hadde ønsket å lese på den tiden. Forhåpentligvis kan det være nyttig for noen av dere.

Jeg er veldig takknemlig for å ha bodd i en tid der jeg har ressurser som Khan Academy og Udacity, som begge har hatt veldig dypt inntrykk i livet mitt, og jeg er ærlig spent på å se hvordan selskaper som disse fortsetter å påvirke verdenen til nettbasert utdanning når de modnes. Det virker som om utdanning av god kvalitet bare vil bli mer og mer tilgjengelig, og åpne dører som ellers ville vært stengt for mennesker begrenset av ubeslektede omstendigheter.

Jøss, dette er definitivt spennende tider!

Du syntes denne historien var nyttig eller underholdende, ta gjerne klapp slik at andre kan finne den.