Šiame straipsnyje aptarsime, kaip pradėti programuotojo karjerą, kokias programavimo kalbas pasirinkti ir kur mokytis. Daugelis šio forumo vartotojų yra jaunesnio amžiaus asmenys, dar tik besimokantys mokykloje arba neseniai ją baigę, todėl nusprendžiau parašyti šį pranešimą, skirtą visiems jiems, tam, kad galbūt sudominčiau ir padėčiau jiems su ateitimi.

Kas yra programavimas?
Itin paprastai sakant, programavimu yra kažkokios problemos ar problemų sprendimas. Taip, šis apibrėžimas galbūt šiek tiek primena matematiką, tačiau taip nėra.
Kaip pradėti programuotojo karjerą?
Pačiu paprasčiausiu ir logiškiausiu atsakymu būtų vienos kalbos pasirinkimas ir mokymasis.
Kaip mokytis?
Kadangi šiuo metu gyvename 2019 metais, visą galimą informaciją galime pasiekti internetu ir pats efektyviausias ir pigiausias būdas išmokti programuoti, yra mokytis savarankiškai. Užtenka turėti motyvacijos ir ... Ir tiek, užtenka tik motyvacijos ir minimalaus anglų kalbos supratimo. Rašant “motyvacija”, turiu omenyje turėti noro per dieną bent po 20-30 minučių pasėdėti prie kompiuterio ir paprogramuoti.
Šiame straipsnyje surinkti nemokami programavimo kursai internetu, kurie padės jums išmokti programuoti. Ką nors naujo bei naudingo čia ras ne tik pradedantys programuoti, bet ir patyrę programuotojai.

Kaip išsirinkti programavimo kalbą?
Mano pasiūlymai renkantis pirmąją kalbą
- JavaScript - labai populiari ir nesudėtinga programavimo kalba, turinti daugybę įvairių frameworkų (darbą su didesniais projektais, palengvinančių “įrankių”). Programavimo kalba skirta kurti tiek front-end, tiek back-end. Kitaip sakant, mokant JavaScript galima sukurti visą, pilną projektą, nepanaudojant jokios kitos kalbos (jeigu neskaičiuotume HTML, CSS, SQL, kurios nėra priskiriamos prie įprastų programavimo kalbų).
- PHP - ypatingą vietą Lietuvoje užimanti programavimo kalba, kuri kai kurių programuotojų teigimu yra vadinama mirštančia, bet esanti tiesiog daugiausiai naudojama kalba Lietuvoje ir darbo skelbimų tinklapiai tai tik patvirtina, taip pat ji yra vis atnaujinama. Taip pat gana lengva ir darbą jums ateityje galinti suteikti kalba, nors nežinia kiek laiko dar užtruks PHP dominavimas Lietuvoje, kadangi kituose šalyse ji yra pamažu keičiama į kitas, greitesnes, modernes kalbas: į tą patį JavaScript’ą (node.js framework), ruby (rails framework), golang, python, asp.net.
Pačiu paprasčiausiu ir logiškiausiu atsakymu būtų vienos kalbos pasirinkimas ir mokymasis. Populiari bei plačiai naudojama. Tai palengvintų susidūrus su problemomis, kadangi, jei kalba yra populiari, greičiausiai kažkas kitas jau buvo susidūręs su tuo, ką bandai pats padaryti, tad gerai pagooglinus yra galimybė labai lengvai sutvarkyti savo kodą ir sužinoti, kaip tai daro kiti.
Nesudėtinga. Dar vienas ypatingai svarbus aspektas renkantis pirmąją programavimo kalbą būtinai turi būti šis, kadangi sudėtinga programavimo kalba gali paprasčiausiai atbaidyti pradedančiuosius programuotojus ir labai greitai užbaigti jų trumpą programuotojo karjerą. Susijusi su tuo, ką nori veikti arba tiesiog tau patinkanti. Nors tai nėra pagrindinis aspektas, bet vertėtų atsižvelgti ir į tai, ką nori programuoti ateityje.
Nemokami programavimo kursai internetu
Nemokami Java programavimo kursai internetu
Java programavimo kalba užgimė dar 1995-aisiais, tačiau populiarumo viršūnės neapleidžia ir iki šiol. Java iš esmės yra labai universali ir lanksti objektinio programavimo kalba. Ji pasitelkiama daugelyje sričių, įskaitant programinės įrangos, mobiliųjų aplikacijų ir didelės apimties sistemų kūrimą.
Kitaip tariant, Java pasižymi didele vartotojų bendruomene ir itin plačiu pritaikymu. O tai reiškia, kad spręsti iškilusias problemas ir ieškoti atsakymų tikrai nebus sudėtinga. Todėl Java - puikus pasirinkimas būsimam programuotojui, ieškančiam, nuo ko galėtų pradėti savo kelią.
- Java - pradedančių studijos
- Kurso apimtis: 7 mėnesiai, 480 valandų;
- Platforma: CodeAcademy.lt;
- Organizatorius: CodeAcademy.lt;
- Kalba: anglų;
- Kaina: nemokamai.
- Introduction to Java and Object-Oriented Programming
- Kurso apimtis: apie 17 valandų;
- Platforma: Coursera;
- Organizatorius: University of Pennsylvania;
- Kalba: anglų;
- Kaina: nemokamai.
Tai įvadinis nemokamas kursas į Java programavimo kalbą ir objektinį programavimą. Kurso metu sužinosite pagrindinius objektinio programavimo aspektus ir Java kalbos ypatybes.
- Java Programming Basics
- Kurso apimtis: 5 lekcijos, apie 6 savaites;
- Platforma: Udacity;
- Organizatorius: Udacity;
- Kalba: anglų;
- Kaina: nemokamai.
Išklausę šį kursą išmoksite Java sintaksės pagrindus, o tai yra pirmasis žingsnis siekiant tapti sėkmingu Java programuotoju. Taip pat susipažinsite su pagrindiniais programavimo įgūdžiais, kuriuos įvaldyti privalo visi norintys išmokti programuoti.
Nemokami JavaScript programavimo kursai online
- Learn to Program in Javascript: Beginner to Pro
- Kurso apimtis: 71 pamoka, 4,5 valandos;
- Platforma: Udemy;
- Organizatorius: Raghavendra Dixit;
- Kalba: anglų;
- Kaina: nemokamai.
Šis kursas skirtas visiems, kas nori išmokti JavaScript nuo nulio arba nori patobulinti savo įgūdžius, jei jau yra susipažinę su šia programavimo kalba.
- Intro to JavaScript
- Kurso apimtis: 7 pamokos, apie 2 savaites;
- Platforma: Udacity;
- Organizatorius: Udacity;
- Kalba: anglų;
- Kaina: nemokamai.
Šiame kurse išmoksite JavaScript - populiariausios programavimo kalbos - pagrindus.
Nemokami Python programavimo kursai internetu
- Introduction To Python Programming
- Kurso apimtis: 18 pamokų, apie 1,5 valandos;
- Platforma: Udemy;
- Organizatorius: The Codex;
- Kalba: anglų;
- Kaina: nemokamai.
Šiame kurse rasite viską, ką reikia žinoti norint pradėti programuoti Python kalba. Pradėsite nuo Python pagrindų, tokių kaip eilutės, kintamieji ir duomenų tipai. Tada pereisite prie kilpų ir sąlygų. Vėliau aptarsite failų manipuliavimą ir funkcijas.
- Python from Beginner to Intermediate in 30 min
- Kurso apimtis: 30 pamokų, apie 1,5 valandos;
- Platforma: Udemy;
- Organizatorius: Gautam Devaraj;
- Kalba: anglų;
- Kaina: nemokamai.
Su šiuo nemokamu kursu, kuriame yra daug paprastų pamokų ir įrankių, greitai susipažinsite su Python programavimo kalbos pranašumais. Sužinosite apie modulius, funkcijas, eilutes, sekas ir sąrašus. Kiekvienas aspektas suteiks naudingos patirties, paruošdamas jus pažangesniems kursams.
- Machine Learning with Python: A Practical Introduction
- Kurso apimtis: 5 savaitės, 4-6 valandos per savaitę;
- Platvorma: edX;
- Organizatorius: IBM;
- Kalba: anglų;
- Kaina: nemokamai.
Tai įvadinis kursas, kuriame susipažinsite su mašininio mokymosi su Python pagrindais bei įvairiais modeliavimo tipais. Studentai įvaldys klasifikavimo, klasterizacijos ir kitus populiarius algoritmus, o teorines žinias sustiprins praktiniais įgūdžiais.
Nemokami C++ programavimo kursai internetu
- C++ Tutorial for Complete Beginners
- Kurso apimtis: 82 pamokos, apie 18 valandų;
- Platforma: Udemy;
- Organizatorius: John Purcell;
- Kalba: anglų;
- Kaina: nemokamai.
Šiame kurse išmoksite populiarios ir galingos C++ programavimo kalbos nuo nulio, reikalingos tik pagrindinės kompiuterinio raštingumo žinios. Jei norite kurti programas, kurios išnaudoja visas kompiuterio galimybes, C++ puikiai tam tinka. Nors tai yra gana sudėtinga programavimo kalba, šiame kurse žingsnis po žingsnio išmoksite jos pagrindus.
- Introduction to C++
- Kurso apimtis: 4 savaitės, 3-5 valandos per savaitę;
- Platforma: edX;
- Organizatorius: Microsoft;
- Kalba: anglų;
- Kaina: nemokamai.
Trumpas įvadinis kursas į C++ programavimo kalbą nuo Microsoft ekspertų. Kurso metu sužinosite apie C++ sintaksę ir pagrindinius principus, išmoksite kurti funkcijas ir pasiruošite mokytis sudėtingesnių C ++ aspektų.
- C++ For Programmers
- Kurso apimtis: 9 pamokos, apie 3 savaites;
- Platforma: Udacity;
- Organizatorius: Udacity;
- Kalba: anglų;
- Kaina: nemokamai.
Šis C++ programavimo kursas skirtas tiems, kurie jau yra susipažinę su programavimu ir nori išmokti C++. Šiame kurse daugiausia dėmesio skiriama atsakymams į klausimus „kaip?“, o ne „kas?“. Pamokoje apie funkcijas nesužinosite, kas tai yra, bet sužinosite kaip ją sukurti C++.
Nemokami Objective‑C programavimo kursai
- Become an iOS Developer from Scratch
- Kurso apimtis: 98 lekcijos, apie 8 valandas;
- Platforma: Udemy;
- Organizatorius: Infinite Skills;
- Kalba: anglų;
- Kaina: nemokamai.
Išsamus kursas norintiems išmokti Objective-C nuo nulio ir pradėti rašyti programas iPhone telefonams. Kurso metu susipažinsite su iOS SDK ir naudodamiesi turimais įrankiais parašysite pirmąją pilnai veikiančią programėlę.
Nemokami Swift programavimo kursai
- iOS - pradedančiųjų studijos
- Kurso apimtis: 7 mėnesiai;
- Platforma: CodeAcademy.lt;
- Organizatorius: CodeAcademy.lt;
- Kalba: anglų;
- Kaina: nemokamai.
iOS - viena iš dviejų populiariausių mobiliųjų platformų pasaulyje. iOS programuotojai kuria programėles įrenginiams, palaikantiems iOS - Apple operacinę sistemą. Šie įrenginiai sparčiai tobulėja ir užima vis didesnę rinkos dalį, todėl vartotojui patogių ir patrauklių iOS operacinės sistemos programėlių poreikis nuolatos auga. iOS platformos subtilybes išmanantis programuotojas gali darbuotis įmonėje arba kurti programėles savarankiškai. Modernios iOS platformos išmanymas ne tik suteikia specifinių žinių, bet ir sutvirtina bendruosius programavimo įgūdžius.
- Intro to iOS App Development with Swift
- Kurso apimtis: 5 lekcijos, apie 1 mėnesį;
- Platforma: Udacity;
- Organizatorius: Udacity;
- Kalba: anglų;
- Kaina: nemokamai.
Praktinis online kursas jau išmanantiems pagrindus, supažindinsiantis su iOS programavimu naudojant Swift. Išmoksite visus šios programavimo kalbos niuansus ir parašysite juokingą balsą iškreipiančią programėlę.
- Build your very first iOS app
- Kurso apimtis: 8 savaitės, 8-10 valandų per savaitę;
- Platforma: edX;
- Organizatorius: Curtin University;
- Kalba: anglų;
- Kaina: nemokamai.
Sužinokite, kaip sukurti savo pirmąją iOS programą. Iš šio kurso sužinosite, kokie įrankiai, metodai ir koncepcijos reikalingi norint sukurti iOS programėlę nuo nulio. Susipažinsite su Swift programavimo kalba ir išmoksite naudoti Apple kūrėjo įrankius.
Nemokami HTML ir CSS programavimo kursai
- HTML5 and CSS3 Fundamentals
- Kurso apimtis: 35 pamokos, apie 5 valandas;
- Platforma: Udemy;
- Organizatorius: Stone River eLearning;
- Kalba: anglų;
- Kaina: nemokamai.
Vienintelis būdas efektyviai išmokti HTML ir CSS programavimo - pradėti kurti svetainę nuo pat pradžių. Būtent tai ir darysite šiame kurse. Jis pritaikytas visiškai pradedantiesiems, o per 35 pamokas išmoksite kurti pilnai veikiančias svetaines.
Pradėsite nuo susipažinimo su HTML žymėmis ir jų naudojimu, po to išmoksite nauduoti atributus. Įvaldę HTML pagrindus, pereisite prie smagesnių dalykų - CSS. Naudosite CSS šriftams, spalvoms, sąrašams ir t.t., su kiekviena pamoka išmokdami naujus elementus. Taip pat kurse rasite naudingas nuorodas į maketus, lenteles, formas ir vaizdo įrašus.
- HTML5 and CSS Fundamentals
- Kurso apimtis: 6 savaitės, 4-6 valandos per savaitę;
- Platforma: edX;
- Organizatorius: W3C;
- Kalba: anglų;
- Kaina: nemokamai.
Sužinokite, kaip kurti svetaines naudojant HTML5 ir CSS pagrindus, tiesiai iš W3C, naujausių interneto standartų kūrėjų. Kursas padės jums žingsnis po žingsnio kurti šiuolaikines svetaines, kuriomis galėsite didžiuotis.
- Intro to HTML and CSS
- Kurso apimtis: 4 pamokos, apie 3 savaites;
- Platforma: Udacity;
- Organizatorius: Udacity;
- Kalba: anglų;
- Kaina: nemokamai.
Šio kurso metu išmoksite HTML ir CSS pagrindus. Sužinosite, kaip naudoti šias programavimo kalbas kuriant svetaines. Pakeliui taip pat susipažinsite kodo redektoriais ir naršyklės kūrėjo įrankiais.
Nemokami PHP programavimo kursai online
- Beginner PHP and MySQL Tutorial
- Kurso apimtis: 156 lekcijos, apie 10 valandų;
- Platforma: Udemy;
- Organizatorius: Infinite Skills;
- Kalba: anglų;
- Kaina: nemokamai.
Išsamus kursas pradedantiesiems programuotojams, apimantis visus PHP ir MySQL aspektus. Mokymai susisteminti taip, kad kurso pabaigoje galėtumėte laisvai imtis funkcionalių interneto programų rašymo.
Patarimai pradedantiesiems
1. Kai kruopščiai analizuojate kažkieno kito sukurtą kodą tikrindami kaip veikia kiekviena eilutė ir perrašydami ją, geriau suprantate bendrą vaizdą. Smagu, kad atviro kodo bendruomenė dalinasi milžinišku kiekiu kodo, galite mokytis iš įvairiausių sričių projektų kodų.
2. Programuotojų bendruomenėje yra daugybė specialistų, kurie nori išmokyti programuoti kitus asmenis. Pasistenkite susirasti tokį asmenį - mokytoją/mentorių.
3. Dažnai vienas įdomiausių mokymosi būdų yra žaidimai.
4. Internete yra tūkstančiai nemokamų programavimo knygų. Vienos yra tinkamos pradedantiesiems, kitos - labiau pažengusiems.
5. Programavimo kursai, trunkantys nuo keletos mėnesių iki metų, yra alternatyva norimtiems rimčiau imtis programavimo ir jau žinantiems, kad jie renkasi šią karjerą arba nori suprasti programavimą giliau. Rekomenduojame rinktis programavimo kursus su praktika, taip pat derinti keletą programavimo kalbų, t.y.
6. Nemokami online kursai taip pat yra puiki alternatyva.
7. Šiais laikais programavimo mokosi net vaikai. Ir tai yra nuostabus dalykas. Ir nors dauguma vaikams pritaikytų mokomųjų programavimo programėlių yra paprastos ir elementarios (pavyzdžiui Scratch), tačiau tai tinkama visų amžiaus grupių asmenims.
8. Pradėkite nuo mažų žingsnelių ir būkite kantrūs. Nepaisant to, kurią kalbą pasirinkote ir net kurį mokymosi metodą, turite pradėti nuo pačios pradžios. Labai gera praktika yra dirbti ir su mokomaisiais vadovėliais keliskart perrašant mokomųjų vadovėlių kodą. Taigi pradėkite nuo pat padžių ir perrašykite eilutes, kurios atrodo elementarios. Atlikite savo pirmajį elementarų programavimo projektą nuo pradžios iki pabaigos.
9. Nėra geriausios programavimo kalbos. Tačiau išmokus vieną kalbą, bus pakankamai lengva išmokti ir kitą. Taigi, nesijaudinkite, kad pradžioje pasirinkote ne tą kalbą. Tikriausiai pasirinkote tą :). Kalba, kurią pasirinksite priklauso ir nuo jūsų tikslo. Pavyzdžiui, jei norite dirbti su iOS įrenginiais, Jums reikia rinktis SWIFT, o jei norite mokytis dirbti su desktopinėmis aplikacijomis - JAVA ir panašiai.
10. Kryptis, kurią pasirinksite, labiausiai priklauso nuo to, kodėl ištikrųjų norite išmokti programuoti, ir kiek laiko nuoširdžiai tam galėsite skirti.
Programavino esmė
Pradėkime nuo programavino esmės - tai yra funkcijų, atliekančių konkrečias užduotis, sukūrimas ir išbandymas. Mokytis pradėkime nuo paprastų funkcijų, turinčių aiškius parametrus. Funkcijų bandymui pakanka užrašyti tik kreipinius su konkrečiais parametrais. Algoritmų kūrimas tampa aiškiai apibrėžtas, užduočių sprendimai pateikiami kaip funkcijos. Tokia eiga priartina mokinį prie dabartinių testavimo metodikų. Taip pat tampa nereikalingas gana imlus mokinio laiko prasme duomenų įvedimo organizavimas.
Darbo rinka ir ateities perspektyvos
Analitikai savo prognozių nekeičia jau kurį laiką - programuotojų poreikis ir toliau augs. Skaičiuojama, kad iki 2020 metų Lietuvoje bus įdarbinta apie 4450 įvairaus lygio programuotojų, o iš viso daugiau nei 13 tūkstančių IRT specialistų.
Programuotojo specialybė ne tik populiari, paklausi bei pelninga, bet ir labai įdomi - IT sritis, ko gero, yra viena iš labiausiai ir greičiausiai kintančių šiuolaikiniame pasaulyje.