Kodėl visi staiga nori tapti programuotojais?
Turbūt jau pastebėjote, kad programavimas tapo kažkokia magiška profesija, kurią visi rekomenduoja. Tėvai sako „eik mokytis IT”, draugai pasakoja apie pažįstamus, kurie uždirba tūkstančius po kelių metų mokymosi, o internete pilna reklamų „Tapk programuotoju per 3 mėnesius”. Bet kas iš tiesų slypi už šių pažadų?
Realybė tokia, kad programavimas tikrai yra perspektyvi sritis, bet ne dėl tų priežasčių, kurias dažniausiai girdime. Taip, čia galima neblogai užsidirbti, bet tai tikrai ne greiti pinigai. Taip, galima dirbti nuotoliniu būdu, bet ne visi darbdaviai tai praktikuoja. Ir ne, nebūtina būti matematikos genijumi, bet tikrai reikia tam tikrų savybių ir noro mokytis visą gyvenimą.
Pats programavimas kaip profesija labai pasikeitė per pastaruosius dešimt metų. Anksčiau tai buvo nišinė sritis, kur dirbo daugiausia entuziastai. Dabar tai viena didžiausių ir sparčiausiai augančių pramonės šakų pasaulyje. Bet kartu su populiarumu atsirado ir daug mitų, kuriuos verta išsklaidyti.
Didžiausi mitai apie programavimą
Mitas nr. 1: Programuoti gali išmokti bet kas per kelias savaites
Šitas mitas yra galbūt pavojingiausias, nes sukuria nerealistinius lūkesčius. Taip, pagrindus išmokti galima greitai – per mėnesį tikrai suprasite, kaip veikia kintamieji, ciklai ir funkcijos. Bet tai kaip išmokti abėcėlę ir sakyti, kad moki skaityti. Tikrasis programavimas – tai problemų sprendimas, architektūros projektavimas, debuginimas, komandinis darbas ir nuolatinis mokymasis.
Realiai, kad gautum pirmąjį darbą, reikės bent 6-12 mėnesių intensyvaus mokymosi. O kad jaustumeis tikrai pasitikintis savo gebėjimais? Gali praeiti ir keli metai. Ir tai visiškai normalu! Niekas nereikalauja, kad būtum ekspertu iš karto.
Mitas nr. 2: Reikia būti matematikos genijumi
Šitas mitas atbaido daug žmonių nuo programavimo. Tiesą sakant, dauguma programuotojų kasdienėje veikloje naudoja tik pagrindinę matematiką – sudėtį, atimtį, daugybą, dalybą ir šiek tiek logikos. Žinoma, jei nori dirbti su dirbtinio intelekto algoritmais ar kurti žaidimų variklius, matematika bus svarbi. Bet jei kuri paprastą svetainę ar mobilią aplikaciją? Matematika ten bus minimali.
Svarbiau yra loginė mąstysena ir gebėjimas skaidyti dideles problemas į mažesnes dalis. Tai daugiau primena dėlionės sudėliojimą nei matematikos egzaminą.
Mitas nr. 3: Visi programuotojai uždirba milijonus
Taip, programuotojai Lietuvoje uždirba virš vidurkio. Bet pradedantysis programuotojas tikrai negaus 3000 eurų į rankas. Realistiškai, junior pozicijoje galima tikėtis 1000-1500 eurų netokomis, priklausomai nuo miesto ir įmonės. Po kelių metų patirties – taip, galima pasiekti 2000-3000 eurų ir daugiau. Senior lygmenyje – dar daugiau.
Bet pinigai neturėtų būti vienintelė priežastis rinktis šią profesiją. Jei nemėgsti programavimo, jokia alga nekompensuos kasdienio kentėjimo prie kompiuterio.
Kokia ji iš tiesų – programuotojo kasdienybė
Pamirškit vaizdus iš filmų, kur programuotojas greitai spaudžia klavišus tamsoje, o ekrane šmėkščioja žali simboliai. Realybė daug paprastesnė ir… nuobodesnė? Ne visai.
Tipinė programuotojo diena prasideda nuo standup susirinkimo – trumpo pokalbio su komanda, kur kiekvienas papasakoja, ką dirbo vakar ir ką planuoja šiandien. Tai trunka 10-15 minučių. Paskui – kodavimas. Bet ne toks, kokį įsivaizduojate.
Didelę dienos dalį programuotojas praleidžia skaitydamas kodą (ne rašydamas!), ieškodamas informacijos dokumentacijoje, diskutuodamas su kolegomis apie geriausią sprendimo būdą. Pats kodavimas užima gal 30-40% laiko. Kita dalis – testavimas, code review (kai peržiūri kitų parašytą kodą), susirinkimai, planavimas.
Yra dienų, kai parašai 500 eilučių kodo ir jaučiesi kaip herojus. Bet yra ir dienų, kai visą dieną ieškoji vienos klaidos ir galiausiai atrandi, kad trūko kablelių. Ir tai normalu! Programavimas – tai nuolatinis problemų sprendimas, ir ne visada tas sprendimas ateina greitai.
Dar vienas aspektas, apie kurį mažai kas kalba – nuolatinis mokymasis. Technologijos keičiasi labai greitai. Tai, ką išmokai prieš 5 metus, gali būti neberelevantiškai šiandien. Reikia nuolat skaityti straipsnius, žiūrėti tutorial’us, eksperimentuoti su naujomis technologijomis. Jei tau tai skamba kaip košmaras – programavimas gal ne tau.
Kokie programuotojai reikalingi rinkoje
Čia labai svarbu suprasti, kad „programuotojas” – tai labai plati sąvoka. Tai kaip sakyti „sportuoju” – bet ar bėgioji, ar keliauji svorius, ar žaidi krepšinį? Visiškai skirtingi dalykai.
Frontend programuotojai kuria tai, ką matote naršyklėje – mygtukus, formas, animacijas. Jie dirba su HTML, CSS, JavaScript ir įvairiais framework’ais kaip React, Vue ar Angular. Jei tau patinka vizualinė pusė, dizainas ir vartotojo patirtis – tai gali būti tavo kryptis.
Backend programuotojai kuria serverio pusę – duomenų bazes, API, verslo logiką. Jie dirba su kalbomis kaip Python, Java, C#, Node.js. Jei tau įdomiau, kaip viskas veikia „po gaubtu”, kaip duomenys keliauja ir apdorojami – žiūrėk šia kryptimi.
Full-stack programuotojai daro abu dalykus. Jie universalūs kariai, bet dažnai ne tokie gilūs specialistai kaip tie, kurie fokusuojasi į vieną sritį.
Mobile programuotojai kuria aplikacijas telefonams – iOS, Android arba cross-platform sprendimus. Mobilių aplikacijų paklausa nuolat auga, nes visi gyvename su telefonais rankose.
DevOps inžinieriai užtikrina, kad viskas veiktų sklandžiai – serveriai, deployment’ai, automatizacija. Tai labiau infrastruktūros darbas.
Lietuvoje šiuo metu didžiausia paklausa yra frontend ir backend programuotojams. Ypač ieškoma žmonių su React, Angular, Java, .NET, Python patirtimi. Bet svarbu suprasti, kad konkreti technologija nėra svarbiausia – svarbiau yra gebėjimas mokytis ir prisitaikyti.
Kaip realiai tapti programuotoju 2024-aisiais
Gerai, nusprendei, kad nori pamėginti. Kas toliau? Yra keletas kelių, ir nė vienas nėra „teisingas” ar „neteisingas”.
Universitetas – tradicinis kelias. Informatikos ar programų sistemų studijos duoda tvirtą teorinį pagrindą. Sužinosi apie algoritmus, duomenų struktūras, programavimo paradigmas. Bet realiai programuoti išmoksi daugiau pats praktikuodamasis, ne klausydamasis paskaitų. Universitetas duoda diplomą (kuris kai kurioms įmonėms svarbus) ir laiką eksperimentuoti bei rasti savo kryptį.
Kolegija – praktiškesnis variantas nei universitetas, trumpesnis (3 metai vietoj 4-5), daugiau dėmesio skiriama praktikai. Geras kompromisas tarp formalaus išsilavinimo ir greito įsidarbinimo.
Coding bootcamp’ai – intensyvūs 3-6 mėnesių kursai, kur mokoma konkrečių technologijų ir ruošiama darbui. Lietuvoje jų yra keletas – CodeAcademy, Baltic Talents ir kiti. Privalumas – greitai, praktiška, dažnai padeda įsidarbinti. Minusas – brangu (nors kai kurie siūlo mokėti tik įsidarbinus) ir neduoda tokio plataus supratimo kaip studijos.
Savarankiškas mokymasis – visiškai įmanoma išmokti programuoti pačiam, naudojant nemokamus resursus internete. YouTube, freeCodeCamp, Codecademy, Udemy kursai, dokumentacijos. Reikia daug disciplinos ir motyvacijos, bet tai veikia. Daugelis sėkmingų programuotojų yra self-taught.
Mano patarimas? Pradėk nemokamai. Išbandyk keletą tutorial’ų, pamėgink parašyti paprastą programėlę. Jei po mėnesio vis dar įdomu ir nori tęsti – tada galvok apie rimtesnius įsipareigojimus. Nėra prasmės eiti į bootcamp’ą ar stoti į universitetą, jei dar nežinai, ar tau tai patinka.
Kokių įgūdžių reikia ne tik techninių
Štai ko niekas tau nepasakys iš karto: techniniai įgūdžiai – tai tik pusė sėkmės. Kita pusė – soft skills, apie kuriuos visi kalba, bet niekas rimtai nevertina, kol nepradeda dirbti.
Komunikacija – programuotojai dirba komandose. Reikia mokėti paaiškinti savo sprendimus, diskutuoti su kolegomis, bendrauti su klientais ar product manager’iais. Jei mąstai, kad programuotojas sėdi vienumoje ir bendrauja tik su kompiuteriu – klysti.
Problemų sprendimas – ne tik techninių. Kaip suskirstyti užduotį? Kaip prioritizuoti? Kaip rasti kompromisą tarp idealaus sprendimo ir realių terminų? Tai kasdieniai klausimai.
Anglų kalba – be jos programavime praktiškai neįmanoma. Visa dokumentacija anglų kalba, dauguma resursų, Stack Overflow, komandos dažnai tarptautinės. Nebūtina kalbėti tobulai, bet bent B2 lygis tikrai reikalingas.
Mokymosi gebėjimas – skamba keistai, bet tai įgūdis. Programavime nuolat atsiranda naujų technologijų, framework’ų, metodologijų. Reikia mokėti greitai įsisavinti naują informaciją, eksperimentuoti, klysti ir mokytis iš klaidų.
Kantrybė – kai kodas neveikia, o tu jau dvi valandas ieškoji klaidos, reikia kantrybės. Kai klientas dešimtą kartą keičia reikalavimus – reikia kantrybės. Kai tavo kodą code review metu suplėšo į gabalus – reikia kantrybės ir gebėjimo priimti kritiką.
Ateities perspektyvos: ar AI pakeis programuotojus?
Didžiausias klausimas šiuo metu – ar dirbtinis intelektas neužims programuotojų darbo vietų? ChatGPT, GitHub Copilot ir kiti AI įrankiai jau dabar gali generuoti kodą. Ar tai reiškia, kad programuotojai greitai nebeprireiks?
Trumpas atsakymas: ne. Ilgesnis atsakymas: profesija keisis, bet neišnyks.
AI įrankiai jau dabar labai padeda programuotojams. Copilot gali pasiūlyti kodo fragmentą, ChatGPT gali paaiškinti, kaip veikia tam tikra funkcija ar net parašyti paprastą skriptą. Bet tai daugiau kaip labai protingas asistentas, o ne pakaitalas.
Kodėl? Nes programavimas – tai ne tik kodo rašymas. Tai problemų supratimas, reikalavimų analizė, architektūros projektavimas, testavimas, palaikymas. AI gali padėti su kodo fragmentais, bet negali suprasti verslo logikos, klientų poreikių, komandos dinamikos.
Kas tikrai keisis – junior programuotojų darbas taps sudėtingesnis. Anksčiau junior’ai gaudavo paprastas užduotis kaip „sukurk formą su trimis laukais”. Dabar tokias užduotis gali padaryti AI. Tai reiškia, kad net pradedantiesiems reikės gilesnio supratimo ir gebėjimo spręsti sudėtingesnes problemas.
Bet tai ir galimybė. Programuotojai, kurie mokės efektyviai naudoti AI įrankius, bus daug produktyvesni. Tai kaip kai atsirado kalkuliatoriai – matematikai neišnyko, tiesiog pradėjo spręsti sudėtingesnes problemas.
Lietuvos IT rinka auga stabiliai. Vis daugiau užsienio įmonių atidaro biurus Vilniuje, Kaune, Klaipėdoje. Vis daugiau lietuviškų startup’ų. Remote darbas tapo norma, o tai reiškia, kad galima dirbti Lietuvoje ir gauti Vakarų Europos ar net JAV atlyginimus.
Perspektyvos tikrai geros, bet konkurencija taip pat auga. Jau nebepakanka tiesiog „mokėti programuoti” – reikia išsiskirti, turėti portfolio, gebėti parodyti savo vertę.
Ar verta šokti į IT vandenį?
Grįžtam prie pradinio klausimo – ar verta tapti programuotoju? Atsakymas priklauso nuo tavęs.
Jei tau patinka spręsti problemas, kurti kažką iš nieko, mokytis naujų dalykų, ir turi kantrybės – tada taip, verta. Programavimas gali būti labai įdomus ir atlyginantis darbas. Ne tik finansiškai, bet ir emociškai – kai pagaliau išsprendžia sudėtingą problemą ar kai matai, kaip žmonės naudoja tavo sukurtą produktą.
Bet jei tave traukia tik pinigai, o pats procesas nedomina – geriau ieškokis kitos srities. Yra daug profesijų, kur galima gerai uždirbti. Programavimas nėra lengvi pinigai, nepaisant to, ką sako reklamos.
Pradėk nuo mažo – pamėgink nemokamų kursų, parašyk paprastą programėlę, pažiūrėk, ar tau patinka. Jei taip – tada galvok apie rimtesnį mokymąsi. Jei ne – nieko baisaus, bent sužinojai ir negaišai laiko bei pinigų.
Ir atmink – nebūtina tapti senior programuotoju per metus. Nebūtina dirbti Google ar Facebook. Nebūtina mokėti visų technologijų. Užtenka rasti savo nišą, nuolat tobulėti ir mėgautis tuo, ką darai. Tai skamba kaip klišė, bet programavime tai tikrai veikia. Geriausi programuotojai – ne tie, kurie moka daugiausia, o tie, kurie mėgsta tai, ką daro, ir niekada nenustoja mokytis.
Taigi, jei vis dar skaitai ir galvoji „skamba įdomiai” – pamėgink. Prasčiausiu atveju išmoksi naujo įgūdžio. Geriausiu – rasi profesiją, kuri tave džiugins ir maitins. O tai jau neblogai, ar ne?






