Pastebiu tendenciją, ypač paskutiniais metais, kad vis dažniau į atrankas ateina specialistai, kurie tikisi, jog visko išmokys darbdavys, tačiau tai ne visai tiesa. Laikais, kai į vieną net ir praktikos poziciją didelėje įmonėje kartais kandidatuoja ir dvidešimt žmonių, toks specialistas neišsiskirs ir nebus net pakviestas į pokalbį. Tad kokius įgūdžius pradedantysis programuotojas turi išsiugdyti, kad jį atrinktų?

IŠMOKITE NAUDOTIS PROGRAMAVIMO ĮRANKIAIS

Rašydamas savo augimo istoriją minėjau, jog vieni svarbiausių įgūdžių buvo plika akimi nematomi. Pavyzdžiui, sparčiai rašyti nežiūrėdamas į klaviatūrą išmokau turbūt dar būdamas šešiolikos, eksperimentuodamas su amerikiečiams skirta buhalterių programine įranga, mokančia greitai rinkti tekstą. Kitas puikus pavyzdys – tikslus bendravimas, kurio išmokau iš matematikos dėstytojos: matematikos kalba turi būti trumpa, tiksli, struktūrizuota ir aiški.

Tas pats ir programavimo srityje: geras programuotojas savo programavimo aplinkoje (angl. IDE) moka naudotis sparčiaisiais klavišais (angl. shortcut). Dar dabar pastebiu programuotojus, kurie programuodami naudoja pelytę vietoje to, kad greitai perkeltų programinį kodą eilute aukščiau ar žemiau, nušoktų į eilutės pabaigą ar į kitą kodo dalį ties skliaustais. Atrodo menkniekis, bet programinės aplinkos sparčiųjų klavišų išmanymas yra neįtikėtinai daug laiko sutaupantis įgūdis, kurį turi kiekvienas vyresnysis programuotojas.

Be darbo su pačiu kūrimo įrankiu turite išmokti savo kode ieškoti klaidų, tad „debug“ įrankio naudojimas, pavyzdžiui, PHP kalbų terpėje, turbūt populiariausias. „xDebug“ yra kone pamatinis. Nustembu, kai sutinku net daug metų dirbančius (ypač laisvai samdomus) specialistus, kurie kasdien jo nenaudoja. Tai neįkainojamas įgūdis, sutaupantis ypač daug laiko ir pačiam asmeniškai.

Ne ką mažiau svarbu suprasti ir komandinės eilutės bazines funkcijas, kurios neretai yra visose programavimo kalbų terpėse. O patys įrankiai dažniausiai susideda iš to, kaip ir kokioje aplinkoje paleisti programavimo kalbą ar jos rezultatus kūrėjo režimu, kaip ir kur sekti projekto eigą ar laiką, patys programavimo kalbos kūrimo įrankiai, šalutinės arba susijusios programavimo kalbos.

Paskutinis įrankis, be kurio šių dienų programavime neįmanoma apsieiti, yra GIT versijavimas. Kai užduodu klausimus apie GIT’ą, kolegos neretai žino tik tiek, kam jis skirtas, ir bando preliminariai nuspėti pagrindines komandas „commit“, „push“, „pull“, tačiau esminis momentas būtų naudojimo principai, pavyzdžiui, „feature-branch“ principas, taip pat ir GIT konfliktų sprendimas.

IŠSIRINKITE VIENĄ PROGRAMAVIMO KALBŲ TERPĘ IR ĮGYKITE BAZINIŲ ŽINIŲ

Dažnai teks sau atsakyti, kokiu keliu noriu eiti, pavyzdžiui, ar noriu būti interneto technologijų, ar didelių korporatyvinių sistemų, o gal mobiliųjų aplikacijų programuotojas.

Pasakysiu tiesiai – interneto technologijos yra paprasčiausiai ir greičiausiai išmokstamos dėl savo didelio įrankių kiekio ir gana primityvios programavimo kalbų struktūros, tad būdamas pradedantysis rinkčiausi jas: nereikės sukti galvos dėl įrenginių, sudėtingų „build’inimo“ aspektų ir aplinkos paleidimo.

Aktualiausias klausimas čia turbūt yra toks, ar jau turiu suformavęs tas bazines žinias, ar ne. Ir turiu pasakyti, kad neužtenka žinoti sąvokas. Net jei ir kandidatuojate į pradedančiojo specialisto rolę darbovietėje, ten turbūt mėgins patikrinti, ar tik žinote sąvoką, ar ir esate kažką mėginęs atlikti, t. y. iš tiesų suprogramuoti bei su kokiais iššūkiais susidūrėte, o galbūt sulauksite klausimo apie tai, kada vienas ar kitas dalykas turėtų būti naudojamas arba būtų geriau jį naudoti. Tokios patirties ir atsakymų nesukaupsite tiesiog nebandydami ir nesiimdami darbo – programuoti.

Ir nesuklyskite – tik peržiūrėti internetines paskaitas nepakaks. Kurkite, darykite, eksperimentuokite, mėginkite, ir tuo pačiu ne tik sukursite galimų pavyzdžių savo CV, bet ir įgausite reikalingų žinių, o dar geriau – sukurkite kažką naudingo ir naudojamo. Tokiu būdu atsiras motyvacija įveikti iššūkius.

APIBENDRINIMAS

Geriausias būdas greičiausiai patekti į rinką yra savarankiškai įgyti bent vienos programavimo kalbos (nesvarbu, ar tai bus PHP, ar C#) bazinių žinių bei gebėti jas taikyti. Jeigu neturite tiek laiko perprasti šią programavimo kalbą, bent jau pasistenkite suprasti visą tos programavimo kalbų terpės kontekstą: įrankius, susijusias programavimo kalbas, problemas, su kuriomis šioje terpėje susiduria programuotojai, ir išmokite sąvokas. Kitaip tariant, minimalus reikalavimas – įgyti kontekstinių žinių apie savo būsimąją sritį.

Visi šie įgūdžiai padės ne tik kandidatuojant, bet jau ir darbuojantis įmonėje – nepamirškite, jog mūsų tikslas yra ne tik gauti darbą ar pradėti darbuotis, bet ir neiškristi iš darbo rinkos bandomuoju laikotarpiu.

Net jeigu kai kurie patarimai atrodo kaip užtrunkantys per daug laiko tik tam, kad susirastum darbą, jie itin pravers jau darbuojantis su mentoriumi arba vyr. programuotojui užduodant klausimus.


Rašykite komentarą