Programuotojo darbas ir studijos
Vis daugiau sulaukiu el. laiškų su prašymu padėti apsispręsti, kurią informatikos specialybę pasirinkti, kas gero tame programavime ir žmonių dvejonėmis apie šios specialybės perspektyvas ateityje. Tai savotiškas apibendrinantis viską įrašas sudėliojantys mano nuomonę apie programavimą kaip darbą ir studijas Lietuvoje.
Informatika prieš Informatikos inžinerija prieš Informacijos sistemas
Kažkada ir aš niekaip negalėjau suprasti, kuo skiriasi ta informatika nuo informatikos inžinerijos, tačiau dabar jau aišku, kad informatika – daugiau susijusi su paprastus programavimu, o informatikos inžinerija su sprendimų ir programavimo taikymu įvairiems įrenginiams, kitaip sakant, informatikos inžinerija susijusi su geležimi ir įvairiais įtaisais.
Būtina paminėti, kad studijuojant informatikos inžineriją reikės chemijos, kuri man labai nepatiko mokykloje (tikriausiai dėl to taip dažnai sieju informatikos inžinerija su chemija). O informatikoje, žinoma, reikės turėti gerus fizikos pagrindus – daugiau ką ir kaip moko sužinosiu vos už kelių mėnesių.
Beje, šiais metais tik KTU mačiau naują mokymo programą skambiu pavadinimu Informacijos sistemos. Kažkaip aš jas sutapatinu su užsienyje esančiomis Software engineering studijomis, kas pas mus atrodo esant tiesiog paprasta informatika. Šiais metais nemažai galvojau, kurį variantą rašyti pirmąjį – paprastą informatiką ar informacines sistemas, tačiau pasiklausinėjęs keleto kolegų tinklaraštininkų besimokančių KTU gavau patarimą stoti į paprastą informatiką – vargo nematysiu. Visų pirma, neaišku, ko ten mokys pačiais pirmais metais ir kad neatsitiktų taip, jog tas gražus aprašymas apie banko vidinių sistemų kūrimą, Facebook tipo sistemų tobulinimą nenueitų perniek.
Todėl turbūt paprasčiausia būtų stoti į informatiką, jeigu siejate save su programavimu, interneto sprendimais ir t.t.
Kokią rinktis pirmąją programavimo kalbą?
Lietuvos mokyklose vis dar mokoma Pascal. Anksčiau, tik pradėjęs pats dirbti su Pascal daugiau, peikiau ir neigiau jos naudingumą, tačiau prisipažįstu klydęs ir jau ne vieną kartą rašiau, kad būtent Pascal padeda įgyti pirmąją algoritmavimo patirtį. Mokykloje niekas neketina jūsų mokyti aukšto lygio programavimo kalbos, kad baigę jau galėtumėte eiti dirbti – čia svarbiausia jus išmokyti mąstyti, suprasti, kas per velnias tas programavimas ir ar tikrai esate pasiryžę jo mokytis visą tolimesnį gyvenimą.
Programuotojų rinkoje jau seniai pastebima, kad eiliniai programuotojai nesugeba atlikti paprastų, nesudėtingų užduočių – rašyti algoritmus, nors kai kuriuos didesnius sprendimus pritaiko puikiai. Pascal jus to išmokys, o ir bus puiki pradžia (įvadas) į programavimo sritį.
Vėliau jau patys turite rinktis, kas jums arčiau širdies – OS programos ar interneto sprendimų kūrimas ir pritaikymas vartotojams bei plačiajam internetui. O pasirinkę sritį galite jau rinktis ir konkrečią programavimo kalbą. Apsistoti ties viena kurį nors ilgesnį laiko tarpą pavojinga, o galimybių išmėginti jų įvairių yra daug – tereikia noro ir aktyvumo.
Svarbu paminėti, kad perpratus vieną programavimo kalbą dažnai kitos suprantamos daug lengviau ir pats mokymosi periodas arba bent jau susipažinimas tampa malonesnis bei paprastesnis.
Ko reikia norint tapti tikru programuotoju?
Atrodo tinklaraštyje SkaitykIT.lt buvo įdomus įrašas apie tai, ko reikia tikram programuotojui (kažkodėl nepavyko paieškoje rasti), todėl tik trumpai sudėstysiu pagrindinius dalykus:
- Kantrybė – dažnai jos ir man pritrūksta, bet svarbu turėti daug kantrybės, nes iš pradžių tikrai ne viskas pavyks, o surasti klaidą gali kartais būti sunkiau nei atrodo iš pirmo žvilgsnio.
- Nuolatinis noras ir siekis mokytis pačiam – programuotojas, norintis pasiekti aukštumų turi nuolat pats mokytis ir mėginti, testuoti naujas technologijas, prisitaikyti prie rinkos pokyčių, kai jo galbūt pamėgta programavimo kalba jau nebeteikia naudos klientų poreikiams ar pan. Tačiau čia svarbiausia, kad niekas kaip mokykloje už nugaros nestovės ir nenurodinės, kad mokytumeisi – viską turi pats daryti savo valios pastangomis.
- Nors dabar vis populiarėja mitas, kad programuotoju gali tapti bet kas (galbūt dėl to po pirmojo kurso atkrenta dešimtys studentų), tačiau čia reikalingas loginis mąstymas, o matematika ir jos rezultatai puikiai jums patiems parodys, kiek tos logikos turite ir mokate.
- Gebėjimas analizuoti situacija ir priimti sprendimus. Prieš kiekvieną darbą ar užduotį pirmiausia reikia ją tinkamai iš analizuoti, o vėliau ir pasirinkti tinkamas technologijas bei sprendimus, kitaip sugaišite daug laiko ir ištuštinsite be reikalo klientų kišenes.
Tų bruožų, būdingų ir reikalingų, yra tikrai daugiau, tačiau čia pirmi šovę man į galvą ir tikriausiai vieni svarbiausių (komentatoriai nedvejokite siūlyti savų).
Kur rasti informacijos?
Google. Internetas. Knygos. Nors dažnai ne tik lietuvių autorių knygos apie programavimą būna menkos kokybės, užsienio autorių, dirbančių ne vienerius metus IT sferoje, parašytos knygos dažnai tikrai naudingos ir reikalingos tolimesniam tobulėjimui.
Pirmiausia vis dėl to siūlyčiau pradėti domėtis pačiomis programavimo praktikomis, teorijomis ir mechanizmais, kurie padės labiau suprasti patį programavimą ir leis pradėti mintyse taikyti sprendimus. Vėliau, žinoma, būtina viską pritaikyti praktiškai, nes tik realiai taikydami sprendimus šio to išmoksite.
Kitas, nemažiau įdomus būdas mokytis, tai tiesiog atsidaryti kokios nors TVS kodą ar programos išeities kodą ir nagrinėti – žiūrėti, kas ir kaip ten daroma, kokie sprendimai priimami. Žinoma, reiktų pradėti nuo tinkamai parašyto kodo, nes blogo dar tikrai pamatysite ateityje daug.
Apibendrinimas
Jeigu mokate perrašyti OS, tačiau niekur kitur neįstojote ir galvojate, kad informatiką mokytis bus lengva, klystate (keista, kodėl tiek daug žmonių taip mąsto) – informatika tikrai ne jums. Apskritai darbas su informacinėmis technologijomis turi būti, kaip hobis ir teikti tam tikrą pasitenkinimą kuriant ir pritaikant sprendimus realiai rinkai. Jeigu to nebus, nebus ir noro nuolat pačiam mokytis, o tuomet tapsite nevykusiu programuotoju apie kurį kuriami mitai ir anekdotai. Taip pat reikia suprasti, kad diplomo gavimas nieko nereiškia šioje srityje, nes tik paties sukauptas žinių ir praktikos bagažas turi reikšmę – išėję iš universiteto po keleto metų gali būti prastesnis programuotojai už tuos, kurie niekada jame nesimokė, tačiau patys domėjosi rinkos naujovėmis ir nesėdėjo vietoje apsikabinę vieną programavimo kalbą.
Komentarai
„software engineering” arba programu sistemos jau bene 5 metus VU Mif’e egzistuojanti bakalauro programa ir gal jau kokius 3 metus esanti magistro programa. Cia jei netycia kas IT projektu vadovu noretu patapt :) aisku juo gali patapt ir informatika pastudijaves.
Informatika verciama i „computer science”
Aha, šitą žinau, bet ten aprašymai lyginant su užsienio universitetais truputį skyrėsi – gal dėl to ir pamiršau paminėti. Na, bet komentarus skaito, tikėkimės ir kiti :)
Labai geras įrašas. Tikrai labai daug gerų ir naudingų pastebėjimų. Artimiausiu metu ir aš žadu prašyti panašaus tipo įrašą, apžvelgiant dviejų metų studijas Informatikos srityje.
Ačiū už tokį postą. Gal jis padės bent keliems gabiems jaunuoliams apsispręsti tapti gerais programuotojai. Gerų specialistų Lietuvoje trūksta…
Dėl diplomo reikšmės norėčiau tik tiek pridėti. Mano manymu, universitete nieko naujo neišmoksi, jei jau renkiesi šią specialybę, tik tiek, kad kartais darbdaviai prašo, nes jiems tai atitinkamas garantas, jog kažką moki. Pataisykit, jei klystu.
Tai va mielas fukse, KTU mokys pirmam semestre tokių dalykų (bent jau pernai taip buvo): programavimo įvadas, tas pats kaip mokykloje tik per pusę metų ir su c++, gerai, kad bent jau nebeliepia dėlioti mygtukų ant formos; matematika informatikams tikriausiai ir šiemet bus pas Janę, ji vienokiu ar kitokiu būdu gadins gyvenimą; skaitmeninė logika, ankščiau problemų niekas neturėjo, bet pernai viską iš esmės pakeitė taip, kad pirmakursiam teko schemas su trigeriais projektuoti, visa laimė, kad pažymius dirbtinai kėlė; informacinės technologijos visai neblogas modulis; komunikavimo pagrindų gera dėstytoja, pažymių negailėjo.
Šiaip tai kuo toliau, tuo labiau man patinka KTU informatika, nors pirmam kurse norėjau bėgi iš ten.
Pamiršau paminėti, kad bus pora modulių po nulį kreditų, reiškiasi gali lankyti, gali ne, t.y. kūno kultūra ir anglų.
Yra teigiančių, kad yra kažkoks skirtumas tarp informatikų. Nežinau, kaip yra dabar, bet bent prieš kelis metus realiai pas mus čia, Lietuvoje, nors tų dalykų pavadinimai ir skiriasi dauguma esmės lieka ta pati. Baigęs inžinerinę informatiką ar informatiką sugeba visvien panašiame lygyje programuoti (nebent jis tuo kažkur dar pats užsiimtų darbe ar AK projektuose). Panaši situacija ir su projektų valdymais, vadovavimais, projektavimais, testavimais… Todėl ir ką iš tų dalykų pasirinksi, manau tikrai nenudegsi :)
Iš kitos pusės tai yra didelis trūkumas ir neturėtų taip būti, bet ką jau čia darysi :) Gal po dar dešimt metų ir pasikeis kas nors.
Studijuoju inžinerinę infomatiką, tai per visus metus nebuvo jokios chemijos, tad galima būtų tikslinti tokį įrašą. Būtent inžinerinėje informatikoje yra daug daugiau fizikos (turėjau 3 semestrus), taip pat kaip skirtumą tarp informatikos paminėčiau stipresnį matematikos mokymą. Studijuojant technologiniuose universitetuose neiįšvengiama tikslieji dalykai, tad fiziką ir matematiką teks pamėgti (nesigąsdinkit, nėra sunku), o pačio programavimo bent jau mano programoje tikrai nėra daug… Savi pliusai, savi minusai, bet kitur stoti nenorėčiau:)
Oho… Iš tikrųjų nebėra… Bet galiu guldyt galvą, kad anksčiau tikrai reikėjo chemijos mokytis pirmame kurse… :)
Neblogas postas bet daug tiesos cia parasita labiausei prajuokino ta dalis kur rasoma ,,Jeigu mokate perrašyti OS, tačiau niekur kitur neįstojote ir galvojate, kad informatiką mokytis bus lengva, klystate” kad va paimkim mane tiesiog dievinu darba kompiuteriu jo prieziura sandara isvardinciau visas dalis ju funkcijas staiga pakeltas is miego kaip poterius didziaja dali gedimu pasalinu su nedidelemis programavimo ziniomis bet taip niekur ir neistojau kur galeciau labiau tobulet tokioi sriti kaip kompiuteriu prieziura remontas ir panasei gal kas turi pasiulimu kokia sriti tiksliau rinktis man?
Nevisiškai sutinku su paskutinėje pastraipoje išsakyta nuomone. Žmogus, kuris kątik baigė mokykla, gali būti geresnis programuotojas negu tas, kuris ką tik baigė universiteta.
Labai geras straipsnis, tikrai atsirado dar didesnis noras tobuleti
IT srityje