Promisljeno vjezbanje
Namjerno/promisljeno vjezbanje je poznato kao deliberate practice. Ovakvo vjezbanje se odnosni na specificnu vrstu prakse koja je svrsishodna i sistematicna. Dok standardan nacin vjezbanja nerijetko ukljucuje bezumno ponavljanje, promisljena vjezba zahtjeva fokusiranu paznju i provodi se sa specificnim ciljem popravljanja performansi na umu.
The right sort of practice carried out over a sufficient period of time leads to improvement. Nothing else. Anders Ericsson
Pravi se pazljiva dekonstrukcija cilja, odnosno dijeli u manje i lakse savladive segmente. Te se potpuno fokusira na jedan segment i svaka sesija ima unaprijed odredjenu svrhu. U pocetku je obicno dovoljno pojaviti se i upijati, ali je vremenom lakse nehajno previdjeti sitne greske i propustiti svakodnevnu priliku za iskonski napredak. Ovo se desava jer u pocetnoj fazi, dok je nesto potpuno nepoznato, pazljivo obracamo paznju na svaki korak. Ponasanje se automatizuje kroz ponavljanje koraka iznova i ono postaje nepromisljena navika. Vjezba kao bezumno ponavljanje je neprijatelj namjernom/promisljenom vjezbanju. Pocinjemo pretpostavljati da postojece vjestine postaju bolje jer sticemo iskustvo, dok zaista samo jacamo ustanovljene navike. Zato postoji tvrdnja da ce oni koji se poslom bave dvadeset godina vjerovatno imati slabiji ucinak od onih koji to rade samo pet.
Pored pazljive dekonstrukcije cilja u manje dijelove, potrebno je otkriti slabosti, testirati nove strategije za svaki segment i integrisati one djelotvorne u svoju vjezbu i praksu. Pravovremene povratne informacije (otkrivanje slabosti i analiza ucinka) i vjezbanje na rubu trenutnih sposobnosti je najveca razlika izmedju promisljene vjezbe i pukog ponavljanja aktivnosti.
Kako promisljeno uciti programiranje
Istrajnost u namjernoj/promisljenoj vjezbi, uprkos nepovoljnim okolnostima, zahtjeva intrinzicnu motivaciju. Drugim rijecima, da je moguce naci zadovoljstvo u aktivnosti zbog nje. Ekstrinzicna motivacija je manje efikasna u odrzavanju istrajnosti kroz duzi vremenski period kontinuiranih gresaka i neuspjeha dok se ne ovlada vjestinom.
- Analiziranje i dekonstrukcija zeljene vjestine u segmente
Za prvi korak je neophodno sagledati siru sliku, potom glavni cilj podijeliti u manje sistematicne segmente ili ciljeve. Eksperti sa nesvakidasnjom preciznoscu ovaj put dijele u male detaljne potciljeve i gotovo da nije moguce biti previse specifican sa njima. Ne da bi ucinak bio popravljen na svim poljima odjednom, vec da bi znali koji je sledeci cilj koji ce dobiti punu paznju.
Bez skiciranja mape puta nije moguce stici na odrediste. Tako pitanje "Koji je najdjelotvorniji put od mjesta gdje se nalazim do mjesta gdje zelim stici?" moze voditi u pravom smijeru. Ako samostalno odredjivanje puta nije najoptimalnije, zasto ne uciti od nekoga ko je vec savladao vjestinu i napravio provjerenu mapu puta (ili uporediti nastavni plan kursa, sadrzaj knjige, vlogova i blogova developera koji su pricali na tu temu itd.)?
Note 📝: Nema potrebe biti opsjednut savrsenom dekonstrukcijom puta. Pocni i prilagodi po potrebi.
- Izazovi na granici trenutnih sposobnosti.
Za svaki segmet je potrebno odrediti grupu zadataka koja ima za cilj da gura izvan trenutnih sposobnosti u okviru segmenta (ka cilju). U ovoj fazi se ne radi o sto duzoj listi zadataka koje treba obaviti ili kvantitetu. Fokus treba biti na izazovu koji pomjera granice trenutnih programerskih vjestina na nacin da je tezak i dostizan u isto vrijeme. Nakon odredjenog perioda van komfor zone (tijelo i u ovom slucaju) um se prilagodjava i takvo ponasanje postaje navika.
Na primjer, svaki zadatak uciniti oko 10% tezim od nivoa koji zvuci prijatno. Mozda je dobro povremeno izabrati znacajniji izazov i testirati koliko je zapravo moguce zagristi.
- Usporiti namjernu/promisljenu vjezbu.
Trebalo bi raditi brzinom koja odgovara trenutnoj ucinkovitosti i omogucava kontrolu preciznosti. Bolja metoda je ponavljati ispravne korake polako da bi se izgradila solidna automatizovana osnova. Brzim pomjeranjem je znacajniji rizik da se nauce i internalizuju pogresne vjestine.
Vjezba moze izazvati osjecaj frustracije zbog gresaka. Usljed nestrpljivosti lako je ubrzati sledeca ponavljanja. Ovdje nema potrebe zuriti sa naporima. Uzmite nekoliko trenuta da saberete misli, shvatite gdje je nastala greska, a zatim ponovite korake jos sporije. Odrzite sporiji tempo dok ne osjetite samopouzdanje u vezi povecavanja brzine.
- Fokus.
Zajednicka karakteristika medju onima koji brze usvajaju vjestinu je mogucnost odrzavanja intenzivnog fokusa duzi vremenski period. Sto je intenzivniji fokus tokom promisljene vjezbe znacajniji su rezultati. Medjutim, moderni svijet je pun distrakcija i dinamicnog sadrzaja koji skracuje raspon paznje.
Izgradnja fokusa je proces. U redu je poceti malim koracima i postepeno povecavati trajanje fokusiranog rada. Kljuc je birati okolinu bez distrakcija i imati spreman plan kako reagovati kada se ona pojavi. U ovisnosti od okolnosti, za izbjegavanje eksternih distrakcija je moguce ostaviti telefon u drugoj prostoriji, blokirati obavjestenja i sajtove, koristiti slusalice, raditi u tihom prostoru koji sluzi samo za produktivnost itd. Ukrotiti unutrasnje distrakcije znaci sprijeciti um da prekida tok rada. Fizicka aktivnost, istezanje, meditacija, redovne pauze pomazu u ovome, ali i "brain dump" papir za sve nevezane misli koje se mogu ostaviti za kasnije.
Potpun fokus u kracim sesijama je superiorniji od djelimicnog u duzim. Dobra ideja je izbjegavati planiranje vjezbanja u duzim vremenskim intervalima i prilagodjavanje intenziteta vjezbe da bi ona mogla istrajati tokom zadanog vremena. Djelotvornija promisljena vjezba je sa najintenzivnijim mogucim fokusom u trajanju koje je izvedivo (kraci periodi - sprint), potom uzeti pauzu i ponavljati ovaj sablon.
Pomodoro tehnika 🍅 se bazira na ovakvim sesijama. Ako Pomodoro ima previse grubu strukturu za vas, pauze mozete planirati nakon sto flow stanje zavrsi na prirodan nacin. Prisilni prekidi flow stanja su iritantni. Pauze mogu trajati od 5, 10, 15, 30 minuta do dan ili dva. Sistem treba biti prilagodjen osobi, a za to je potrebno eksperimentisati i slusati tijelo. Na primjer, osjecaj pospanosti, neugodnosti, bola ili iscrpljenosti su znakovi za pauzu.
- Prakticna primjena.
Lako je pobrkati sticanje znanja sa ovladavanjem vjestine. Znanje na mnogo nacina daje lazan osjecaj napretka. Sticanje vjestina zahtjeva nespretnu primjenu znanja iznova i iznova sto izaziva osjecaj frustracije i nesposobnosti (bar isprva). Sticanje vjestine je iz ovog razloga neprijatno iskustvo i znak da se radi o pravom putu.
Nakon tutorijala je neophodno usvojeno znanje testirati u realnim prakticnim primjerima kroz brojna ponavljana i testiranja.
- Sistem za dobijanje pravovremenih povratih informacija.
Promisljeno vjezbanje ukljucuje kontinuiran rad na slabostima. Mjerenje omogucava zapazanje da li je cilj postignut, koje strategije su djelotvorne, opazanje i eliminisanje drugih slabih tacaka. Skoro je nemoguce postati bolji bez svijesti o svojim trenutnim sposobnostima i gdje se one nalaze na putu do cilja.
Svaki put pri opazanju greske ili slabosti, zapisite u listu sa preprekama impediments.txt
i oznacite njen prioritet na putu dostizanja cilja. Npr:1/zid/crveno
- nije moguce nastaviti bez rjesavanja slabosti,2/prepreka/narandzasto
- jacanje vjestine ce znacajno popraviti rad,3/korisno/ljubicasto
- korisno, ali nije hitno.
U ovome ne treba zaboraviti procjeniti koristene alate u procesu. Da li se koriste na najoptimalniji nacin i postoji li nesto bolje? Pri svakom uocavanju slabosti okrenite se ka listi prepreka. Vjerovatno je necete cesto otvarati onda kada ne izlazite iz komforne zone.
Mozete pronaci mentora koji ce pregledati, komentarisati kod, ukazati na bolje rjesenje ukoliko postoji, diskutovati novu tehnologiju i dekonstrukciju cilja. Iskusniji programeri mogu brzo primjetiti sta pocetnik radi pogresno i takve povratne informacije ce postediti osobu mnogih borbi i potrosenog vremena.
Ukoliko postoji ispravno rjesenje za problem koji rjesavate, mozete uporediti svoj i ispravan kod. Uzmite vrijeme da analizirate kako ispravan kod radi i po cemu se razlikuje od vaseg pristupa. Kopiranje bez razumijevanja jaza u razlici je lisavanje sebe povratne informacije koja bi pomogla u izgradnji vjestine.
Testing leads to failure, and failure leads to understanding. Burt Rutan
Pri citanju necijeg dobro napisanog koda na GitHubu, iskoristite priliku da kod uporedite sa vasim trenutnim razumijevanjem kako treba kodirati. Dekonstruisite kod i tehnike koje je autor koristio, potom bez gledanja probajte napraviti rjesenje poput njegovog. Poslednja faza je analiziranje konacnog rezultata u odnosu na originalni kod. Ovo je povratna informacija.
Moguce je i potraziti jos rjesenja, te ih uporediti i odrediti koje je bolje i zasto.
- Prilagodjavanje.
Vazno je odvojiti malo vremena i analizirati sta je bila namjera, a sta se zapravo desilo, te na osnovu zakljucaka iz povratne informacije prilagoditi strategije vjezbanja. Prilagodjavanje je u promisljenom/namjernom vjezbanju sustinsko inace izostaje napredak. Stvar je u tome da odgovor nije uvijek uloziti vise napora jer postoji granica kada ovakav pristup gubi ucinak. Tada je konstruktivnije pristupiti problemu iz vise uglova i eksperimentisati.
- Ponavljanje, ponavljanje i ponavljanje.
Dosljedno ponavljanje mozak shvata kao znak da je nova informacija ili ponasanje vrijedno usvajanja i autuomatizovanja.
Faza ponavljanja ne bi trebala biti laka jer svjesno reprogramiranje svog mozga nije. On prirodno tezi poznatom. Ponavljanje aktivnosti unutar zone komfora nije jednako promisljenom/namjernom vjezbanju i stanju ucenja.
Jedini siguran nacin da pokusaj ucenja bude neuspjesan je odustajanje. Sa dosljednom navikom ucenja materijal ce neminovno biti usvojen.
8. Odmaranje, punjenje baterija i oporavak. 🌴
Dosljednost ne treba pomjesati sa kontinuiranom aktivnoscu. Za ucinkovito usvajanje i rjesavanje problema mozak zasluzuje odmor od mentalnih izazova. Iako je ponavljanje vazno, izostanak oporavka izaziva kontraefekat i nesto sto se naziva burnout sindrom. S obzirom na zahtjevnost namjerne/promisljene vjezbe, nemoguce je praktikovati cijeli dan.
A finding that is remarkably consistent across disciplines is that four or five hours a day seems to be the upper limit of deliberate practice, and this is frequently accomplished in sessions lasting no more than an hour to ninety minutes.
Odredite vrijeme za aktivnosti koje ne zahtjevaju mentalni napor, zabavne su ili/i opustajuce (tusiranje, setnja, pisanje u dnevnik, igranje igrica, pranje sudja, pripremanje hrane, slusanje muzike, bastovanstvo, vjezbanje, druzenje sa prijateljima, joga, meditacija, spavanje ili nesto slicno sto ne zahtjeva previse napornog razmisljanja). U toku promisljenog vjezbanja treba zaista vjezbati, a u periodu oporavka zaista napuniti baterije.
Kada mozak nije u fokusiranom, onda je u difuznom nacinu rada. To znaci da misli kreativno i slobodno lutaju u ovom stanju. Oba nacina su korisna, ali je vazno uspostaviti balans da bi se dobio najbolji moguci efekat iz oba. U fokusiranom rezimu je fokus na savladavanju detalja, a u difuznom se grade veze izmedju njih (tj. kako se detalji uklapaju zajedno).
Kada se umorite ili suocite sa preprekom tokom promisljenog/namjernog vjezbanja - pogresno je forsirati. Treba vam neka potpuno druga opustajuca aktivnost na najmanje pet minuta. Vraticete se svjeziji, odmorniji i zadovoljniji sa novokreiranim vezama.