Ohjelmistokehittäjänä liiketoiminnan, teknologian ja muotoilun risteyksessä

Sakri Koskimies-teamit-ohjelmistokehittäjä-verkkokaupankehittäjä-helsinki-teamitfi

Teamitin verkkokauppatiimissä työskentelevä ohjelmistokehittäjä Sakri Koskimies on maailmaa nähnyt monitaituri. Kun kaksoistutkinnosta ei jäänyt riittävästi oppia käteen, eteenpäin piti päästä. Siispä osakeyhtiö pystyyn ja kauppatieteiden kandidaatin paperit käteen – Italian Bolognasta.

Sakri Koskimies aloitti koodaamisen jo ennen toisen asteen opintoja. Nyt hän toimii Teamitin verkkokauppatiimissä kehittäen älykkäitä B2B- ja B2C-verkkokaupparatkaisuja.

Kuinka päädyit ohjelmistokehittäjäksi? Mistä kaikki lähti?

— Aloitin koodaamisen jo ennen kuin menin opiskelemaan datanomiksi, pienimuotoisesti. Datanomin opinnot eivät tuoneet varsinaisesti osaamista, mutta antoivat kipinän asioiden selvittämiseen opetussuunnitelman ulkopuolelta. Tein paljon omia projekteja opiskelun rinnalla, kiinnostuin pelien tekemisestä. En oikeastaan osannut silloin vielä mitään, mutta tekemällä ja kantapään kautta oppi hyvin.

Kaikki lähti liikkeelle Unityn pelimoottorilla. Sen jälkeen kylkeen tuli ”oikeita” ohjelmointiprojekteja. Pelimoottorilla on helppo aloittaa, Sakri selventää. Siinä ei ole kovin jyrkkä oppimiskurvi. Ei tarvitse vielä oikeasti ohjelmoida.

— Kun valmistuin kaksoistutkinnosta, perustin osakeyhtiön kaverin kanssa ja siitä alkoi oikeat jutut; Mobiilisovellusten kehitys monille eri alustoille; natiivi Android, eli Java – ja Flutterilla, sekä WordPress-teemojen ja pluginien kehitys. Tekeminen haarautui niin, että tehtiin firman puolesta IoT-projekteja – miksi? – kun siihen kasvoi kiinnostus.

Samaan aikaan Sakrilla oli omia harrastusprojekteja, jotka hänestä oikeastaan kartuttavat osaamista eniten. Esimerkkinä Sakri mainitsee renderöinnin ja tietokonegrafiikan matalalla tasolla, eli miten näytönohjain suorittaa renderöintiprosessin ja mitä prosessissa tapahtuu.

Sen pohjalta Sakri teki oman pelimoottorin, joka ei ollut tarkoitettu käytettäväksi, vaan enemmän PoCina. Tekniikaksi Sakri valitsi ns. ray marchingin, jota ei tässä yhteydessä yleensä ole käytössä, kun se vie vielä toistaiseksi liikaa laskentatehoa monimutkaisempien maailmojen piirtämiseen. Mutta se onkin jo sen verran tekninen tarina, että jätetään syvempi läpikäynti aiheesta toiseen kertaan, Sakri summeeraa.

Taloustieteiden opinnoista ja yritystoiminnasta huolimatta Sakri päätti jatkaa IT-alalle, tavoitteena yhdistää business- ja teknologiaosaaminen.

Sakri Koskimies, Full Stack ohjelmistokehittäjä, verkkokaupat ja -palvelut | Kauppatieteiden kandidaatti

Mikä on parasta työssäsi ohjelmistokehittäjänä? Mikä motivoi sinua?

Työssä Sakrille on palkitsevinta, kun hän saa itse ratkaistua ongelman – mitä monimutkaisempi, sen palkitsevampi.

— Käyttäjälle suunnitellussa tuotteessa on mahtavaa nähdä, että ratkaisu oikeasti vaikuttaa jonkun elämään. Esimerkiksi automaattinen reitinluonti helpottaa verkkokauppojen toimitusta ja asiakkaat saavat oikean toimitusajan. Sitten taas, jos on haastava tekninen systeemi, niin parasta on kun siihen löytää toimivan ratkaisun, saa luotua jotakin, mitä ei löydy oppaista ja mitä kukaan ei ole vielä tehnyt. Ohjelmistokehittäjän standardi-flowna on katsoa dokumentaatiota ja hakea vastausta oppaista – joskus parempi on kuitenkin keksiä ihan omat ratkaisut ja dokumentoida itse.

Millaisia haasteita kohtaat työssäsi ohjelmistokehittäjänä?

— Kaikille kehittäjille tuttu käytännön haaste on, kun tietää mitä pitää tehdä mutta ei muista koodia ulkoa. Aina asiakaskaan ei ihan tiedä mikä on teknisesti järkevää toteuttaa, ja oma haaste on sitten saada avattua miksi jokin toteutustapa ei ole järkevää. Yleensä kuitenkin mennään hakemaan ratkaisua. Jokin voi olla teknologisesti järjetöntä, mutta business-näkökulmasta erittäin tärkeää. Näissä tapauksissa ratkaisu etsitään koska teknologian tehtävä on palvella liiketoimintaa.

Oletko huomannut jotain erityistä mikä on alallesi tyypillistä?

— Ohjelmistokehittäjillä on aina oma mielipide parhaista kielistä, ohjelmointiympäristöistä ja käyttöjärjestelmistä. Myös prosessit, koodaustyyli, formaatti ja pikanäppäinten käyttö eroaa. Eri alustoilla voi olla omat standardit, mutta kehittäjät voivat pitkälti itse valita soveltavatko tätä tai ei. Tiimissä tärkeää on pitää yhtenäinen tapa tehdä asioita, jotta koodi pysyisi siistinä ja muutokset olisi helppo huomata.

Sakri kommentoi myös, että koodaajan on totuttava siihen, että jokin on tai menee rikki. Se vain on osa prosessia.

— Yleinen vitsihän on, että jos koodin suorittaa ensimmäistä kertaa ilman virheitä, niin jokin on pielessä.

Miten kehität osaamistasi?

— Tekemällä itse. En tiedä voiko muuten oppia kunnolla. Voi katsoa videoita ja lukea kirjoja mutta ei voi sanoa, että osaa ellei ole itse tehnyt. Jos pääsee pitkälle, voi opetella miten hommat toimii kulissien takana. Joissakin kielissä olet lähempänä rautaa ja ohjelmointi muistuttaa enemmän prosessorin ajattelutapaa kuin ihmisen. Se, mitä yläpuolen abstraktioissa tapahtuu, vaikuttaa simppelille kun tietää minkä päälle ne rakentuvat.

Vinkkisi ohjelmistoalan opiskelijoille?

— Kannattaa tehdä paljon omia projekteja ja näyttää niitä julkisesti GitHubissa, tai jos vihaa Microsoftia, niin muissa vastaavissa. Tägit ovat tärkeitä, jotta ulkopuoliset löytävät projektit helposti. YouTube-videot ovat myös hyviä tapoja saada projekteja ja osaamista esiin.

Sakri huomauttaa myös, ettei koodin tarvitse olla heti täydellistä. On hyvä saada myös palautetta.

— GitHubissa on yli sata miljoonaa repoa, joihin voi tehdä omia kontribuutioita. Siitä on aina hyötyä, että joku lukee sun koodia ja saat palautetta – ainakin sen verran, että se joko hyväksytään tai ei. On myös hyvä idea lukea eri kielten standardikirjastoja. Niissä koodi on lähes aina erittäin laadukasta.

Tulevaisuudensuunnitelmia? Maailman valloittaminen mahdollisesti?

— Skynetin rakentaminen. Siinä vasta näkisi, miten se vaikuttaa ihmisten elämään, Sakri vitsailee.

Ensisijaisesti Sakria kiinnostaa uuden luominen.

— Jatkossa olisi kiva tehdä jotain haastavaa, jotain mihin ei vielä löydy valmista ratkaisua. Todennäköisesti liittyen tekoälyn tuleviin käyttökohteisiin tai ihan uusiin teknologioihin. Tekoälyyn olen toistaiseksi ehtinyt tutustua vain pintapuolisesi.

Miten Teamit eroaa muista alan toimijoista vai eroaako mitenkään?

Sen, että Teamitillä ollaan valmiita automatisoimaan prosesseja, sekä työajan sijoittelun Sakri on pistänyt merkille.

— Teamitillä on yllättävän säännölliset työajat.

Vaikka työajoissa on joustoa, on käytännön työ toistaiseksi ajoittunut säännöllisesti toimistoaikoihin. Muuta elämää pystyy siitä syystä hyvin rytmittämään etukäteen.

Lue lisää Teamitistä ja katso avoimet työpaikat: Ura Teamitillä

Jatka lukemista