Ekspertidele mõeldud artiklisarja järgmises osas annab Kethmar Salumets developerHabitsist soovitusi veebiarendajatele, kuidas mõni uus tehniline teema endale hästi selgeks teha ehk kuidas kõige paremini õppida.
Selles kirjatükis näitan ma ära need kolm sammu või raamistiku, mida olen ise kasutanud uute arendusteemaliste teadmiste omandamiseks.
Kõigepealt leia õppimiseks oma lemmiklahendus
Inimesed on erinevad. Mõned meist haaravad uusi teadmisi kiiresti, teised aga vajavad selle töötlemiseks ja omandamiseks rohkem aega. Mõned eelistavad vaadata animeeritud videoid, teised saavad vajaliku kätte ka mõnest keerulise sõnastusega tekstist. Sellepärast on oluline mõista oma eripära ja leida parim õppimise stiil.
Seda artiklit lugedes oled tõenäoliselt juba harjunud lugema ka tehnilisi raamatuid, järginud õpetustena blogiartikleid ja videokursusi. Kui aga pole seda varem teinud, siis vähemalt oled kirjutanud mõned koodiread, kasutades ametlike dokumentide abi.
Mis on minu eelistatud õppimisviis?
Kõik eelmainitud meetodid esindavad erinevat tüüpi õppimisviise ja oluline on endalt küsida: mis on minu eelistatud õppimisviis? Mõelge sellele – mis järgmistest väidetest kirjeldab sind kõige paremini, kui proovid näiteks õppida mõnda uut programmeerimiskeelt?
- Sukeldun kohe koodikirjutamisse.
- Eelistan teoreetilise aluspõhja saamiseks esialgu vastavaid raamatuid lugeda.
- Mulle meeldib vaadata videoõpetusi, kui keegi teine selgitab mõisteid ja teeb ka koodinäiteid.
- Mulle meeldib omandada teadmisi lühikeste, kõige olulisemast rääkivate blogiartiklite põhjal.
- Tavaliselt haaran ma esimese asjana kohe dokumentatsiooni järele.
- Leian mõne hea Boilerplate´i ja vaatan, mida seal tehtud on.
Kõik eelmainitud lähenemised on head. Sõltuvalt sellest, kui palju sa teema kohta juba tead ning mis on õppimise eesmärk, võivad kõige paremad olla erinevad õppimisviisid.
Minu raamistik tehniliste materjalide edukaks omandamiseks
Nüüd, kui oled analüüsinud, millised õppimisviisid sulle kõige paremini sobivad, on mul varuks veel üks hea harjutus. Mõtle ühele tehnilisele teemale, mida soovid õppida ja küsi endalt kolm küsimust:
- Mis on minu eesmärk selle teema õppimisel?
- Kui palju ma teemast või muust sellega seonduvast juba tean?
- Kuidas ma plaanin uued teadmised omandada? (vali siit: koodi sukeldumine, raamatute lugemine, videote vaatamine, blogiartiklid, dokumentatsioon, avatud lähtekood)
Teadmiste omandamise erinevate viiside segamine aitab samuti luua teemaga erinevaid seoseid.
Nende küsimuste vastuste põhjal koostan tavaliselt teadmiste omandamiseks vajalike allikate nimekirja. See sisaldab vähemalt kahte erinevat tüüpi õppimist pluss lisaks ka praktilist osa.
Miks just kaks? Sest teadmiste omandamise viiside segamine aitab kaasa ainega seotud teistsuguste seoste loomisele. Samuti võib erinevatest allikatest õppida erinevaid asju. Praktiline osa on vajalik kasvõi selleks, et noh… mina (ja loodetavasti ka teised) õpin neid teemasid selleks, et praktikas kasutusele võtta.
Näide 1
Eesmärk: õpi React´i mõistma, kuidas see töötab, ja kirjuta SSR React´i veebisait nullist valmis.
Kui palju ma tean: tean Javascripti ja VueJS´i, mis väidetavalt on üsna sarnane React´iga.
Kuidas teadmisi omandada: kuna ma tean, et React on kirjutatud mulle tuttavas keeles ja kasutab sellega sarnast raamistikku, siis olen kindel, et süntaksi ja põhitõdede mõistmiseks on palju abi mõnest heast Boilerplate´ist. Sügavamaks mõistmiseks loen veel läbi mõne raamatu. Hakkan veebisaiti üles ehitama Boilerplate´i näidete ja teadmiste põhjal. Veebisaiti ehitades loen samal ajal ka raamatut.
Näide 2
Eesmärk: õppida GoLangi, et oskaks luua Go´l põhinevat lihtsat REST API-t.
Kui palju ma tean: tunnen serveri-kliendi kommunikatsiooni, kuidas kirjutada PHP-s ja Node´i tunnen ka.
Kuidas teadmisi omandada: seekord on minu eesmärk süntaksiga hakkama saada ning API tööle panna. Selleks saab kasutada praktilisemat tüüpi õppimist. Leian mõne toreda artikli REST API-de loomise kohta GoLangis, mis on lühike ja selge. Pärast juhendiga lõpetamist ja põhitõdede selgeks tegemist vaatan Github´is näiteid ning ehitan oma lahenduse nende peale.
Ilmselgelt ei pea õppimine olema nii range ja isegi mina ei järgi alati oma plaani, kuid see on hea raamistik, mida olen mõnda aega kasutanud ning siiani pole see alt vedanud. Oluline osa on siin ka allikate kvaliteedil – eelista alati kvaliteetsemaid ressursse ja kohane nendega, isegi kui soovid kasutada mõnda muud õppimisviisi. Parem on õppida aeglaselt, kuid õigesti.
Veel soovitusi
Ära jäta õppimist venima
Õppimisel kasuta alati vahepeal mõnda aktiivsemat osa. Lugedes tee näiteks märkmeid. Videote vaatamisel järgi koodi kirjutamist jms. Tean omast käest, et õppimine läheb väga lihtsasti venima – arvad, et oled asjalik ja õpid, kuid unustad kõik juba nädala pärast.
Ära unusta kasutada vaheldumisi erinevat tüüpi õppimise vorme
Kui soovid lugeda (olgu need siis raamatud või artiklid), proovi vahepeal ka videoid vaadata. Teiselt poolt, kui eelistad lihtsalt praktilist koodikirjutamist, leia aega ka teooriasse süvenemiseks. Erinevad õppimisviisid aitavad uusi teemasid paremini mõista ja omandada. Kui kasutada erinevaid allikaid, võib oma eesmärgi saavutamiseks kombineerida erinevaid lähenemisviise.
Uute teadmiste kinnistamiseks kasuta mõnda oma lemmikprojekti
Ma ei väsi kordamast: praktiline osa on ülioluline. Kui midagi õpid, siis rakenda see kohe ka praktikasse. Mis võiks olla parem viis harjutamiseks, kui ehitada midagi, mis sulle meeldib.
Boonuseks veel üks soovitus: paarisprogrammeerimine!
Kui teil on see võimalus, proovige kahekesi paarisprogrammeerida juba mõne teemaga tuttava inimesega. See annab võimaluse jälgida arengut, küsida ja luua koodi asjatundliku pilgu all. Samuti saab teine inimene õpetamise abil oma teadmisi täiendada. Win-win!
Milliseid õppimisviise ise kasutad?