2024.09.03
Šį kartą ne apie tūkstantį kartų jau aptartą karjeros pokyčio į IT sritį temą. Šiame straipsnyje pagaliau liečiame IT specialistams be galo svarbią, bet dar į viešumą mažai keltą programavimo kalbos keitimo klausimą.
Kaip nuspręsti, kad laikas keisti programavimo kalbą, kaip tą kalbą išsirinkti ir kokias naujas galimybes atneša tokios kalbos kaip GO išmokimas, atsakymus pateikia Technical Team Lead @Oxylabs Valdemar Karasevič.
Kiek pastebėjau, žmonės dažnai prisibijo išeiti iš savo komforto zonos, ypač jei dar neturi pakankamai patirties su esama kalba. Mano atveju tai nebuvo sprendimas priimtas per vieną dieną, jau kurį laiką jaučiau, kad iš esamos kalbos, kurioje specializuojuosi, pasiėmiau viską ką norėjau ir atėjo laikas pokyčiams.
Kuomet darbe pasitaikė galimybė pereiti į kitą komandą, kuri programuoja kita kalba, nusprendžiau pasinaudoti tiesiu keliu į naują programavimo kalbą iš karto. Žinoma, buvusios komandos nariai gal kiek nustebo tokiu mano pasirinkimu, bet kai kurie pripažino, kad apie tokį pokytį ir patys svarsto.
Gera žinia ta, kad nauja komanda mane priėmė labai šiltai ir padėjo, tad perėjimas iš vienos kalbos į kitą nebuvo tiek sudėtingas, kiek prisibijoma pradžioje prieš priimant tokį sprendimą.
Pirmiausia reikia pačiam suprasti kas traukia labiausiai – pradėti verta nuo to, ar labiau traukia vartotojų sąsajų programavimas, ar darbas prie taip vadinamo „back end’o”, nes tai – du skirtingi programavimo pasauliai.
Pasirinkus „front end’ą”, kelias pakankamai aiškus – Javascript ir viskas kas aplinkui tai. Bet su „back end’u” yra kiek sudėtingiau, nes pasirinkimų egzistuoja labai daug: pradedant nuo API programavimo, baigiant sisteminiu programavimu.
Pasirinkus sritį, reikėtų išsiaiškinti kokios programavimo kalbos labiausiai tinka darbui toje srityje – nors dažniausiai programavimo kalbos yra pakankamai universalios, tačiau tam tikras užduotis vis tiek yra paprasčiau įgyvendinti su tam darbui labiau tinkančiomis kalbomis.
Taip pat reikia suprasti, kad programavimo kalbos skiriasi pagal savo pritaikomumą, todėl gali skirtis ir gaunamas atlygis, o prieš renkantis programavimo kalbą reikia įsivertinti ir tai.
Kadangi prieš tai dirbau su PHP, o perėjimą padariau į Go kalbą, sudėtingiausia buvo suvokti visus man dar nepažįstamus konceptus, tokius kaip Go rutinos, kanalai ir lygiagretus programavimas.
Kitas dalykas – perėjimas iš interpretuojamos prie kompiliuojamos kalbos taip pat turėjo savo iššūkių, nes atsirado tokios problemos kaip memory leak’ai.
Ir apskritai, keičiant programavimo kalbą iš pradžių buvo ganėtinai sudėtinga, nes iš senior pozicijos teoriškai perėjau į junior lygį, ir teko gana dažnai klausti kolegų patarimų.
Visgi, šis procesas netrunka ilgai, keletos mėnesių bėgyje jau jaučiausi pakankamai gerai rašant kodą naująja kalba, todėl pasitikėjimui savimi tai įtakos neturėjo.
Be to, visas mokymosi procesas tuo pačiu daro didžiulę įtaką asmeniniam pasitenkinimui, nes bent jau man – mokytis naujų dalykų visuomet yra labai malonu.
Taip pat, keičiant programavimo kalbą mokymosi procesas yra daug paprastesnis, nei mokantis programuoti pirmą kartą – turimos pamatinės žinios pritaikomos beveik visoms programavimo kalboms.
Pirmiausia – lygiagretus programavimas, naudojant go rutinas ir kanalus, man buvo visiškai nauja idėja, bet išmokus dirbti su tuo, atsiveria visiškai kitos galimybės ir programos struktūra.
Antroje vietoje išskirčiau greitaveiką – prieš tai niekada neteko galvoti apie tai, o dabar vis dažniau pagalvoji ar tai, ką padarei, veiks pakankamai greitai.
Be to, Go programavimo kalba puikiai tinka mikroservisų architektūrai, nes buvo sukurta galvojant būtent apie tai.
Galiausiai, dar vienas Go kalbos privalumas yra tai, kad go neatsineša su savimi viso „praeities palikimo” – tai švari ir pakankamai nauja programavimo kalba, o jei nori ją išmokti ir tu, savo komandoje ieškome naujų žmonių.
Daugiau informacijos apie galimybę prisijungti prie @Oxylabs komandos, programuojančios Go ir ne tik kalbomis, rasi čia.
Neringa Sendriūtė