Nusprendus išmokti programuoti, gali susisukti galva nuo begalės skirtingų kalbų pasirinkimų ar mokymosi būdų. Reikėtų nepasimesti ir į programavimą pažvelgti taip pat, kaip ir į maisto gaminimą: neišmokę išvirti kiaušinių, šaltibarščių greičiausiai nepagaminsite. Taip ir programavime: neprivertę kompiuterio ištarti „Hello World“, naujo „Facebook“ nesukursite, atkreipia dėmesį „NFQ Akademijos“ lektorius Darius Kasiulevičius ir dalijasi penkiais patarimais, kaip žengti pirmuosius žingsnius į programavimo pasaulį.
„Niekam nekyla klausimas, ar įmanoma išmokti gaminti valgį. Galbūt ne visi tapsime tokie kaip Džeimis Oliveris, tačiau gamindami kasdien tikrai tobulėsime. Išmokti programavimo galime visi. Kaip ir virtuvėje pradedame nuo paprasčiausių receptų, taip ir programavime – pradžioje imamės paprastų dalykų, kurie gali pasirodyti neįdomūs, primityvūs ir nereikalingi. Visos sudėtingiausios programinės sistemos susideda iš paprastų dalykų“, – sako D. Kasiulevičius, darbo metu kuriantis programinį kodą didžiausiai pasaulyje atostogų būsto nuomos meta-paieškos platformai „HomeToGo“.
Pradedantieji mokytis programavimo labai dažnai galvoja „nieko nesuprantu“, „man neveikia“, „nežinau kaip tai padaryti“, tačiau specialistas sako, kad tokiais atvejais veikia paprastas vaistas: tereikia suskaidyti problemą į mažesnius iššūkius ir surasti atsakymus, o iš jų susidėlios ir pagrindinis atsakymas.
„Man atrodo, kad torto kepimas – neįveikiama užduotis, tačiau juk nepabandęs nesužinosiu. Galbūt pirmą sykį jis bus prisvilęs, bet bandant daugybę kartų ir mokantis iš savo klaidų, galiausiai pavyks. Viskas paprasta: internete susiradau torto receptą ir pagaminau jį. Su programavimu lygiai tas pats. Interneto paieškoje tereikia įvesti raktinius žodžius: programavimo pradmenys, nuo ko pradėti programuoti, kokią programavimo kalbą pasirinkti ar programavimas žaliems“, – teigia D. Kasiulevičius.
Pirmas patarimas: raskite jus dominančią sritį
Tad nuo ko pradėti? Informacijos rinkimo internete, pokalbių su ekspertais, o gal iš karto pulti ieškoti programavimo mokyklos? D. Kasiulevičius pataria pirmiau atsakyti sau į paprastą klausimą, kuri sritis domina: internetinių puslapių kūrimas, robotų, o gal integruotų sistemų programavimas ar telefonų programėlės?
Pasirinkta sritis turi motyvuoti mokytis ir ieškoti atsakymų į sudėtingiausius klausimus: „Pirmas toks klausimas turėtų būti kaip atspausdinti „Hello World“ su pasirinkta programavimo kalba. Internete yra daugybė nemokamų pavyzdžių, kaip padaryti vieną ar kitą dalyką. Tuo ir raginčiau naudotis, testuoti ir bandyti visus rastus atsakymus į pateiktą klausimą. Juk tai pačiai problemai spręsti visada yra keletas būdų.“
Jis priduria, kad pradėti mokytis programavimo galima nuo randamos informacijos internete, kitas žingsnis – mokymo programos: „Šioje vietoje reikia būti atsargiems ir atsirinkti, kuri informacija – nauja, o kuri jau pasenusi. Be to, gyva diskusija su ekspertais bus visada vertingesnė ir padės greičiau tobulėti. Net ir mūsų darbovietėje, pradedantieji visada turi paskirtą patyrusį programuotoją, kuris dalijasi savo sukaupta patirtimi, sprendimo būdais, patarimais. Programuotojas, gaunantis grįžtamąjį ryšį apie jo parašytą kodą, auga daug greičiau.“
Antras patarimas: pasidomėkite, ar dominanti programavimo kalba yra perspektyvi
Nuspręsti, kokia kalba pradėti programuoti gali būti lygiai taip pat sunku, kaip pasirinkti užsienio kalbą, tačiau pasirinkus dominančią sritį, ji padiktuos ir kalbą: „Apie kai kurias programavimo kalbas parašyta daugybė knygų. Vienos jų – labai populiarios, o kitos – dar tik skinasi kelią. Todėl renkantis kalbą, atkreipkite dėmesį, ar bus vėliau lengva susirasti darbą.“
Jis priduria, kad vienos kalbos mokėjimo programuotojams neužtenka: viena kalba dažniausiai naudojama kasdien, o kitos prireikia tik atliekant specifines užduotis. Pavyzdžiui, norintys dirbti su internetinių platformų projektais neapsieis be vienos iš šių kalbų: PHP, JAVA, C#, C++, „Ruby“, „Python“. Visos jos susiję su vartotojų užklausų apdorojimu. Be to, visi šiandieniai internetiniai puslapiai turi ir interaktyvią vizualizaciją, o tam papildomai prireiks ir „JavaScript“.
Trečias patarimas: išbandykite kuo daugiau skirtingų mokymosi variantų
Jei svarstote, kur pradėti mokytis programavimo: namuose, mažose grupėse ar individualiai, žinokite, kad visi variantai – tinkami. Svarbiausia, kad mokinys būtų žingeidus: „Pradėti galima ir namuose, net ir dabar: atsidarote internetinį puslapį, susirandate interaktyvią mokymosi platformą ir pradedate. Tiesa, mokymai gyvai, kai galima užduoti klausimus ir iš karto gauti atsakymus, yra efektyvesni. Taip sparčiau mokysitės iš kolegų, o mokytojas konkrečiau patars ir atsakys, kodėl programinį kodą reikia rašyti būtent taip.“
Ketvirtas patarimas: sunkiai sekasi? Pasiimkite guminį ančiuką
Žengiant pirmuosius žingsnius gali būti sunku, todėl visada reikia pabandyti surasti priežastį, kas kliudo: „Galbūt jums nepatinka programavimo kalba ar pasirinkote netinkamą mokymosi tipą. Gal trūksta mokymosi medžiagos ir per greitai norite pereiti prie sudėtingesnių dalykų, kol dar nemokate paprastų?“
Lektorius atskleidžia, kad programuotojai turi „guminio ančiuko kodo testavimo“ techniką: kai visai nesiseka ir nepavyksta surasti programinės klaidos, reikia pasiimti ančiuką ir jam papasakoti kaip veikia parašytas kodas. Turite skaityti kiekvieną savo programinio kodo eilutę ir garsiai pasakoti, ką ji daro: „Dažniausiai stebuklingas guminis ančiukas padeda susivokti ir surasti vietą, kurioje padarėte klaidą.“
Penktas patarimas: ar verta pradėti, kai dirbtinis intelektas grasina konkurencija?
D. Kasiulevičiaus nuomone, programuotojų poreikis ateityje nemažės, priešingai – programavimas ir informacinės technologijos sparčiai tobulėja, todėl reikės vis daugiau specialistų. Baimė, kad dėl dirbtinio intelekto programuotojams neliks darbo – beprasmė.
„Panašus klausimas buvo keliamas, kai prasidėjo pramonės revoliucija ir fabrikuose darbininkus keitė konvejeriai ir robotai. Kai kam teko keisti savo darbo profilį, bet viską, ką sukūrė žmonija ir toliau turi būti prižiūrima žmogaus. Jei bus sukurtas programuojantis dirbtinis intelektas, programuotojai turės darbo jį tobulinant, tad drąsiai mokykitės programavimo“, – pataria D. Kasiulevičius.