Müüt: programmeerimine on vaid patsiga itipoiste pärusmaa. OLE ROHKEM ja need viis noort inimest nii ei arva.
Programmeerija läheb jalutama. „Käi poest ka läbi, palun,” ütleb tema naine, „ja too pakk piima. Ja kui neil on mune, too tosin.” Programmeerija tuleb poest 12 paki piimaga ja teatab: „Neil oli mune.”
Selle nalja peale naervad inimesed võivad tunduda imelikud ja nende koodiread mõjuvad võõrkeelena. Programmeerimine on salapärane ja inimesed, kes arvuti enda tahtele allutavad, peavad olema kuidagimoodi erilised (kes teab, mis nad seal mat-infis teevad). Tegelikult on programmeerimine kõigile, sest programmeerimiskeeli on palju ja rakendusvõimalused on lõputud, alates psühholoogiast ja lõpetades ajakirjandusega. Samuti ei pea paika arvamus, et programmeerima õppimise eelduseks on võime lahendada sudokuid vähem kui viie minutiga. Kuigi tugev loogiline mõtlemine aitab tublisti kaasa, siis tegelikult aitab programmeerimine seda hoopis arendada.
Selleks, et natuke programmeerimisega seotud müüte kummutada, vestles OLE ROHKEM viie noore inimesega erinevatelt erialadelt, kes on programmeerimisega lähemalt tutvust teinud.
Kõik teed viivad programmeerimise juurde
Riinu Härmas on keemia teise kursuse magistrant. Ta alustas programmeerimisega kaks ja pool aastat tagasi Coursera kursuse „An Introduction to Interactive Programming in Python” abil. Tundub, et Riinu andis sõrme ja programmeerimine võttis terve käe. „Seejärel tekkis suurem huvi ja võtsin ka Tartu ülikooli aineid „Programmeerimise alused” ja edasi ka „Objektorienteeritud programmeerimine”. Selle kõige käigus olen omandanud Pythoni ja Java.”
Martin Kolnes õpib psühholoogiat magistri teisel kursusel ja programmeerimise juurde viisid õpingud bakalaureuse viimasel aastal. „Esiteks avastasin, et psühholoogias on eksperimentide kirjutamine täitsa vahva tegevus. Teiseks leidsin, et andmetöötlus on tunduvalt põnevam, kui kirjutada R-is või Matlab-is analüüsiskript. Alguses õppisin netikursuste põhjal R-i ja Pythonit. Magistris hakkasin võtma ka programmeerimise aineid IT-teaduskonnast.”
Hanna-Liisa Reponen õpib reaalainete õpetajaks. Ta alustas programmeerimisega täpselt aasta tagasi. „Kevadsemestril võtsin ülikoolis kohustuslikud programmeerimise kursused. Enne seda ei olnud mul mitte mingisugust kokkupuudet sellega, õieti ei osanud ma aimatagi, mis see täpselt endast kujutab.” Pythoni keele sai Hanna-Liisa kiiresti selgeks ja eelmisel sügisel liitus ta kursuse „Programmeerimisest maalähedaselt” korraldusmeeskonnaga. ”Nüüdseks olen aidanud juba umbes 1800 eesti inimesel õppida programmeerima ja teen seda hea meelega ka edaspidi.”
Liis Krevald on hispaania filoloogia teise kursuse tudeng, kes valis endale kõrvalerialaks informaatika. „Mulle on arvutimaailm alati huvi pakkunud ning IT-alased teadmised tulevad igal juhul kasuks. Praegune programmeerimiskogemus piirdub vaid Pythoni ja Javaga, kuid kindlasti õpin veel mõne juurde.”
Nänsi Männikul on kõrgharidus suhtekorralduse erialal, praegu on ta kommunikatsioonibüroo JLP konsultant ja Arvamusfestivali meediasuhete juht. Eelmisel sügisel läbis ta kursuse „Programmeerimisest maalähedaselt” ja sel kevadel jätkab ta kursusega „Programmeerimise alused”. Üks põhjus, miks Nänsi programmeerimisega tutvust tegi, on seotud tema tööga: oma igapäevatöös tegeleb ta palju tehnoloogiaklientidega, kelle ettevõtmised on seotud info- ja kommunikatsioonitehnoloogia hariduse või nutikirjaoskusega. Nänsi ülesanne on viia vajalik info sihtgruppideni. Nii tekkis tal süvendatud huvi programmeerimisest aru saada. „Teine põhjus on natuke lakoonilisem. Mul oli soov enda jaoks õppida midagi täitsa teistsugust ja programmeerimise õppimine tundus selleks täpselt õige ajuvõimlemine.”
Progemine igal erialal
Riinu ja Martin leiavad, et programmeerimisest on nende erialadel kindlasti kasu. „Kui oskad, siis leiad ka keemias rakendust, kui ei oska, siis pead võib-olla rohkem tuima tööd tegema. Näiteks sain oskusi rakendada olukorras, kus üks masin väljastas andmeid kaootilisel viisil. Sellega toime tulemiseks kirjutasin skripti, mis algandmeid sisaldavast üüratust tekstifailist mulle sobivaid tükke tekitas ning neid ka süsteemselt nimetas. See säästis lõppkokkuvõttes palju aega ja võidurõõm töötavast skriptist oli suur,” räägib Riinu.
„Uurivale psühholoogile annab programmeerimine juurde mitmeid huvitavaid võimalusi. Kui tahtmist ja huvi, siis saab enda eksperimente ise programmeerida. Samas on hea, kui osata ka teiste kirjutatud koodides muutusi teha,” leiab Martin. „Enda oskusi olengi kõige rohkem rakendanud katsete programmeerimisel ja juba olemasolevate katsete muutmisel.”
Ka Hanna-Liisa näeb ennast tulevasel töökohal programmeerimisega tegelemas, täpsemalt seda õpetamas. „Kuna tulevikus on plaan saada matemaatika- ja informaatikaõpetajaks, siis programmeerimise oskus annab mulle võimaluse õpilastele sellega tutvust teha juba enne ülikooli astumist, mida paljud koolid hetkel ei saa lubada just programmeerimisoskustega õpetajate puudumise tõttu.”
Nänsi ja Liisi erialadel programmeerimist otseselt vaja ei ole, aga samas ei tule see oskus kuidagi kahjuks. „On hea mõelda, et kui juhuslikult tuleb vajadus mingi programmi järele, mida saada ei ole, siis saan selle ise valmis kirjutada,” räägib Liis, kes meisterdas sõbrannaga enda tarbeks hispaania ja inglise keele baasil psühholoogiasõnastiku.
Miks progeda
Mõned kuud tagasi olin tööotsinguil ja avastasin, et Tartu kõige aktiivsem tööpakkuja on Playtech. Tundus, et kes progeda ei oska, see tööd ei saa, ja et tööturul läbilöömiseks tuleb kiiremas korras vähemalt mõni lihtsam programmeerimiskeel selgeks õppida. Peale CV laiendamise on oskus ka muudmoodi kasulik.
„Steve Jobs on öelnud, et kõik peaksid oskama programmeerimist, sest see õpetab sind mõtlema. Olen temaga 100% nõus. Programmeerides õpib inimene lahendama probleeme ja katsetama uusi ideid,” ütleb Liis. Tundub, et kõik on Liisi ja Steve’iga nõus: programmeerimine arendab loogilist mõtlemist ja õpetab probleeme lahendama. See tuli välja siinsetest vastusest ja kui Google’isse trükkida sisse küsimus Why code?, leiab paljudelt lehekülgedelt sama vastuse. „Programmeerimine nõuab sinult töö täielikku mõistmist, selle etappide teadmist ja õiget töö järjekorda,” sõnab Hanna-Liisa.
Programmeerimine arendab ka distsipliini. „Kui teed mingit ettekannet või muud taolist kodutööd, siis on tihti võimalik teha natuke vähem ja saada ikka hästi hakkama, aga kui programmeerimise juures skript ikka ei tööta, siis peab lõpuni vaeva nägema, et see ikka teeks seda, mida tahad,” arvab Riinu.
Programmeerimine ei arenda ainult raudset loogikat, vaid toob ka häid emotsioone. „Loomulikult annab programmeerimine tohutult rõõmu, kui programm lõpuks õigesti tööle hakkab. Isegi kui tegemist on pisikese koodijupiga, on tunne, et leiutatud sai midagi võimsat,” ütleb Hanna-Liisa. Riinu on samal nõul: „Juba see võidurõõm on võrreldamatu, mis tekib pärast pikka aega vea otsimist ja kui selle lõpuks üles leiad!”
Kus ja kuidas õppida
Kui nüüd tekkis programmeerimise vastu huvi ja soov ise näpud koodiseks teha, siis hea uudis on see, et programmeerima õppimine on lihtsam kui kunagi varem. Algajatel on kõige lihtsam esimest tutvust teha Pythoni programmeerimiskeelega.
Coursera pakub mitmeid erinevaid programmeerimiskursusi, näiteks „An Introduction to Interactive Programming in Python” või „Programming for Everybody”. Siinkirjutaja võib kinnitada, et viimane on tõesti kõigile: Python on seal puust ja punaseks ette tehtud ja isegi täielik humanitaar ei jää hätta. Samuti pakub online-kursuseid Code School, mille Pythoni ja R-i kursuseid soovitab Martin. R sobib eelkõige andmetöötlushuvilistele.
Kes aga programmeerimist eesti keeles õppida tahab, leiab TÜ arvutiteaduse instituudist kursused „Programmeerimisest maalähedaselt” ja „Programmeerimise alused”, mis on täiesti tasuta ja eelnevast jutust mitu korda läbi käinud.
Kui on soov ise nokitseda, siis võib abiks olla Codecademy, mida soovitavad Riinu ja Nänsi ning kus saab õppida erinevaid programmeerimiskeeli. Vahet pole, milline kursus valida, kõige parem on ikkagi ise koodi kallal nokitseda ja lahendusi otsida. „Kõige kasulikumad programmeerimiskogemused olen saanud projektide kirjutamisest. Enda katse või projekti kallal töötamine annab palju rohkem kogemusi kui tavalised netikursused,” leiab Martin. Nänsi nõustub: „Kõikide heade võimaluste juures peab endal olema suur iseõppimise tahe, vastasel korral on õppimine veelgi raskem.”
„Alguses võib tekkida tunne, et jooksed peaga vastu seina ja ei saa hakkama, kuid ajaga tuleb vilumus. Ausalt, progemine on lahe,” julgustab Liis algajaid.
Maili Tirel