Tyrimų agentūros „Spinter“ atlikta Lietuvos gyventojų apklausa rodo, kad ketvirtadalis dirbančiųjų norėtų keisti profesiją, o kas penktas iš jų rinktųsi IT. Tačiau nuo kokios programavimo kalbos pradėti mokytis? Kaip sužinoti, kas šiuo metu IT sektoriuje sulaukia daugiausiai dėmesio?
Iš pažiūros tai – sunkūs klausimai, bet atsakymų į juos, kaip pranešime žiniasklaidai teigia „NFQ Akademijos“ lektorius Darius Kasiulevičius, ieškoti toli nereikia.
Su D. Kasiulevičiumi kalbamės apie programavimo pradžią kai esi visiškas pradedantysis ir jau pažengęs, apie programavimo kalbų įvairovę bei kaip joje susigaudyti ir kas yra svarbiausia mokymosi procese siekiant ne tik tapti, bet ir išlikti paklausiu programuotoju.
Svarbiausia – ne programavimo kalba, o kam ji skirta
Apie ką dažniausiai programuoti nusprendę žmonės nepagalvoja, kaip teigia D. Kasiulevičius, yra tai, ką jie, pramokę programuoti, su šiomis žiniomis norės veikti.
„Dažnai pastebiu, kad pradedantys žmonės ieško informacijos apie pačias programavimo kalbas ir galvoja, kurią pasirinkti pagal jų sudėtingumą ar kitus kriterijus. Tačiau pradėti reikėtų nuo informacijos, kam konkreti programavimo kalba buvo sukurta. Pavyzdžiui, PHP puikiai tinka greitai pradėti kurti internetiniams puslapiams, kuriems reikia apdoroti vartotojo duomenis serverio pusėje. Java – labai gerai tinka mokantis kurti programėles išmaniesiems įrenginiams. Tad pradedant mokytis ir renkantis kalbą, svarbu pagalvoti, su kokiais projektais norėtųsi dirbti ir kokios programavimo kalbos jiems dažniausiai naudojamos“, – sako D. Kasiulevičius.
Pasak eksperto, nereikėtų atsipalaiduoti ir tiems, kurie jau turi programavimo pagrindus: „Turint programavimo problemą, reikia jai surasti mažiausiai tris skirtingus sprendimo būdus, su atsakymais, kuo kiekvienas sprendimas yra geras. Reikia nuolat domėtis, kodėl viskas veikia vienaip ar kitaip, nes galbūt galima parašyti kodą, kuris tą pačią problemą išspręs greičiau ir efektyviau. Todėl net ir tiems, kas jau sėkmingai pradėjo programuoti, žinių bagažą reikėtų nuolat pildyti, nes taip pavyks greičiau ir efektyviau spręsti problemas.“
Išmokti programuoti lengviau nei anksčiau
D. Kasiulevičiaus teigimu, didžiausias šiuolaikinių programavimo kalbų pliusas yra tai, kad nebereikia kurti savo programavimo karkaso (framework).
„Karkasas – tai programinės įrangos paketas su įvairiomis bibliotekomis, kurios palengvina pasikartojančių užduočių atlikimą. Tuo pat metu karkasas yra sukurtas laikantis tam tikrų programinės įrangos architektūros principų, kuriuos žinant daug greičiau išmokstama karkaso ypatybių. Anksčiau vos ne kiekvienas programuotojas pradėdavo savo programavimo karjerą nuo savo asmeninio karkaso rašymo, o atėjus darbintis į IT bendroves vis tiek reikėdavo mokytis naujo karkaso, kurį naudodavo konkreti įmonė. Dabar tereikia pasirinkti vieną iš daugelio pasaulyje naudojamų karkasų ir tada mokytis, kaip jame teisingai sudėlioti kodą, kad pasiektum norimą rezultatą. Todėl svarbu mokytis programavimo karkasų, pavyzdžiui, „Symfony“, „React“ ar „Bootstrap“ – jais naudotis mokome ir mes. Tačiau programavimo karkasų, bibliotekų yra labai daug ir jos skirtos specifiniams uždaviniams spręsti, todėl iš karto visų jų išmokti net nepavyktų.“
Gerokai palengvindami programuotojo darbą, karkasai gali sukurti ir tam tikrų iššūkių: „Karkasai dažnai padaro labai daug visko už programuotojus jiems to net nežinant. Pavyzdžiui, vietoje to, kad iš duomenų bazės pasiimti vieną įrašą į atmintį, yra nuskaitoma daugybė susijusių įrašų iš kitų lentelių, o duomenys ir lieka nepanaudoti. Todėl reikia mokytis ir pažinti kiekvieną karkasą iš vidaus“, – atkreipia dėmesį D. Kasiulevičius.
Grupiniuose užsiėmimuose tobulėjama greičiau
Pasak lektoriaus, programuotojui labai svarbu laiku išmokti pamatyti, kurie sprendimai kurioje situacijoje turėtų būti pasirenkami ir kodėl jie geriausi konkrečioms problemoms spręsti, nepriklausomai nuo to, į kokias kalbas ar karkasus nuspręs gilintis. Todėl, jei pirmai pažinčiai su programavimu puikiai tinka ir savarankiškos informacijos paieškos, tobulėjimui geriau pasirinkti grupinius užsiėmimus.
„Vienas pagrindinių mokymosi grupėje privalumų yra tai, kad besimokantys gali gyvai klausinėti ir gauti atsakymus į visus klausimus iš profesionalų – tiek lektorių paskaitų metu, tiek iš mentorių – ypatingai kai susiduria su problemomis įgyvendindami savo projektą. Tai yra daug naudingiau nei bet koks internetinis šaltinis, kur viskas surašyta ar pateikta bendrai. Pavyzdžiui, savo paskaitų metu daugiausiai dėmesio skiriame praktikai, pasitelkiant įvairias realias situacijas, su kuriomis kasdien susiduriame darbo metu“, – teigia D. Kasiulevičius.
Dažniausia pradedančiųjų klaida
Eksperto teigimu, šiandien programavimo specialistai kartais linksta per daug gilintis į konkrečias programavimo kalbas ar karkasus, bet apleidžia programavimo pagrindus, kas vėliau gali sukelti problemų.
„Kalbant apie bet kurią programavimo kalbą, pirmiausiai reikia suprasti ir suvokti paprastus dalykus joje, o tik po to imtis mokytis karkasus bei jų subtilybes. Juk netaptume profesionaliais automobilių meistrais, jei mokėtume tik pakeisti automobilio tepalus ir filtrus, bet visai nesuprastume, kaip veikia automobilio variklis ar kam reikalingi tepalai apskritai. Dažnai nutinka taip, kad pradedama mokytis nuo karkaso ir visai neskiriama laiko programavimo kalbos pagrindams. Tokiu atveju programuotojas jaučiasi profesionalu, bet darbo pokalbio metu negali atsakyti į šiaip jau labai paprastą ir elementarų klausimą.
Pavyzdžiui, teigia, kad moka naudotis „Symfony“ ir dirbti su duomenų bazėmis naudojantis „DoctrineORM“, bet negali parašyti paprastos SQL užklausos, kuri grąžintų rezultatus iš karto iš dviejų skirtingų lentelių. Ne vienam pradedančiajam programuotojui darbo pokalbio metu būtent šie paprasti klausimai pakiša koją“, – pastebi D. Kasiulevičius.
„NFQ Akademija“ yra jau aštuntus metus „NFQ Technologies“ rengiami nemokami programuotojų mokymai, skirti jau turintiems programavimo pradmenis ir norintiems tobulėti toliau. Iš viso Akademiją baigė daugiau nei 600 absolventų, kurių dalis buvo pakviesti dirbti įmonėje.