Ką mokytis toliau? Čia toks amžinas programuotojo klausimas. Dažnai atrodo, kad bent jau aš, šitam klausimui išnaudoju daugiau laiko nei pačiam mokymuisi. Ir kuo toliau tuo blogiau, sužinai vis daugiau dalykų kurių nemoki, bet norėtum žinoti. Gerai bent, kad pradžioj mokymosi kelias daug tiesesnis. Šiandien pagalvosim kur geriausia dėtis šiek tiek pramokus HTML ir CSS.

Šis etapas yra pati pradžia ir geras rodiklis atskirti kalbančius, kad nori programuoti, nuo tų, kurie imasi veiksmo. Jei nebuvo nuobodu ir keista rašyti HMTL tagus, tada mėginti juos stylinti su CSS, labai panašu, kad užteks kantrybės ir programuoti.

Lygiai taip kaip HTML/CSS (reiktų sugalvoti šitam reikalui pravardę) yra no-braineris išmėginti kodą, taip JavaScriptai yra pats tiesiausias būdas į tikrą programavimą. Nu, nes markupas (HTML/CSS) iš tikro nėra programavimas, labiau ženklų kalba atvaizduoti informacijai.

# Kodėl JavaScript?

JavaScriptas yra akivaizdus pasirinkimas dėl kelių priežasčių. Pirma, tai hipsteriai prisigalvojo būdų kaip pritempti JS ir naudoti beveik bet kam. Gali ir websaitą su JS parašyti, ir Windowsų programą, ir net robotą užprogramuoti. Kalba tikrai nėra ideali visiems tikslams, bet žmonės ją naudoja, vadinasi mokėdamas ją, turėsi daug pasirinkimų.

Antra, JavaScriptas yra labai prieinamas. Nereikia nieko instaliuoti, keisti kompo nustatymų, compilinti. Žodžiu, išvengi didelių galvos skausmų, kurie galėtų išgąsdinti taip, kad iki pasaulio pabaigos sapnuotum košmarus apie command line’ą. Tieisog atsidarai browserio consolę ir rašai javascriptą. Nieko paprasčiau negali būti.

Galiausia, nuo JavaScripto nepabėgsi. Manau jį daugiau ar mažiau naudoja visi webo programuotojai. JS yra vienintelė naršyklėje veikianti kalba. Done.

# Dizainų karpymas

Jei linksti į frontendą, labia geras būdas tikrai suvokti kaip veikia HTML ir CSS yra sukarpyti dizainą. PSD to HTML conversion.

Šitą visada preachinu, nes yra puikus pritaikyti žinias praktikoj, išmokti naujų dalykų, suprasti kaip tikram gyvenime naudojamos CSS taisyklės.

O svarbiausia, rezultatą galėsi rodyti kaip darbo pavyzdį. Puikus įrodymas, kad tikrai kažką supranti ir sugebi.

Šitą galima laisvai kombinuoti su JS mokymusi. Galima persijungti į kitą kai pirmas pabosta.

# Neskaityk knygos apie JS

Pradžioj knygos skaitymas man atrodė tiesiausias kelias į programavimą. Bet jau trečiam Eloquent Javascript skyriuj nelabai besupratau ką ten skaitau. Gali skaityti tą ir kitas knygas rekreacijai ir turi suprasti, kad jos naudingos pasidaro tada, kai jau esi šiek tiek pramokęs ir supranti dalykus.

Mano galva geriausia pradėti nuo paprastų pamokėlių CodeAcademy.com (JS track), ten palaiko už rankos supažindindami su kalba ir pačiu programavimu.

Man dar patinka (HTML Dog postai)[http://htmldog.com/guides/javascript/]. Gal kai kurie senstelėję, bet vis tiek naudinga juos įveikti. Pradžioj neverta vaikytis madų 😃

# Į ką svarbiausia atkreipti dėmesį?

Šitam etape svarbiausia įsisavinti principus, daug viską perrašinėti, suprasti pačius programavimo pagrindus. Kas yra funkcija, kas yra array (masyvas lietuviškai), kaip naudojami variables (kintamieji), kaip deklaruoti ir kaip paleisti funkciją, kaip funkcijai duoti parametrus ir etc.

Visas programavimas paremtas paprastais principais. Tiesiog visaip juos kombinuojant ir prisigalvojant sudėtingų būdų tai daryti (kartais vien tam, kad sudėtingiau būtų).

# Susigalvoti savo programėlę

Kažką paprasto. Tarkim skaičiuotuvą ar kokią skaičiuoklę, laikroduką, gyvatėlės žaidimuką, svarbiausia ne per daug sudėtingą. Tada per prakaitą vargus ir su tūkstačiu levelių kantrybės ją tęsti, kol galiasia, numesti pusiau užbaigus, bet už tai išmokti daugiau nei per visus įmanomus tutorialus.

# Nežinau ar noriu rekomenduoti video tutorialus

Jie yra gerai kol žiūri ir perrašinėji. Taip, susistabdai kas 8 sekundes ir perrašai. Supranti kas vyksta, pasižaidi kaitaliodamas dalykus. Kitaip iš jų naudos tiek pat kiek iš serialų žiūrėjimo, pramoga ir tiek. Kažkada ir apie tai rašiau.

Šiap jei jau tenka, tai esu didelis Will Stern’o fanas. Jis kažkokiu būdu sugeba paprastai paaiškinti sudėtingus reikalus. Javascript Fundamentals playlistas - visiški pagrindai, verta ir teisinga.

# JS 30 challenge

Pramokus JS pagrindus galima labai smagiai pamatyti jo galimybes darant javascript30.com challenge’ą. Ne tik galimybes, bet ir tai, kaip tikram gyvenime naudojamas JavaScriptas. Besimokant gali būti sunku suprasti kaip realiai naudojama tas programavimas. Čia galėsi pamatyti kokia super power jis yra.

# Pradėti ruoštis pirmam darbui

Patekimas į pirmą darbą gali būti puikus tikslas, taikinys ir pagrindas mokslų roadmapui. Net ne gali, bet ir turėtų būti. Nes kam daugiau mokytis programuoti jei ne turint tikslą būti programuotoju.

Supernaudingas būdas - mokaisi tikrai tai ką reikia, įgauni patirties kurios prireiks interviu metu. Taip pat sumažini arba visai panaikinti bereikalingai iššvaistytą laiką.

Krūvos panašių resursų su tuo, ką turi žinoti programuotojas. Gali pasiimti šitą ir mokytis github.com/h5bp/Front-end-Developer-Interview-Questions. Kam netinka front end, tai gūglas tikrai atves į teisingą resursą.

Nereiktų išsigąsti šito ilgo sąrašo. Manau, kad aš pats kai kuriuos dalykus turėčiau pagūglinti. Tiesiog mokaisi ir tiek. Daugumą dalykų išmoksi natūraliai, per praktiką. Kitus reiks išresearchinti.

Tokie sąrašiukai tikrai padeda įvertinti savo jėgas. Kartu su portfolio, kur parodai praktiškas žinias, mokėjimas šitų dalykų yra puikus indikatorius, kad esi pasirengęs pirmam darbui.

# Ne frontendas?

Viskas okey, patarimai universalūs. Žinoti kažkiek JS pravers visiems, o panašius resusursus savo nusitaikytai sričiai galima rasti pakankamai lengvai.

# Learning Treadmill

Šįryt išgirdau gerą frazę “learning treadmill”. Kai patenki į užsuktą mokymosi ratą. Žiūri tutorialus vieną po kito, skaitai blogus, gal knygas, bet nesiimi veiksmų.

Tiesa ta, kad kelios valandos praktikos yra auksas prieš tutorialų žiūrėjimo pelenus. Taip, mokytis būtina ir reikia, bet geriausia tai daryti kai tikrai to reikia. Pasitenkinimas ir dopomino antplūdis kažką sulipdžius (ar išmokus, ar atstrigus) daug stipresnis, nei tas kur gauni sugėręs informacijos.

Kitados apie tai jau rašiau - tutorialų žiūrėjimo spąstai ir kaip jų išvengti.