Savjeti za učenje i usavršavanje programiranja

Savjeti za učenje i usavršavanje programiranja

Programeri cijeli život imaju nešto korisno i zanimljivo za naučiti, pa ovdje želim podijeliti praktične savjete za učenje. Bez obzira da li tek krećemo ili već godinama programiramo, postoje pristupi koji nam pomažu. Počet ću sa savjetima koji pomažu nekome tko počinje programirati, a u drugom dijelu navesti ću savjete za one koji već imaju iskustva, ali žele produbiti svoje znanje.

Prepoznajte tip materijala za učenje koji vam više odgovara
Da bi smo brže i lakše učili odaberimo tip materijala koji nam više odgovara. Nekima više leži učenje iz vizualnih materijala – informacije im imaju više smisla kada uče uz pomoć slika, grafikona ili video snimki. Ti ljudi su vizualni učenici. Drugima više odgovara učenje iz tekstualnih materijala – knjige ili bloga. Nemojmo zaboraviti ni podcast koji možemo slušati i prilikom putovanja.

Tip materijala koji nam više odgovara najčešćečemo koristiti, ali to ne znači da trebamo ostale tipove materijala posve zanemariti. Netko tko je vizualan učenik upotrijebiti će i blog post.

Meni osobno se sviđaju vizualni materijali, ali puno sam naučio i iz pisanih materijala. Na primjer u knjizi "Code Complete", na hrvatski prevedeno kao "Kod iznutra", autor Steve Mcconnell iznosi puno općeg znanja koje, nakon što sam pročitao tu knjigu, mogu upotrijebiti bez obzira koji programski jezik koristio. Dobro je kombinirati takve knjige koje nude opće znanje s knjigama koje nas uče određeni programski jezik.

Prema istraživanjima 65% ljudi su vizualni učenici tj. bolje će rezultate postići ako uče iz vizualnih materijale. Internet je pun video snimki predavanja o programiranju, ali da li je dovoljno uzeti prvi video na koji naletimo?

Odaberite dobre izvore i materijale
Nisu sve snimke koje nađete na YouTube-u korisne pa obratite pažnju koliko je autor uistinu stručan. Osobno sam naletio na materijale u kojima autor koji nema iskustvo niti pravo znanje objektno orijentiranog programiranja iznosi pogrešne zaključke i dijele ideje koje ne drže vodu.

Kažu da ono što zvuči predobro da bi bilo istina, obično i je predobro da bi bilo istina. Stoga, ako autor tvrdi da ćemo naučiti novi programski jezik ili upoznati neki framework u nevjerojatno kratkom vremenu, možemo samo zaključiti da je to predobro da bi bilo istina…

Organizacija koja stoji iza određenog programskog jezika, framework-a ili alata pouzdan je izvor točnih informacija. Neovisni autori, koji nisu vezani uz tvrtku koja je napravila proizvod, pouzdan su izvor znanja ako su se prethodno dokazali svojim predavanjima, imaju uspješan blog i sl.

Izvor znanja su i predavanja na konferencijama i meetup-ima. Postoji hrpa kvalitetnih meetup-a, a besplatni su. Osim što možemo naučiti iz samog predavanja, možemo i postavljati pitanja te savjetovati se s predavačem.

Kod odabira kvalitetnih materijala dobro nam dođe pomoć nekoga iskusnijeg – pomoć mentora. Vratiti ću se na temu mentora, ali prije toga pogledajmo koji je najkorisniji savjet za učenje programiranja.

Vježbaj, vježbaj, vježbaj
Iskustvo me naučilo da najbolji savjet za učenje programiranja je isti savjet koji je taksist dao Malom Ivici kada ga je ovaj pitao kako doći do HNK. Mali Ivica je poželio naučiti svirati violinu pa je upisao glazbenu školu. Prije prvog sata otišao je u Zagreb te kupio violinu i udžbenik. Kad je već u Zagrebu odlučio je Mali Ivica posjetiti i HNK kako bi tamo čuo vrhunske violiniste, ali nije znao kako doći do HNK, pa je odlučio pitati taksista. Taksist, kada je vidio klinca koji u jednoj ruci drži violinu, a u drugoj udžbenik, rekao je Malom Ivici: vježbaj, vježbaj, vježbaj!

Osim mene, i mnogi drugi će dati savjet da je izuzetno važno vježbati, a u nastavku ću navesti konkretno na koje načine, po mom iskustvu, je najbolje vježbati programiranje.

Kako vježbati programiranje
Jedna od dobrih prilika za vježbu je napraviti neki projekt čisto za zabavu – ova ideja poznata je pod nazivom pet project. Radi se o manjoj ili većoj aplikaciji, a mi ju možemo napisati da bi naučili novi framework ili programski jezik. Štoviše, to je prilika za naučiti nekoliko stvari u isto vrijeme.

Drugi pristup, koji možemo primijeniti često kada učimo neko manje područje, je da, nakon što pogledamo video, pokušamo sami programirati ono što smo vidjeli u toj snimci. Neka naša aplikacija sadrži barem dijelove koda koji su nam najbitniji. Iskustvo mi je pokazalo da često, nakon što pogledam video, sve mi se čini jasno, ali kada pokušam sam napisati sličan program onda naletim na poteškoće. Tada se vratim na video ili potražim više informacija na internetu te iz drugog pokušaja napišem program. Ili iz trećeg pokušaja …

Isto tako, nakon što pročitam blog post ili poglavlje knjige, bolje naučim ako otvorim editor i isprobam stvari o kojima sam čitao.

Još jedna stvar koja je korisna kada učimo novi programski jezik jest rješavati zadatke za vježbu poput onih koji se rješavaju na fakultetu ili na (srednjoškolskim) natjecanjima iz programiranja. Obično preporučim da se ovakve zadatke potraži tako da se jednostavno u Google upiše ime programskog jezika i doda „exercise“ ili „practice“.

Treba vremena za naučiti i to je ok
Iz mog vlastitog iskustva i iz onoga što sam vidio kod drugih, mogu reći da je potrebno imati strpljenja jer za savladati programiranje treba uložiti vremena.

Postavlja se pitanje možemo li savladati neke dodatne vještine koja će nam pomoći prilikom samog učenja programiranja, tako da to učenje bude brže?

Upoznajte alate koje koristite i savladajte debugiranje
Kada vježbamo zadatke normalno je da ne uspijemo iz prve riješiti svaki zadatak. Ono što ne bih preporučio je dugotrajno zurenje u source code na ekranu. Umjesto toga, upotrijebite alate koji će vam pomoći da se brzo odblokirate.

Ako ste zapeli tijekom programiranja, iskoristite mogućnosti debugera da brže pronađete u čemu je problem. Možda teškoću koji imate u tom trenutku ne bi ste nazvali (klasičnim) bugom, ali debuger vam može reći što se zapravo događa u kodu te na taj način pomoći da se pomaknete prema rješenju.

Moderni alati za programiranje (integrated development environment, IDE) uz to ukazuju na potencijalne probleme i nude savjete. Zašto ne iskoristi te mogućnosti kao još jedan izvor novih znanja?

Svojedobno je kolega pričao zašto koristi ReSharper ekstenziju za Visual Studio IDE u kojemu je programirao. Rekao je da, pošto je nedavno prešao na programski jezik C#, savjeti koje mu ReSharper nudi su njemu dobar izvor svojevrsnih kratkih lekcija o C#-u. Neke detalje ovog programskog jezika naučio je upravo pomoću tog alata.

Savjeti za učenje i usavršavanje programiranja

Potražite mentora
Često je brže, jednostavnije, a i jeftinije naučiti iz tuđeg iskustva nego iz svog. Mentor nam ubrzava proces učenja, olakšava zaobilaženje prepreke, savjetuje i usmjerava nas u pravom smjeru.

U nekim tvrtkama novim programerima se dodjeli mentor, ali bez obzira da li vam je dodijeljen službeni mentor ili ne, ako vam se ponudi prilika da imate (dodatnog) mentora, iskoristite tu priliku. Može to biti i mentor izvan vaše tvrtke.

Dobro mjesto za pronaći mentora za programiranje, ali i za niz drugih područja je Mentoring Byte, volonterska inicijativa na čijem blogu se nalazimo.

Mentor nam dobro dođe i kad se tek zaposlimo, ali i kada dobijemo promaknuće ili promijenimo profesiju, jer kada dolazimo na novi teren dobro nam dođe savjet iskusnog mentora koji je taj put već prošao.

Kada pričam o tome kako mentoriranje pomaže treba reći da osim što napredujemo kada imamo mentora postoji i dodatni način kako napredovati, a to je da se i sami nađemo u ulozi mentora.

Za nastavak učenja - postanite mentor
Iako obično kada pričamo o mentoriranju pomislimo na prijenos znanja s mentora na mentee-ja, u isto vrijeme postoji i dodatna komponenta - mentor produbljuje svoje znanje tijekom mentoriranja. Ponekad će mentor napredovati jer će sustavno posložiti znanje u svojoj glavi da bi to znanje bolje prenio svom menteeju.

Vidio sam iz svog iskustva da sam neke stvari dublje shvatio kada sam dobio pitanja od svojih mentee. Neka od tih pitanja otvorila su mi novi pogled na stvari jer sam mentee je imao svježi pogled na to područje.

Kada smo u ulozi mentora onda imamo priliku analizirati vlastita iskustva i iz njih izvući savjete koje zatim podijelimo svojem menteeju. Ali ti savjeti pomažu i nama jer u svakodnevnoj žurbi možda do sada nismo zastali, analizirali ta vlastita iskustva i naučili nešto iz njih.

Održite predavanja na konferencijama i meetupima
Postoje i drugi načini kako učeći druge i sami učimo. Iz mog iskustva, kada sam predavač na konferenciji ili meetupu dosta toga naučim – dosta novih stvari naučim dok se pripremam i pišem demo aplikaciju. Zatim to novo znanje moram i sustavno posložiti da bih ga prenio drugima.

Kada se sve zbroji
Moji najveći pomaci u programiranju došli su kroz vježbanje programiranja. Bez obzira da li tek krećete učiti programirati ili imate puno godine iskustva preporučujem da namjerno vježbate. Pri tome olakšajte si vježbanje tako što ćete dobro upoznati alate koje koristite tijekom programiranja te odabrati materijale iz kojih najbrže učite. Uz to, pronađite mentora, a jednog dana i postanite mentor. Ako želite imati mentora ili biti mentor preporučujem volonterski program Mentoring Byte.

Članak by Mentoring Byte

Mentoring Byte

Mentoring Byte pokrenule su Nataša Kapov, Andrea Knez Karačić, Marina Grljušić i Lora Pleško, četiri žene s dugogodišnjim iskustvom u IT industriji.

Kako njih 4 razvijaju svoje karijere upravo unutar IT-ja, prirodno je bilo da i žele učiniti nešto u toj industriji.

IT je izrazito kompetitivna i brza industrija i ponekad je teško držati korak s novim tehnologijama i trendovima, što može rezultirati osjećajem neadekvatnosti.

Mentoring Byte je stvoren kao odgovor na ovaj problem. Ukratko - Mentoring Byte je volonterska inicijativa kojoj je cilj osnaženje lokalne IT zajednice kroz međusobno pomaganje i dijeljenje znanja putem ovog besplatnog i volonterskog mentorskog programa.

Više o Mentoring Byte-u na www.mentoringbyte.com

Srijeda, 17.04.2024. / mentoringbyte.com