Osa 1

Ohjelmointi yhteiskunnassa

Ohjelmoinnin opiskelua aloitteleva tietää harvoin kuinka riippuvainen yhteiskuntamme on ohjelmoijien tuottamista ohjelmistoista. Ilman ohjelmistoja yhteydenpito, kaupankäynti, matkustaminen ja niin edelleen olisi monimutkaisempaa. Puhelimet eivät toimisi tai niitä olisi vain muutamia, verkkopankkeja saatikka pankki- tai luottokortteja ei olisi, matkojen varaaminen ja henkilöasiakirjojen käyttäminen ei onnistuisi verkon yli, ja terveydenhuoltopalveluissa sähköisistä palveluista kuten e-reseptistä tai potilastietojen nopeasta siirtämisestä osastojen ja sairaaloiden välillä voisi vain unelmoida. Wikipediaa tai hakukoneita ei myöskään olisi ja tiedon hakeminen tapahtuisi sana- ja tietokirjoista.

Palveluiden muuttuminen ohjelmistoihin perustuviksi piilottaa niihin liittyvää monimutkaisuutta. Kun olet esimerkiksi lähdössä lentomatkalle ja teet lähtöselvitystä verkossa olevalla lomakkeella, lomakkeen lähettäminen aiheuttaa kymmenten järjestelmien välisen vuoropuhelun. Nimeesi ja henkilötietoihisi liittyvät merkinnät käydään läpi, passisi tilanne ja mahdollisten viisumien voimassaolo tarkistetaan, lentosi tilanne tarkastetaan, aiemmat lentosi käydään läpi, paikkavarauksesi menee paikkavarauksia hallinnoivaan järjestelmään, lentoyhtiöihin liittyvät kanta-asiakkuutesi käydään läpi, lentokoneeseen tankattavan polttoaineen määrää päivitetään ja niin edelleen. Kaikki tämä tapahtuu sen johdosta, että painat verkossa olevassa lomakkeessa olevaa lähetä-nappia.

Ohjelmistotekniikan ammattilaiset ovat tällaisten digitaalisten palveluiden arkkitehtejä. Tietojenkäsittelytiedettä ja tietotekniikkaa opiskelleiden vastuulla on näiden järjestelmien toteutus siten, että ne toimivat mahdollisimman hyvin järjestelmien kohdeyleisölle — myös niille, jotka eivät ole tottuneet käyttämään vastaavia järjestelmiä. Samalla digitaalisten palveluiden arkkitehdit oppivat paljon erilaisista liiketoiminnoista ja arkielämän säännöistä. Tiedät jo nyt esimerkiksi enemmän lahjaverotuksesta (edellisen osan viimeinen tehtävä) kuin suurin osa suomalaisista — joku on toteuttanut myös veropalvelussa olevan lahjaverolaskurin.

Järjestelmää lopulta käyttävät harvoin tietävät kuka tai ketkä ovat toteuttaneet kyseiset järjestelmät. Harva on kuullut esimerkiksi Margaret Hamiltonista, joka yhdessä ryhmänsä kanssa kirjoitti ihmisiä kuuhun vieneen ohjelman.

Ohjelmointia voidaan ajatella nykyajan käsityöläistaitona. Ohjelmistojen ja digitaalisten järjestelmien ymmärryksen tarve näkyy nykyään kaikkialla — ohjelmoinnin alkeita opetetaan jo peruskoulussa, ja samalla esimerkiksi moderni tiede hyödyntää tiedon analysoinnissa käytettäviä ohjelmistoja sekä ohjelmistoalan innovaatioita. Esimerkiksi meteorologit, fyysikot ja kemistit käyttävät ohjelmistoja ja ohjelmoivat työssään. Myös kasvatustiede ja opetusala hyödyntää digitalisaation tuomia mahdollisuuksia yhä enemmän. Nykyään on oikeastaan vaikeampaa keksiä ammatteja, joihin ohjelmistot ja digitalisaatio ei vaikuta, kuin ammatteja, joihin ohjelmistot ja digitalisaatio vaikuttaa.

Olet nyt ottanut ensiaskeleet ohjelmointiin. Kurssilla opit kirjoittamaan ohjelmia ja ymmärtämään niiden toimintaa — tulet jäsentämään ohjelmissa olevia osakokonaisuuksia pieniksi paloiksi ja esittämään ohjelmissa esiintyviä käsitteitä yhteistoiminnassa toimivina palasina. Kurssin jälkeen saatat myös ajatella yhteiskunnan palveluita ohjelmoijan näkökulmasta ja pohdit niiden toimintaa (tai toimimattomuutta) ohjelmistojen tarjoamien mahdollisuuksien ja rajoitteiden näkökulmasta.

Kurssin jälkeen yksinkertainenkin ohjeistus kuten "Osta kaksi maitoa. Mikäli kaupassa on appelsiineja, osta neljä." saa uusia sävyjä. Vaikka ihmiselle viesti on selvä, tietokone saattaisi päätyä ostamaan neljä maitoa.

Mukavaa, että olet lähtenyt mukaan tälle matkalle!

Vastaa vielä lopuksi seuraavaan ensimmäisen osan osaamistavoitteita tarkastelevaan itsearviointikyselyyn.

Pääsit aliluvun loppuun!

Muistathan tarkistaa pistetilanteesi materiaalin oikeassa alareunassa olevasta pallosta!