Prieš ketverius metus Žygimantą Jūrelę į JAV programavimo paslaugų įmonę „Devbridge“ paskatino ateiti ilgamečio kolegos rekomendacija ir kvietimas dirbti Front–end programuotojų komandoje. Nors tuo metu vyras nė neplanavo nieko keisti savo profesiniame gyvenime, bet jį sudomino ne tik siūloma pozicija, bet ir galimybė prisidėti prie Front–end bendruomenės augimo, rašoma pranešime spaudai.
Kaip tapti Front-end programuotoju? Ką turi žinoti kiekvienas, norintis pasirinkti šią sritį ir kuo skiriasi Front-end ir Back-end programuotojų darbas? Ž. Jurelė pasidalijo savo įžvalgomis.
– Baigėte verslo administravimo studijas, kaip kilo mintis pasukti į technologijų sektorių?
– Kadangi visada patiko tikslieji mokslai, pasirinkau Verslo administravimo studijas Vilniaus universitete. Tačiau technologijos visada buvo šalia, to mokiausi savarankiškai maždaug nuo 14-likos metų, skaitydamas įvairiausias knygas ir kaupdamas patirtį iš kasdieninės praktikos. Dar iki pradedant studijuoti verslą, prisidėdavau prie įvairiausių, su technologijomis susijusių, projektų. O galutinai apsisprendžiau pasukti į programavimo sritį tada, kai padėjau bičiuliui vystyti jo elektroninės parduotuvės svetainę, taip ir užsikabinau.
– Kaip Jūs tapote Front-end programuotoju? Kas labiausiai sužavėjo šioje srityje?
– Aš esu meniškas žmogus, man patinka tai kas yra gražu, tačiau tuo pačiu man patinka tikslumas, matematika, skaičiai ir panašūs dalykai. Front-end programuotojo profesija įgalino mane visapusiškai save atskleisti. Čia aš galiu kurti, piešti, animuoti ir kitaip atskleisti savo meniškąją pusę. Kadangi visa tai dažniausiai reikia daryti rašant kodą, yra patenkima ir mano „tiksliuko“ pusė. Turbūt kiekvienas kūrėjas jaučia šiokį tokį pasitenkimą pristatydamas savo darbą pasauliui. Taip, sukūręs tai kas yra gražu ir kas gerai veikia, jaučiuosi ir aš, o tam internetas yra puiki terpė. Frontend’o pasaulis yra žavus, nes jis niekada nestovi vietoje ir yra išties labai platus, įvairus, nuolatos besikeičiantis, nuolatos kuriamos naujos ir įdomios idėjos bei visada yra ką išmokti.
– Ką veikia Front-end programuotojas? Kokius konkrečius darbus atlieka kasdieniniame darbe?
Front-end programuotojas yra atsakingas už viską, ką atėjęs į interneto svetainę ar kitą web aplikaciją mato vartotojas. Iš pirmo žvilgsnio tai gali pasirodyti gana sudėtinga, tačiau galiu patikinti, kad tai yra kur kas sudėtingiau nei atrodo. Visi vaizdiniai elementai, jų išsidėstymas bei tarpusavio sąveika, spalvos, šriftai, animacijos, darbas su duomenimis, svetainės pritaikymas daugybei skirtingo dydžio ekranų, atsakomybė, kuriant vartotojams patogiai prieinamas svetaines, tai tik lašas jūroje, ką šiandien veikia Front-end programuotojas.
Šiandieniniame pasaulyje, šios srities programuotojo kasdieninės darbo funkcijos ir užduotys būna labai įvairios, pradedant paveiksliuko atvaizdavimo ekrane ir baigiant darbu su duombazėmis bei serveriais. Norint sėkmingai atlikti savo darbus, programuotojas turi žinoti ne vieną programavimo kalbą, suprasti ir mokėti dirbti su nemažai programų.
Nors skirtingose įmonėse yra tam tikrų skirtumų, tačiau paprastai pagrindinės Front-end programuotojo funkcijos aprėpia HTML, JavaScript ir CSS naudojimą dizaino įgyvendinimui, dizaino kūrimą tiek mobiliesiems įrenginiams, tiek ir skirtingoms naršyklėms. Balanso tarp estetinio ir funkcinio dizaino užtikrinimą taip pat vartotojo sąsajos kūrimą, priežiūrą bei vartotojo patirties optimizavimą. Būtina vadovautis geraisiais SEO praktikos pavyzdžiais, mokėti taisyti klaidas bei testuoti, taip pat gebėti suvaldyti programinės įrangos darbų eigą, o vėliau palaikyti svetainių bei aplikacijų prieinamumą.
– Kuo skiriasi, pavyzdžiui, Backenderio programuotojo darbas nuo Frontenderio?
Programuotojai, rašydami kodą, naudoja programavimo kalbas. Panašiai kaip ir žmonių kalbos, šios kalbos leidžia programuotojams bendrauti su kompiuteriais, naudojant daugybę simbolių, vadinamųjų kodų. Paprastai kalbant, kodas tai tarsi nurodymai kompiuteriui įvykdyti tam tikras funkcijas. Skirtumas tarp frontend ir backend programuotojų yra toks, jog jie dirba su skirtingomis kalbomis. Frontenderiai naudoja tokias kalbas, kaip HTML, CSS ir JavaScript, o tuo tarpu backenderiai paprastai dirba su PHP, C++, Java, Ruby, .Net ar Python.
Front-end programuotojas daugiausia dirba ties vizualine programos ar internetinės svetainės dalimi, su kuria susiduria ir kurią mato galutinis vartotojas, tai yra taip vadinamoji kliento pusė. Tuo tarpu backend programuotojas fokusuojasi į tą svetainės pusę, kurios vartotojai nemato, t.y. taip vadinama serverio pusė. Backend programuotojo darbas yra labiau loginis, algoritminis, jis dirba su duomenų lentelėmis, jų gavimu bei paruošimu Frontend daliai, kuri tuos duomenis atvaizduoja ekrane.
– Kokios tendencijos vyrauja jūsų profesinėje srityje?
Šių dienų tendencijos yra tokios, kad vis daugiau backend programavimo principų pereina į frontend dalį, taip atveriančių kelius dar daugiau naujų galimybių įgyvendinti sudėtingas funkcijas bei kurti visapusiškai įvairesnius projektus. Šiais laikais, kai, atrodo, visas pasaulis gyvena internete, ypač daug dėmesio yra skiriama frontend technologijomis, kurios labai sparčiai plečiasi bei tobulėja. Kartu su tuo smarkiai auga ir frontend programuotojo atsakomybių spektras. Per mažiau nei dešimtmetį programuotojui reikalingų žinių kiekis išaugo drastiškai. Anksčiau technologijos buvo paprastesnės, naršyklės neturėjo tiek daug funkcijų, todėl ir žinių kažkam sukurti užtekdavo mažiau. Dabar Frontend pasaulis visiškai pasikeitęs, į jį skverbiasi vis daugiau Backend programavimo principų.
Dalis Frontend programuotojų yra susifokusavę į vaizdinę praktikos pusę, t.y. kaip elementai yra atvaizduojami ekrane, jų interaktyvumu, vartotojo sąsajos intuityvumu. Šie programuotojai dažnai turi kažkokį sąlytį su meno sritimi. Kita frontend programuotojų dalis yra labiau linkę dirbti su logine programavimo dalimi, tai dažniausiai būna darbas su duombazėmis, didelių aplikacijų projektavimas, architektūriniai programų sprendimai ar našumo optimizavimas. Be abejo, yra daug programuotojų, kurie dirba ties abejomis praktikos pusėmis, tačiau kaip taisyklė viena ar kita pusė dažniausiai būna stipresnė.
– Kaip šiandien keičiasi reikalavimų amplitudė Front-end programuotojams? Kaip žinoti, kada ir ką verta mokytis, nuo ko pradėti, norint tapti šios srities programuotoju?
– Nepaisant backend programavimo skverbimosi į frontend pasaulį, pastarasis taip pat plečiasi ir tobulėja labai greitai. Kuriamos viena už kitą geresnės Javascript programavimo kalbos sistemos bei bibliotekos, kurių principai nors ir yra panašūs, tačiau skirtumų taip pat yra pakankamai daug norint jas gerai mokėti. Įmonės dažniausiai reikalauja jau įsitvirtinusių sistemų mokėjimo, tokių kaip React, Vue.js ar Angular. Jų yra žymiai daugiau, tačiau mokėti kuo daugiau, tikrai nėra tikslo, o su patirtimi, perpratus jų veikimą, išmokti vieną ar kitą Javascript sistemą nebus sudėtinga.
Keičiasi ir naršyklės, kurios yra vis labiau naudojamos vartotojų, iš jų tikimasi vis daugiau funkcijų. Naršyklėse atsiradus daugiau galimybių, daugiau darbo tenka ir Frontend programuotojams visas tas galimybes taisyklingai panaudoti. Atsiranda ir vis daugiau pagalbinių darbo įrankių ir programų, kurios palengvina darbą ir suteikia daugiau galimybių, tačiau visos šios programos taip pat reikalauja pastangų jas perprasti ir išmokti jomis naudotis. Taip pat tokie įrankiai turi tendenciją kas kelerius metus būti pakeisti kitais, naujesniais ir įdomesniais įrankiais, kuriuos vėl reikia perprasti.
– Kodėl jums yra svarbu formuoti Front-end profesionalų bendruomenę ir skatinti žinių pasidalijimo kultūrą?
Programavimas, tai sritis kuri ne visada buvo tokia paklausi ir informacijos gausa nebūdavo taip lengvai pasiekiama, tą patyriau ir aš. Tad bendruomenės, suteikdamos terpę žinių pasidalijimui yra neatsiejama programavimo kultūros dalis. Bendruomenėje, padėdami vienas kitam, programuotojai daug išmoksta vien tik bandydami teisingai atsakyti į klausimus. Taip yra įtvirtinamos žinios, nekalbant apie tai, kad patirties dalijimasis padeda kelti ir techninį žinių lygį.
– Jau daugelį metų prisidedate ir prie jaunųjų talentų ugdymo nemokamoje „Sourcery“ akademijoje, skirtoje Front-end programuotojams. Išbandėte ir komandos vadovo, ir mentoriaus rolę. Ką jums reiškia ši veikla?
– Būdamas mentoriumi aš išmokau ne ką mažiau nei mano studentai. Tiesa, mano žinios buvo kitokios – aš išmokau būti geresniu mokytoju, aiškiau dėstyti savo mintis, pergalvoti dalykus, kurie man atrodydavo savaime suprantami. Nors patirties sukaupęs turiu daug, bet supratau, kad labai pravartu atsigręžti ir pažvelgti į viską iš kito kampo, taip pat ir iš studentų perspektyvos.
Didžiausia vertė, kurią sukuria „Sourcery“ akademija yra pagalba studentams – susikoncentruoti į tai, kas iš tiesų naudinga bei reikalinga. Norint savarankiškai tapti geru programavimo specialistu, reikia gebėti mokytis savarankiškai. Internete yra pilna informacijos, tad mokėti atsirinkti tinkamą ir naudingą informaciją yra labai svarbu, norint nešvaistyti ir taip brangaus laiko. „Sourcery“ akademijoje informacija yra sukoncentruota taip, kad pradedantys programuotojai nepasiklystų informacijos platybėse ir įgytų tvirtus savo būsimos karjeros pamatus.
Nors mano karjera IT sektoriuje prasidėjo gana seniai, bet įdomiausias šios srities aspektas man yra tas, jog visada rasi dalykų, kuriuos gali išmokti, visada kuriama kažkas naujo, niekada negali, o ir nenori, užsisėdėti su senomis žiniomis. Dėl to Frontenderio darbas retai kada atsibosta, jis yra nuolat atšviežinamas ir tu nuolat prisimeni, dėl ko pasirinkai šią specialybę. Į „Sourcery“ akademiją atėję žmonės man visada primena mano, kaip Front–end programuotojo, kelio pradžią. Viskas yra nepaprastai įdomu, norisi išbandyti viską, norisi kad dienoje būtų 28 valandos ir tą papildomą laiką, galėtum praleisti eksperimentuodamas su naujai išmoktais dalykais. Pamatyti ekrane savo sukurtą ir, svarbiausia, veikiantį darbą yra tai, kas veža ne tik mane kasdieniniame darbe, bet ir akademijoje studijuojančiuosius.
– Ačiū už pokalbį