Susidūriau čia su tokia situacija: žmogus, baigęs programavimą, po to 10 metų programuotoju nedirbęs, ieško darbo pagal specialybę. Savaime aišku, jo niekas nepriima, nes praktikos trūksta. Ir tada prasideda „kaip gauti praktikos, jei niekas dirbt nepriima?“. Net girdėjau atvejį, kai asmuo 2 metus ieškojo programuotojo darbo. Nerado. Įsidarbino kažkur kitur.
Yra gal sričių, kur tai problema. Yra sričių, kur ir diplomas svarbiau, nei praktika. IT – ne iš tų sričių.
Tada prisiminiau kažkada gerbiamo visatos valdovo Rokiškio Rabinovičiaus įrašą apie darbo praktiką. Aš pateiksiu receptą, kaip tos praktikos prisirinkti, iš savo srities – konkrečiai programavimo.
Žinoma, pirmas dalykas – reikia turėti kažkiek laisvo laiko. Taigi, jei esi bedarbis, to laiko tikrai yra(nebent tą laiką išnaudoji „pasisėdėjimams su draugais prie alaus“ ir nuolatinėms pagirioms). Moksleiviams ar studentams – kažkiek sunkiau, bet irgi galima rast.
Toliau – reikia suprasti, kokiomis technologijomis, kokia kalba norisi praktikuotis. Galiu pasakyti, kad web ir mobilios technologijos dabar labai ant bangos. „Desktop“ aplikacijos vis labiau praranda reikšmę, kadangi viskas keliasi „į debesis“, o be to – nuolat populiarėja alternatyvios operacinės sistemos(tas pats Linux, jau nekalbant apie MacOS). Taigi kuriant desktop programą, gali tekti daryti taip, kad programa veiktų keletoje sistemų. Su web – truputį paprasčiau. Backend’ui nerūpi operacinė sistema, su kuria dirba vartotojas. Frontend’ui įtakos turi nebent naršyklė.
Pasirinkus technologiją, galima rinktis kalbą. Iš tiesų tai nėra taip reikšminga – žinant pagrindus, pereit prie kitų kalbų nėra sudėtinga. Aišku, kiekviena iš jų turi savo pliusų ir minusų. Žemesnio lygio kalbos (C, C++, Pascal) optimaliau išnaudoja kompiuterio resursus. Itin aukšto lygio kalbos (JAVA, Ruby, Python, PHP, C#) lengviau perprantamos, tačiau joms reikia įdiegto interpretatoriaus, kas neretai reiškia saugumo skyles bei resursų panaudojimo neoptimalumą. Vis tik šiuo metu daugiau darbo pasiūlymų yra pastarosioms kalboms (na, dar C/C++).
Galima rinktis žemesnio lygio kalbą, programuoti kokius paprastus žaidimus (jie dabar „ant bangos“). Ir, tiesą sakant, jei yra minčių, tai ir reiktų daryti.
Kitas kelias – iškart apsiimti dirbti su web technologijomis(šiaip ar taip, vistiek teks su jomis susidurti – visokie API, ir panašūs dalykai). Galima lokaliai pasikurti serverį, ir ten kažką programuoti jau iškart kuriant rimtesnes sistemas, bet jei neturi planų tokią sistemą paleist į pasaulį, nelabai galėsi kam įrodyt, kad turi rimtos praktikos. Tokiu atveju bent jau kodą reikia laikyti kokiam github ar bitbucket. Bet galima pradėt ir nuo to, kad kur nors nemokamam (jei neturi pinigų) hostinge pasidaryti savo asmeninį puslapį, kad ir pasinaudojus kokia TVS (turinio valdymo sistema). Svarbu, kad jis būtų ne tiesiog paprastas šablonas uždėtas, bet figūruotų kažkokia informacija, kažkokie patobulinimai (puiki pažintis su HTML, CSS, JavaScript). Realiai to reikia savęs pristatymui, bet kažką pačiam pridarant, tai jau yra praktika. Sekantis žingsnis – pažįstami, kuriems reikia kažkokio paprasto puslapio. Manau, kiekvienas IT srities žmogus turi pažįstamų, sakančių „tu programuotojas – padaryk man <kažką>“. Tai vat tokiems galima net ir nemokamai kažką padaryti – nebent jis turėtų iš savo kišenės sumokėti už hostingą, domeną (jei jam to reikia), ar dar ką tokio. Ir vat šituos dalykus jau galima priskirti praktikai. O jei padarysi neblogai, kažkas tave rekomenduos pažįstamiems, ir taip toliau… Žinoma, jei nepatinka php (kas visai tikėtina, bet ji pagrindinė palaikoma kalba daugelyje hostingų), visada galima mokytis kitų kalbų. Problema ta, kad paprastuose hostinguose paleist python, ar ruby aplikaciją yra problematiška. Bet jei skelbsi savo kodą, įrodysi, kad moki ir daugiau.
Per keletą mėnesių gali visai nemažai tos praktikos prisirinkti. Svarbiausia – to laikotarpio, kai tu taip mokaisi, savo CV neįrašyti kaip bedarbystės. Nes juk tu nesi bedarbis, jei darai sau, ar kažkam kitam. Šiuo atveju tu laisvai samdomas darbuotojas (populiariai žinomas kaip freelancer’is), taip ir reiktų įrašyti.
Didžiausias šito būdo trūkumas – motyvacijos stoka. Bet jei tau nėra motyvacijos išmokti programuoti, tai gal neverta ir programuoti?