Su informatikos pasauliu mažai bendra turintiems žmonėms programuotojas – nesuvokiamais terminais kalbantis žmogus. 22 valandas per parą jis tūno prie kompiuterio ir neturi žalio supratimo apie muziką, sportą ar kitas gyvenimiškas sritis. Pasirodo, šie stereotipai geram programuotojui netinka. BDC institutas nutarė pasidomėti, kaip tapti geriausiu programuotoju. Patirtimi dalinasi trys IT specialistai: Simonas Jurkša, Justinas Urbanavičius ir Tadas Makčinskas.
Tarptautinėje kompanijoje dirbantys vaikinai vienbalsiai sutinka, kad programuotojais ne gimstama, o tampama. Pasak jų, geram programuotojui nereikia išsiskirti fizinėmis savybėmis, jam būdingas loginis mąstymas, kruopštumas ir polinkis į tiksliuosius mokslus.
„Tačiau programavimas yra kūrybinis darbas – turi sudėti kodus taip, kad atlikdamas kuo mažiau veiksmų pasiektum geriausią rezultatą. Sakoma, kad geras programuotojas niekada nerašo to paties kodo antrą kartą. Kūrybos šiame darbe daug daugiau nei gali atrodyti iš pradžių“, – sako J. Urbanavičius, tarptautinės kompanijos programuotojas.
Nuo ko pradėti?
Justino kolega S. Jurkša taip pat dirba programuotoju. Laisvalaikiu būgnais grojantis ir chore dainuojantis Simonas mano, kad programavime kaip ir muzikavime – nebūtina baigti mokslo. Kad taptum geru muzikantu, turi labai norėti ir daug groti. Lygiai taip pat ir programuojant – siekdamas tapti geru programuotoju turi norėti juo būti ir daug programuoti.
„Aukštasis mokslas būtinas bendrajam išsilavinimui, siekiant sklandžiau įsilieti į programuotojų bendruomenę, rasti bendraminčių“, – sako Simonas.
Iš vaikinų mokslo draugų universitete, programuotojais šiuo metu dirba vos trečdalis. Dauguma pasirinko visai kitą sritį, o kiti tapo IT įmonių vadybininkais.
Vis dėlto beveik visi būsimieji programuotojai informatika susidomi dar mokykloje. Pradedantiesiems patyrę kolegos pataria susirasti bendraminčių, kurie galėtų padėti ir patarti. Tai gali būti informatikos būreliai ar stovyklos, internetiniai forumai ar pokalbių kambariai. Dar geriau, jei turėsite programuojančių draugų, kurių bet kada galite paklausti patarimo ar pasidalinti žiniomis.
Darbovietę besirenkantiems programuotojams patariama rinktis įmonę, kurioje galėtų tobulėti. Svarbiausia – gera specialistų komanda, iš kurios pradedantysis galėtų semtis žinių ir mokytis. Kartais tokią aplinką galima rasti ir nedidelėje, tik veiklą pradėjusioje įmonėlėje, kartais – ir didelėje, tarptautinėje kompanijoje. Sunku darbo pokalbio metu suprasti, kokia aplinka laukia naujoje darbovietėje, tačiau, pasak pašnekovų, jeigu jau įsidarbinę pastebėjote, kad neturite galimybių tobulėti ir augti, geriau negaišti laiko ir ieškoti kitos komandos.
Programavimo magija
S. Jurkša sako, kad tapti programuotoju jį paskatino supratimas, jog parašius kodą tarsi įvyksta stebuklas – kompiuteris klauso komandų ir tuščioje erdvėje atspindi programuotojo suformuluotą užduotį. Tai užburia ir skatina išmėginti, ką dar galima būtų suprogramuoti.
„Kai buvau vaikas, programavimo magija mane tiesiog užbūrė. Įstojęs į universitetą, mokiausi vis daugiau, pats domėjausi ir paskaitose nedėstomais dalykais. Pastebėjau, kad aplinkiniai nuolat prašo ką nors suprogramuoti, tai skatino tobulėti“, – sako S. Jurkša.
BDC instituto kalbinti programuotojai pripažįsta, kad mokykloje labiausiai traukė tikslieji mokslai, kurių teoriją galima pritaikyti praktikoje, pavyzdžiui, fizika, chemija ir informatika. Visgi daugiausia dėmesio jie skyrė informatikai, kuri sužavėjo praktiniu pritaikymu – turėdamas minimalias priemones, kompiuterį ir programą, gali sukurti realiai veikiantį produktą.
„Kai buvau dešimtokas, nedidelei apskaitos programai parašiau kodų, kuriuos po to sėkmingai naudojo mano pirmasis užsakovas – apskaitos kompanija. Tai, kad tavo sistema veikia ir pritaikoma realiame versle labai užkabino, – prisimena S. Jurkša. – Jeigu būčiau užaugęs prie automobilių dalių aikštelės, turbūt būčiau tapęs auto mechaniku, nes galimybė realiai prisiliesti prie to, ką mokaisi viliojo ir toliau gilintis, domėtis.“
IT ar architektūra?
Kaune mokyklą baigęs ir šiuo metu tarptautinėje kompanijoje IT architektu dirbantis Tadas Makčinskas mokykloje daugiausiai domėjosi matematika ir kitais tiksliaisiais mokslais. Tado tėtis dirbo radiotechnikos institute ir kartą į namus parsinešė vieną pirmųjų asmeninių kompiuterių „Santaka“ – metalinę dėžutę su klaviatūra, prie kompiuterio reikėdavo prisijungti televizorių „Šilelis“. Šalia pridėtoje knygutėje buvo surašyti programavimo kodai, kuriuos suvedus kiekvienas klaviatūros mygtukas grodavo skirtingus garsus. Tokia buvo pirmoji pažintis su programavimu.
„Planuodamas, ką norėčiau mokytis universitete, rinkausi tarp informatikos ir architektūros. Šių dviejų disciplinų principai labai panašūs – turi idėją ir ieškai sprendimų, kaip ją įgyvendinti. Kūrybinis procesas taip pat panašus, tačiau sritys, technologijos ir įrankiai skirtingi. Aplinkybės susiklostė taip, kad įstojau į informatiką. Paradoksas, tačiau šiuo metu esu architektas, tik IT srityje“, – sako T. Makčinskas.
Būti geras gali ne kiekvienas
Jo teigimu, šiais laikais kiekvienas yra nors kartą kažką programavęs. Tiesiog vesdami formulę į „Excel“ lentelę ar kurdami apklausą internete nepagalvojote, kad iš tiesų taip pat programuojate.
„Yra manančių, kad programuoti turėtų kiekvienas. Organizacija code.org, kurios judėjimą remia tokie žymūs žmonės kaip „Facebook“ įkūrėjas Markas Zuckerbergas, Niujorko meras Mike‘as Bloombergas ar kompanijos „Virgin Group“ įkūrėjas Richardas Bransonas, pasisako už tai, kad kiekvienas turėtų ir galėtų prisijungti prie programuotojų visuomenės, kad vis daugiau vaikų turėtų būti mokomi programavimo. Taip sujungtume visuomenės protus ir galėtume atlikti daugiau gerų darbų visų mūsų labui“, – sako T. Makčinskas.
Tačiau būti programuotoju ir būti geru programuotoju yra ne tas pats.
„Nežinau nė vienos profesijos, kur be užsispyrimo, didelio noro ir darbo būtų galima pasiekti gerų rezultatų. Taip pat ir programavime – turi nebijoti suklysti, mokytis iš savo klaidų, siekti tikslo ir gero rezultato. Programavime visos klaidos anksčiau ar vėliau išaiškėja, todėl programuoti bet kaip nepavyks – turi ieškoti gerų sprendimų ir galvoti apie klientą, būsimą sistemos naudotoją, kad kuriama sistema būtų patogi ir naudinga. Jeigu nenori dirbti gerai, o tiesiog programuoji bet kaip, greičiausiai, netapsi geru programuotoju“, – pataria Tadas.
Kokią sritį rinktis?
Anot BDC instituto pašnekovų, geras programuotojas turi suprasti aplinkinį pasaulį, kliento poreikius ir įgyvendinti užduotį. Jeigu programuotojas turi įgūdžių tik labai siauroje srityje ar negali suvokti kliento poreikių, jis niekada netaps geru programuotoju. Pasirodo, šiuo metu beveik nėra aiškios ribos tarp programuotojo, analitiko ir su užsakovu bendraujančio specialisto – geras programuotojas turi gerai atlikti visų jų funkcijas.
„Įdomiausi – daug iššūkių keliantys projektai, kai reikia gerai pasukti galvą, kai gyveni vien su mintimi, kaip surasti sprendimą. Geras programuotojas nedirba darbo valandų. Jis dirba nuo projekto iki projekto“, – įsitikinęs Investicinių projektų grupės IT architektas.
Pasak pašnekovų, geriausiai uždirba siauroje srityje besispecializuojantys programuotojai, kurių tuo metu trūksta ir kompanijos juos bando persivilioti. Tačiau rizikuojama, kad tos srities specialistų vieną dieną nebereikės. Taip greičiausiai netrukus atsitiks su „Flash“ animacijos programuotojais – plėtojantis mobiliųjų įrenginių rinkai, šią programavimo sritį išstumia HTML5.
Programuotojų teigimu, sudėtinga numatyti, kokių specialistų reikės ateityje, tačiau jau dabar labai trūksta programuotojų, galinčių analizuoti ir įdarbinti didžiuosius duomenis (angl. Big Data). Naujas IT specialistų iššūkis – kaip šiuos duomenis suprasti, apdoroti ir pritaikyti įvairiose visuomeninėse srityse, versle, valstybės valdyme ir kt. Skaičiuojama, kad po kelerių metų vien Jungtinėse Amerikos Valstijose trūks apie 100 000 programuotojų, dirbančių didžiųjų duomenų projektuose.
Tiesiai šviesiai: septyni rimti ir nerimti klausimai geriems programuotojams
Kaip vertinate programišius (angl. hacker)?
Jeigu vertintume moralės aspektus, tai nėra gerai. Tačiau, kalbėdami apie tam tikras organizacijas, pavyzdžiui, grupuotė „Anonymous“, kuri socialines problemas sprendžia atakuodama valstybinių institucijų svetaines ar sistemas, negalėtume atsiliepti vien neigiamai. Tai tarsi šiuolaikiniai robinhudai. Deja, riba tarp robinhudų ir plėšikų labai nedidelė.
Ką galvojate apie autorių teisių ar intelektinės nuosavybės pažeidimus?
Simonas Jurkša: „Kadangi pats groju ir dainuoju chore, pritarčiau, kad muzikos autorių įrašai būtų platinami neribotai ir tai pritrauktų gerbėjus, o kūrėjas uždirbtų iš koncertų ir kitos muzikinės veiklos. Kalbant apie patentus, reikėtų peržiūrėti patentavimo sistemą ir įvertinti, ar ji atitinka šiandienos realybę. Gali būti, kad atėjo laikas ją keisti. Jeigu klausiate apie nelegalų programų platinimą, tikėtina, kad ateityje vis daugiau paplis atvirojo kodo programos, kurias kurs ir tobulins visa bendruomenė.“
Kaip vertinate moteris programuotojas?
Labai gerai. Tik jų yra mažai. Gal dėl to, kad jos sugeba vienu metu atlikti daug užduočių, o programuojant būtina susitelkti ties vienu darbu. O gal moterų programuotojų nėra daug ir dėl to, kad moterims programavimas atrodo per daug monotoniška veikla?
Per kiek laiko galėtumėte suprogramuoti aplikaciją telefonui „iPhone“?
Per savaitę.
Ar apsiperkate internetu?
Taip, labai dažnai.
Ar žaidžiate kompiuterinius žaidimus?
Ne. Jau atsižaidėme.
Kaip išleidžiate pinigus?
Protingai. Labai svarstome, ką pirkti, o ko ne. Neperkame naujų kompiuterių, telefonų ar kitų žaisliukų. Mūsų visas darbas yra mąstyti struktūriškai ir planuoti, todėl taip pat elgiamės ir su finansais.