Tikrasis programuotojų veidas (apie programavimą iš asmeninės patirties)

Kai žiniasklaida taip dažnai eskaluoja apie programišius, apie tai kaip kažkur buvo įsilaužta, kažkas pavogta ir paviešinta manau ne vienam pasidaro įdomu kaip tai įvyksta, kas gi tie įsilaužėliai ir kaip jiems pavyksta įsilaužti į atrodytų gerai saugomas sistemas. Taip pat nemažai tenka girdėti kaip žmonės klausinėja, kaip tapti programuotoju? kokią kalbą geriau pasirinkti? kiti gi aptarinėja kokie tie programuotojai, su dideliais akiniais? Liauni kaip ką tik pasodinti medeliai? Stori kaip alaus statinaitės? Ar tikrai jie tokie užsidarę ir bendrauja tik su kompiuteriu? Į šiuos visus ir dar daugiau klausimų pasistengsiu atsakyti iš nemažos asmeninės patirties.

Asmeninė patirtis, praeitis
Turbūt pirma mintis toptelėjusi į galvą buvo maždaug tokia „kąą? kodėl aš čia turėčiau patikėti kažkokiu tai ale programuotoju su patirtimi, pff.. einu skaityt delfi”, jei Jūsų požiūris būtent toks tuomet pabandysiu jį pakeisti. Pirma norėčiau pabrėžti jog esu savamokslis programuotojas patirtį įgijęs tik per praktiką, t.y dirbdamas arba pats mokydamasis savarankiškai, todėl mano pradžia buvo itin sunki, ypač dėl aplinkinių požiūrio, bet apie viską nuo pradžių.
Gyvenau kaime, o kaime kompiuteriai tikrai rūpi nedaug kam ir išvis bent kiek daugiau apie juos nusimanančių yra nedaug, todėl man pradėjus vis daugiau sėdėti prie kompiuterio aplinkinių požiūris buvo maždaug toks „nu kiek tu gali sėdėt prie to kompo? nebežaisk tų žaidimų..”. Tuo metu teko sėdėti dantis sukandus ir tiesiog tobulėti. Iš pradžių jokių didelių darbų ir kontraktų su įmonėmis tikrai nebuvo, čia juk ne filmas, todėl viskas prasidėjo nuo pačių mažiausių darbų už dyką arba už „pinigus ant saldainių”. Taip dirbant, mokantis ir tobulėjant praėjo keli metai, atsirado savas klientų ratas, apsišlifavo įgūdžiai, o praėjus dar keliems metams supratau, kad aš jau kažkas daugiau už tą paprastą vaikinuką sėdintį  ištisas dienas prie kompiuterio. Nors praėjo jau bemaž 8 metai, aš vis dar tobulėju ir nematau tam galo, tiesa ir nenoriu jo matyti, nes tai ne tik mano darbas, bet ir hobis.

Keletas įdomesnių klausimų ir atsakymų iš mano pusės.

Kas yra programavimas?
Paprastai šnekant programavimas tai kažkokio veiksmo automatizavimas, supaprastinimas. Tai tiek apie programavimą. Rimtai, viskas. Jei įdomu sužinoti plačiau – prašom pagooglinti kas yra tas programavimas.

Kaip tapti programuotoju?
Bent jau ankščiau daug kas klausdavo šio klausimo, o ir atsakymų būdavo labai įvairių. Pabandysiu atsakyti realistiškai. Norint tapti programuotoju neužtenka įgyti diplomą, suprasti matematiką ar dirbti programuotoju. Tikrai žinau tokių dirbančių „programuotojų”, taip kad nesistebėkite jog žmogus dirbantis programuotoju mažai supranta apie programavimą. Matematika programavimui nepadeda, padeda tik loginis mąstymas. Diplomas tik duoda vaizdą darbdaviui, kad Jūs turbūt kažką nusimanote programavime.
Taigi, ko reikia norint tapti programuotoju ir kada juo tampama?
Programuotojui pirmiausia reikia užsispyrimo, kantrybės ir noro mokytis, gilintis, daryti klaidas ir jas spręsti, o po to daryti jų dar daugiau. Taip pat nepamirškime, jog akys tikrai bus sugadintos, o aplinkiniai tikrai nepraleis progos patraukti Jūsų per dantį. Traukimas per dantį baigiasi, kai įrodote, jog Jūs kažko pasiekėte ir sugebate iš to uždirbti pinigus. Šnekant paprastai, siekti tapti programuotoju gali bet kas, bet tampa juo tik nedaugelis, o dar mažiau randa gerai apmokamus darbus ar pastovius klientus.

Nuo kokios kalbos pradėti?
Siūlyčiau nuo anglų, nes be jos programavime kaip be rankų, t.y nė iš vietos. Kai jau bent kažkiek gaudysitės anglų kalboje galite griebti ir kokią tai programavimo kalbą. Lengviausia pradėti nuo taip vadinamų aukštesnių kalbų, pvz. PHP ar Javascript, o geriausia nuo HTML prieš tai pasiskaičius apie web’us ir jų veikimą. Siūlyčiau pradėti nuo kalbos su kuriomis dirbama prie internetinių puslapių, nes taip bus dviguba nauda, mokysitės programuoti ir įgausite naudingos patirties kurią vėliau galėsite panaudoti uždirbdami pinigus. Žinoma ne mažesnė nauda bus pradėti mokytis nuo Java ar C kalbos šeimų, bet juk daug smagiau iškart išmokti sukurti internetinį puslapį ir pasirodyti koks Jūs „kietas” programuotojas savo draugams. Žodžiu geriausia nuspręsti patiems, radus „savo” kalba mokytis bus daug lengviau.

Kada galima vadintis programuotoju?
Priklauso nuo Jūsų požiūrio. Vieni programuotojais „tampa” paleidę programą ar įsijungę kompiuterį, kiti gi po 10 metų atkaklaus darbo. Asmeniškai visada galvojau jog programuotoju galėsiu vadintis po 10 metų, taigi liko visai nedaug, apie porą metelių.

Ar skiriasi programuotojas ir kompiuterio technikas?
Beje, labai geras klausimas, nes pasakius jog esi programuotojas dažnai paprašoma perrašyti windows’us. Iš pradžių būdavo faina, nes žinote.. na juk galima pasirodyti koks esi kietas programuotojas perrašant windows’us, bet vėliau kažkaip atsibosta. Atsakant į klausimą, taip, skiriasi ir programuotojams windows’u perrašinėjimas nėra priskiriamas, nebent patiems „kiečiausiems”.

Esu programuotojas, iš kur gauti klientų?
Jei esi programuotojas tai klientai turėtų galvoti kaip gauti tave, o ne tu jų. Ankščiau ir aš galvodavau „po perkūnėliais kur aš gausiu tų klientų, juk neisi ir nesibelsi žmonėms į duris”, bet vėliau neieškant klientų atsirado tai vienas tai kitas, o vėliau dar keli ir t.t. na žinote kaip tam drakonui nupjovus vieną galvą vietoje jos atauga dvi. Klientai gerus programuotojus susiranda patys, o atlikus darbą rekomenduoja savo pažįstamiems ir gaunasi štai toks užburtas ratas kuris vis plečiasi. Jei esi pradedantysis, tuomet siūlyčiau pereiti per kelis forumus ir ten pareklamuoti savo paslaugas, arba kažkam atlikti kelis darbus nemokamai, gal gi kokiam draugui reikia web’o ar nulaužti FB?

Programuotojas = Programišius?
Kadangi jau prabilau apie nulaužimus tai atsakysiu ir į šį klausimą. Iš dalies. Pasakysiu mandrai. Programuotojas tai žmogus kuris taiso klaidas, o programišius (kiečiau – hacker’is) jų ieško. Iš tikro panašiai ir yra. Deja, bet be programavimų žinių programišiumi netapsi.

Sulysęs ar storas?
Priklauso nuo to koks tas programuotojas žmogus. Būna įvairių, vieni sportuoja, kad prasiblaškytų, kiti gi nesiblaško, o prie kompo protą taško.

Pinigai pinigėliai, kiek gi programuotojai uždirba?
Labai plati tema kuria būtų galima diskutuoti ir kalbėti ištisas valandas, bet aš kaip visada paprastai – programuotojas uždirba tiek kiek save įsivertina. Dažniausiai mažiau patyrę uždirba mažiau, o daugiau patyrę daugiau, nors gali būti ir atvirkščiai. Viskas priklauso nuo tavo žinių ir savęs pateikimo.

Ar programuotojai būna užsidarę?
Kartais būna, kartais ne, taip pat kaip ir bet koks kitas žmogus. Nors tas ištisinis sėdėjimas prie kompiuterio sudaro iliuziją, kad programuotojas atsiskyręs ir visiškai nedalyvauja realiame gyvenime, netiesa!

Ar kiekvienas gali būti programuotojas?
Mano mėgstamiausias klausimas. Taip, kiekvienas gali būti, bet ne kiekvienas būna ir ne kiekvienam tai lemta. Programavimas tai menas, kūryba. Reikia ne tik loginio mąstymo, bet ir truputį fantazijos.

Baisiausias dalykas būnant programuotoju?
Tapti pasikėlusiu. Tikrai, vienintelis ir pats baisiausias dalykas kai programuotojas tampa pats protingiausias ir svarbiausias. Atmink, kad ir koks tu protingas, kad ir ką tu būtum sukūręs visada bus toks kuris bus protingesnis, kuris pralenks tave kažkur arba visur, todėl reikia nebūti geriausiu, o visada to siekti, kad ir koks geras bebūtum.

Ar sunkus programuotojo darbas?
Iš vienos pusės ne, jei tai tau ne tik darbas, bet ir hobis. Iš kitos pusės taip, jei tu darbe atsiduri 8 val. ir išeini 17 val., o išėjas dar ir pabumbi kokia sunki buvo diena. Programuotojas norintis tobulėti išėjęs iš darbo greičiau jau pasigirs kiek šiandien visko naujo išmoko, ką sužinojo ir ką nuveikė, nei pasiskųs kokia sušikta diena buvo, nors žinoma tokių dienų pasitaiko visiems.

Kaip programuotojas mato?
Dažniausiai prastai, bet viską pataiso akiniai į kontaktiniai lęšiai. Kita vertus, programuotojas mato kitaip, nei visi žmonės. Jis žino kas vyksta kai įsijungia kompiuteris, kai paleidžiama programa ar atidaromas puslapis, jis ne tik žino, bet galvoje jau maždaug nutuokia kaip viskas veikia, kokia internetinio puslapio struktūra ir koks vienos ar kitos funkcijos veikimas. Jei nežino kaip veikia programa ją nulaužia ir pasižiūri. Tokie jau tie programuotojai.

Programuotojai filmuose vs realybė, panašu?
Tvirtas ne. Kai būdamas mažas žiūrėdavau filmus kuriuose žmogui greitai spaudinėjant klaviatūros mygtukus ekrane lekia skaičiukai ir raidytės tai galvodavau „ooooo, va čia tai geras ir aš taip noriu, kaip nerealiai..”, bet tai su realybe neturi nieko bendro, todėl jei norite tapti programuotojais vien dėl to tai neverta. Žinoma kiekvienas programuotojas gali pasirašyti programėlę kuri atrodytų kaip filme (su lekiančiais skaičiukais) ir tuomet būtų galima viską imituoti.

Nemoku matematikos, ar galiu būti programuotoju?
Žinoma. Svarbu ne pati matematika, o loginis mąstymas, bet mokėti skaičiuoti vistiek praverstų.

Kur dirba programuotojai?
Tiesa pasakius programuotojas gali dirbti visur. Ar tai būtų kavinė Kinijos sostinės centre, ar ofisas Vilniuje ar namai ar močiutės sodyba. Programuotojas nėra pririštas prie konkrečios darbo vietos, kaip kad sakykim pardavėjas ar koks tai elektrikas, tai labai didelis pliusas.

Darbas įmonėje vs darbas „ant savęs”.
Tiek vienas tiek kitas variantas yra geras atsižvelgiant į aplinkybes. Jei turite gerai apmokamą darbo vietą įmonėje, ten jaučiatės laimingas, geras kolektyvas ir t.t. tai puiku, jei ne, visada galima dirbti  „ant savęs” t.y pasiimti ind. veiklos pažymą ir dirbti vienam ar su pažįstamais/draugais, ieškoti savų  klientų rato ir bandyti „prasimušti” į aukštumas. Žodžiu abu variantai yra geri jei sugebate užsidirbti ant duonos.

Programuotojas tai toks žmogus kuris net neturintis darbo vistiek galėtų, sugebėtų ir mokėtų užsidirbti nevogdamas! Ar gi ne puiku?
Jei vis dar domina kažkas apie programuotojus tai nesidrovėdami klauskite, pasistengsiu atsakyti.