Olen aina pitänyt ohjelmoinnista. Ymmärsin ohjelmoinnin olevan minun juttuni yläasteella, kun Lauritsalan koulun Hi-Tech-luokan valinnaisiin opintoihin kuului ohjelmoinnin perusteet Java-kielellä. Samaan aikaa ohjelmoin ensimmäiset kotisivuni. Tosin termi ohjelmointi voi olla hieman harhaanjohtava, sillä muistikuvieni mukaan sivut oli kirjoitettu tekstieditorilla ja html:llä, jolloin sivujen toteutus oli samanlainen kuin tekstiasiakirjojen.

Internet on aina kiehtonut minua. Monien ikätovereideni tavoin koin internetissä tapahtuvan yhteydenpidon mielekkääksi tavaksi keskustella kavereiden kanssa. Kaikkia internetin välityksellä tapaamiani kavereita en ole ikinä tavannut nk. oikeassa elämässä.

Kun siirryin opiskelemaan yliopistoon, en enää juurikaan ajatellut websovellusten kehittämistä, eli internetsivujen ohjelmointia. Osana tietojenkäsittelytieteen sivuainetta suoritin vuonna 2014 webpalvelinohjelmoinnin kurssin, jolla käytettiin Spring-viitekehystä. Kurssi sopi kuitenkin huonosti aikatauluuni ja silloisiin kiinnostuksen kohteisiin, joten kiinnostukseni websovellusten kehittämiseen ei vielä herännyt.

Vuonna 2018 huomasin, että Helsingin yliopisto järjestää Full stack MOOC -kurssin, jossa tavoitteena on opetella moderneja työkaluja websovellusten kehittämiseen. Minulla sattui olemaan sinä kesänä kesälomaa ja puolisollani ei, joten aloitin kurssin suorittamisen. Kurssi osoittautui huomattavasti työläämmäksi, kuin olin ajatellut. Alkuperäinen lomani riitti vain muutaman osion tekemiseen, kun koko kurssi koostui seitsemästä osiosta.

Palasin kurssin pariin pikkuhiljaa syksyn aikana. Kurssin arviointiperusteet olivat erittäin motivoivat: tekemällä riittävän määrän tehtäviä pystyi saamaan parhaan mahdollisen arvosanan ja opintopistemäärän. Arviointiperusteet motivoivat minua tavoittelemaan suurinta mahdollista tehtävämäärää. Lisäksi opiskelukaverini kiritti minua myös, sillä hänkin tavoitteli parhainta mahdollista arvosanaa ja opintopistemäärää. Ilokseni onnistuin saavuttamaan tavoitteeni, vaikkakin viimeiset tehtävät puskin GitHubiin vielä yöllä, muutama päivää ennen viimeistä mahdollista palautuspäivää, kun olimme muuttamassa puolisoni tavaroita Rovaniemeltä Kuopioon.

Full stack -kurssin suorittamisen jälkeen olen alkanut pitää websovelluskehitystä harrastuksenani. Viime vuoden keväänä tein ensimmäisen julkiseen käyttöön tulleen paketin. Lukiosta tuttu kaverini kysyi jo vuoden 2018 puolella, tietääkö kukaan hänen tuttavapiirissään reilua tapaa sijoittaa eri tapahtumiin ilmoittautuneita ihmisiä tai ihmisryhmiä tapahtumiin. Tapahtumissa on minimi- ja maksimimäärä osallistujia ja jokainen ihminen tai ryhmä haluaa osallistua vain tiettyihin tapahtumiin. Keväällä ja kesällä 2019 kirjoitin eventassigner-paketin, joka osaltaan ratkaisee ongelman. Pakettia on käytetty yhtenä osana konsti-ilmoittautumisjärjestelmää, jota puolestaan käytetään Ropecon-roolipelitapahtumassa.

Uskon, että eventassigner-paketti on tuottanut paljon hyötyä ihmisille, mikä on ollut erittäin motivoivaa ja kannustanut jatkamaan harrastustani. Tänä keväänä olen ollut enemmän mukana konsti-järjestelmän kehittämisessä. Projektissa mukana olevat ihmiset tekevät ohjelmistokehitystä myös päivätöikseen. On ollut mielenkiintoista tutustia projektissa käytettäviin työtapoihin, joita mielestäni voisi kokeilla myös tutkimustyössä.

Websovelluskehityksestä on ollut hyötyä omassa työssäni. Viime kesänä ohjelmoin myös yksinkertaisen palvelimen, josta pystyy asettamaan ja tarkistamaan venttiilin tilan. Tätä koodia tarvittiin testeihin, jota tutkimusryhmäni laboratoriossa tehtiin. Haluaisin, että voisin tulevaisuudessa hyödyntää osaamistani myös tutkimustyöni viestinnässä. Olen suunnitellut, että osaa käyttämistäni tietokonemalleista voisi ajaa esimerkinomaisesti websovelluksessa, jotta mallien esitteleminen ja käytön opettaminen olisi helpompaa. Toistaiseksi tämän sovelluksen kehittäminen on kuitenkin saanut odottaa, että minulla olisi tarpeeksi aikaa.

Työni on suurimmaksi osaksi ohjelmointia, joten voi kuulostaa hieman oudolta, että myös harrastukseni on ohjelmointi. Websovellusohjelmointi on pitkälti erilaista kuin laskennallinen mallintaminen. Ohjelmoidessani websovelluksia pääsen täysin irti työasioista ja minusta tuntuu, että teen jotain rentouttavaa, mutta samaan aikaan hyödyllistä.