Koodarit haastattelussa

Haastattelussa FLIKin teknologiaosaajat eli koodarit VideoSyncin ja Digitalist TV:n taustalla avaavat tekemistään ja alan termistöä.

blogi
Riku Pyhälä

2017 / 04 / 19

Kirjoittaja työskentelee FLIKissä Content Ninjana.

Koodareiden tekemä työ jää usein taustalle ja kaikelle kansalle heidän työnsä näyttäytyy vain toteutuneina palveluina. Takana on kuitenkin monimutkaisia haasteita, loputonta jonglöörausta ja ennen kaikkea valtava kiinnostus teknologiaa kohtaan. Tämän haastattelun tarkoituksena on raottaa verhoa FLIKin palveluiden, kuten VideoSyncin takana, ja avata hieman mistä koodaamisessa on todellisuudessa kyse. Pöydässä istuvat FLIKin web-kehittäjät Antti Kurkinen, Markku Virtanen, Teo Raunio ja Markus Pajari.

Lähdetään liikkeelle teidän välisestänne työnjaosta: kuka tekee mitäkin?

MARKKU: Minä ja Antti tehdään pääasiassa palvelinpuolen asiat, voidaan sanoa että fullstack…

ANTTI: Devops ja infrastruktuuri on ehkä ne hienommat sanat.

MARKKU: Suomeksi siis, että palvelu pysyy pystyssä ja päivitykset menevät kitkatta.

ANTTI: Tuohon lisäyksenä, että mulla on vielä vastuulla videoon ja livevideoon liittyvät asiat. Miten on demand –videot prosessoidaan, mitä niille tehdään ja mitä niille voi tehdä. Miten live-infra toimii: miten livet ja on demandit käsitellään pilvessä, ja jaetaan kymmenille tai tuhansille katsojille.

TEO: Minä vastaan ulkoasusta ja käyttökokemuksen parantamisesta ja kaikkien pikselien viilauksesta.

MARKKU: Markus ja Teo ei ole niin paljon VideoSync-miehiä, enemmänkin Digitalist TV.

TEO: Eli uusia, tulevia juttuja.

MARKUS: Meillä on Teon kanssa ollut aika samanlainen vastuualue.

MARKKU: Meidän järjestelmähän toimii Amazonin palvelimilla. Mitä mä teen, on se meidän infrastuktuuri eli minkäkokoisia palvelimia ja miten ohjelmisto sinne päätyy. Deployaus, CI, CD – continuous integration, continuous deployment – mitä ne suomeksi onkaan.

ANTTI: Markku on suunnitellut ja ylläpitää Amazonissa järjestelmän vaatimia instansseja.

MARKKU: Instanssit on ammattitermi. Niitä kutsutaan Amazon-instansseiksi.

ANTTI: Tai virtuaalikoneiksi. Ja [Markku] huolehtii siitä, että kun tehdään päivityksiä, niin ne päivitykset lasketaan vesille oikealla tavalla. Mahdollistaa järjestelmän helpon päivittämisen.

MARKKU: Siitä kun pojat pistää, että ”Hei, nyt laitetaan versiohallintaan uusi versio”, niin kiertokulku on se, että versio ensin menee yhteen palveluun, mikä sitten ajaa testit. Jos versio menee testeistä läpi, palvelu puskee uuden version sinne kaikkien nähtäville. Siinä on yksi palikka välissä, mikä hoitaa sen. Se on ns. Continuous Integration. En tosiaan tiedä, mikä on suomenkielinen. (naurua) Jatkuva integraatio?

Kuinka olette päätyneet koodareiksi?

TEO: En päässyt arkkitehdiksi. (naurua) Siis koulun kautta ihan simppelisti. Ei mulla ollut mitään kokemusta, kun menin yliopistoon opiskelemaan. Siellä kiinnostuin sitten.

Mulla on sitä visuaalista silmää, että siksi toi käyttöliittymäpuoli kiinnostaa mua enemmän. Ajauduin tekemään enemmän tuollaisia frontend-hommia.

ANTTI: Kuvaushommat kiinnostivat mua aina. Sitten päädyin yhdistykseen, joka teki livestriimauksia, ja yhdistyksestä löytyi henkilö (Lauri Hälinen), joka oli täällä töissä ja päädyin tänne tekemään livestriimaus-juttuja, mutta teknisemmältä kannalta. Eli sukelsin kädet syvään saveen siitä, kuinka videota paikasta A paikkaan B tuollaisen palvelun läpi toimitetaan. Siinä sitten tekemällä oppi. Ensimmäinen task esimerkiksi oli rakentaa palveluun toimiva videoeditori, joka toimii selaimessa. Ja sellainen siellä nyt on.

MARKKU: Jos lähdetään ohjelmoinnista, niin se on lähtenyt mulla ihan pikkunatiaisesta asti, ala-asteella saatiin ensimmäinen tietokone VIC-20. Ekassa ei pelejä hirveästi ollut ja kiinnosti sitten vähän, että mitä kaikkea sillä… Siinähän tuli onneksi manuaali mukana, siellä oli pieniä koodinpätkiä ja niitä naputeltiin. Siitä lähti varmaan se ensimmäinen kiinnostus. Se oli vielä sellaista kulta-aikaa, että Mikrobitissä oli ohjelmalistauksia ja niistä naputeltiin koodit sinne sisään – ehkä toimi, ehkä ei – sen neljän sivun naputtelun jälkeen.

Sen jälkeen sitten ihan demoskene oli semmonen, missä tuli musiikkia, grafiikkaa, koodia…

Armeijan jälkeen mietin, että mitähän mä elämälläni tekisin – siinä sitten menin työharjoitteluun yhteen uusmediafirmaan 2000-luvun alussa. Siitä se lähti. Siellä web-sivuja sen aikaisilla työkaluilla. Se oli enemmänkin sitä web-suunnittelua. Siitä pikkuhiljaa palvelinpuolelle, ihan koodijuttuihin.

ANTTI: Me ollaan tavattu keväällä 2015 Markun kanssa.

MARKKU: Mä aloitin täällä huhtikuussa.

TEO: Ja VideoSync on syntynyt sinä aikana.

MARKUS: Vähän samalla lailla kuin Teo, että en hirveästi koodaamista ennen yliopistoa ollut tehnyt, mutta ala on kiinnostanut... Pitkään oli mielessä, että lukion jälkeen hakisin tietotekniikkaa opiskelemaan ja Aalto oli ykkösvaihtoehto. Pääsinkin sinne ihan helposti sisään.

Tosiaan, nyt syksyllä olin kandin kirjoittanut ja mietin, että jotain töitä olisi välillä kiva tehdä - ettei pelkkää opiskelua.

Kun ulkopuolinen katsoo koodarin näyttöä, se saattaa vaikuttaa mystiseltä ja vaikeaselkoiselta. Onko koodaaminen vaikeaa?

TEO: Ei se ole, siihen tulee se rutiini, kun sitä vaan tekee. Mulla on oikeasti sellainen mielipide, että mitä enemmän tekee, siihen tulee sellainen tekniikka. Pitää oppia ajattelemaan oikealla tavalla. Kyllä se tavallaan vaatii loogista päättelykykyä. Kyllä sitä voi oppia.

ANTTI: Moni luonnehtii sitä niin, että aivot pitää saada siihen moodiin ja omaksua se, että ”kun tekee näin niin tapahtuu näin” ja ”kun koodaa noin niin tapahtuu noin”. Sen jälkeen se on vaan syntaksien omaksumista, että oppii käyttämään eri kieliä tietyissä tarkoituksissa ja ymmärtää, mikä on hyvä mihin ja kuinka ne kuuluu tehdä.

TEO: Sitten kun osaat yhdellä kielellä koodata niin opit muutkin aika helposti.

ANTTI: Nykymaailmassa on vaan ongelmana se, että kun on niin paljon kaikkea. On niin monta tapaa tehdä yksi asia.

MARKKU: Toi on just se, että saman funktion voi tehdä sadalla eri tavalla. Se sitten erottelee jyvät akanoista. Yleensähän tietysti, että mitä vähemmän koodia sen parempi. Mutta se ei välttämättä tee siitä luettavaa. Ettei se näytä siltä Matrix-koodilta.

Mä yritin mun tyttöystävälle opettaa koodaamista, kun se kysyi mitä mä teen. Itselle kaikki on niin selvää. Kun yritin jotain tosi lyhyttä koodinpätkää, kävin läpi sen rivi riviltä, niin se ei ihan vielä auennut siltikään. Itsellä on aivot naksahtaneet jossain vaiheessa.

TEO: Itse sen tiedän, kun mulla aika vasta meni siihen moodiin, kun aloitin yliopiston neljä-viisi vuotta sitten. Siinä se muutos on tapahtunut, kun oppi ajattelemaan. Isälleni, 65v, aloin kerran avaamaan tällaista yksinkertaista hommaa. Kyllä sen oppii, vaikka ei tietokoneiden kanssa olisi mitenkään lahjakas. Fiksu tyyppi, niin kyllä se sen oppi. Ymmärsi lukea sen puolessa tunnissa.

Kuinka luovaa koodaaminen teidän mielestä on?

TEO: Mä oikeastaan sen takia innostuin tästä hommasta, että tässä sain olla luova. Kun arkkitehdiksi sanoin haluavani, niin varmasti luovempi saa tässä olla kuin jotain perus kerrostaloa suunnittelisi. Saa olla tosi luova ja vapaat kädet, että miten ratkoa ongelmat. Ja jos saat vielä suunnitella ulkoasua itse, niin siinä tietysti voi olla hyvinkin luova.

ANTTI: Pienessä tiimissä vastuu on isompi, jolloin harvemmin on niin tarkkaa specsiä siitä, miltä jonkun nappulan pitää näyttää. Tai miltä sen kokonaisuuden pitää näyttää. Jolloin siinä tehdessä nimenomaan fronttipuolta on pakko tehdä niitä päätöksiä, että tästä tuli nyt tämän näköinen.

TEO: Voi olla isossa talossa eri meininki, siellä on yhtä nappulaa tekemässä yksi tiimi. Siellä on aika selvät sävelet.

MARKKU: Koodissakin välillä on ”luovia ratkaisuja”. (naurua) Mutta koodatessa kun voit monella eri tavalla tehdä saman asian – siinä täytyy välillä käyttää luovuutta.

ANTTI: Luovaa ongelmanratkaisukykyä.

MARKKU: Mutta koodareilla on se, että refactoroidaan eli tehdään asiat jollain yhdellä tavalla ja jos et ole tyytyväinen siihen, voit laittaa sen pienempiin palasiin ja tehdä siitä sellaisen, että se kelpaa sulle. Aluksi tehdään minimi. Että se vain toimii. Sitten vasta aletaan optimoimaan.

Miten mobiili huomioidaan tällä hetkellä?

TEO: Ruudun kokohan se pitää saada... Pitää karsia ja saada palikat sellaisiksi, että ne mahtuu siihen.

MARKUS: Niin että luettavuus kuitenkin säilyy.

TEO: Muuten käytännössä nykyään pyritään tekemään ihan samat kuin tietokoneella muutenkin – kun laitteet ovat yhtä tehokkaita.

ANTTI: Nykyään laitteet hyvin pitkälti tukevat samoja teknologioita. Ei tarvitse erikseen tehdä mobiilisaittia vaan tehdään mobiiliresponsiivinen saitti, joka mukautuu mobiilinäytölle sopivaksi. Kun työskennellään videon kanssa on kiva nähdä, että mobiiliselaimet alkavat jo toistamaan sitä paremmin kuin desktopilla.

TEO: Eli ihan samalla tavalla, mutta pienempänä.

ANTTI: Se vaan pitää suunnitella niin, että sivu menee kasaan sopivasti.

MARKKU: Sitten on erinäisiä juttuja mitä pitää huomioida, esimerkiksi kun on tehty sellainen kiva hover-efekti eli ollaan hiiren pointterin kanssa jonkin päällä, niin se ei tietenkään kännykällä näy. Se ei näe, että sun sormi ei kosketa sitä, vaan on siinä kohdalla. Siihen ei voi mitään efektiä laittaa.

ANTTI: Nykyään on niin paljon open sourcea, että mikä on se paras valinta. Periaatteessa nykyään ei yritetä keksiä sitä pyörää uudestaan, eli jotta devaaminen olisi nopeampaa, niin yritetään hyödyntää avoimen lähdekoodin paketteja.

MARKKU: Sitä karusellijuttua ei kannata tehdä uudestaan, koska se on tehty miljoona kertaa ja niitä löytyy niin paljon.

Millainen kiinnostus teillä on videoon ylipäätään?

MARKKU: Mulla ei ollut mitään suhdetta videoon. Tulin periaatteessa ihan vaan koodaamaan. En itse asiassa edes tiedä, mitä sen aikainen Magneetto Media teki. Tiesin, että he striimasivat ja tekivät webcastejä, mutta itse tuosta hommasta en tiennyt yhtään mitään. Periaatteessa vasta täällä opin striimaamisen salat.

Mua kiinnostaa se teknologiapuoli itsessään.  Että otat yhteyttä johonkin ja sieltä tulee vaikka multibitratea, niin se on ihan mielenkiintoista sinänsä. Sitten ovat nämä eri koodekit, kun videon pitää toimia monilla eri selaimilla. Ei voida ottaa vaan jotain ihme formaattia käyttöön.

Eli teknologia sinänsä kiinnostaa. Itse en lähtisi striimaamaan, en ole sellainen, että haluaisin itse kuvailla.

TEO: Itse olen joskus omaa peliä striimannut, ja vähän omalla GoProlla kuvannut, mutta ei ole varsinaista videoharrastusta ollut aikaisemmin. Nyt tietysti vähän enemmän alkaa kiinnostamaan, mutta ei tosiaan ole aikaisempaa kokemusta.

MARKUS: Kyllä se tekniikkana kiinnostaa, mihin se on kehittymässä, etenkin toi striimaaminen. Mutta ei itse tule kuvailtua, still-kuvaa tulee harrastettua, mutta ei videokuvaa – ainakaan vielä.

Mihin striimauspalvelut ovat teidän mielestänne menossa?

TEO: Kyllä ne tulevat syrjäyttämään perinteiset videomuodot.

MARKKU: Nythän voi siis jo ostaa striimattuja pelejä, eli kun pelaat, niin muut koneet hoitavat sen ja sä saat sitä videokuvaa omalle tv:lle. Oma pleikkarisi ei varsinaisesti pyöritä sitä vaan jonkun muun pleikkari. Netflix on näyttänyt tietä – he ovat hyvin avoimia siitä, mitä tekevät. He kertovat infrastruktuuristaan ja minkälaiset apit heillä on. Tulee blogikirjoituksia Netflixin devaajilta; he kertovat esimerkiksi, miten palvelu saadaan skaalautumaan niin monille tuhansille tai miljoonille käyttäjille.

Lopuksi, olette aktiivisesti testanneet Punavuoren lounastarjontaa, minkä paikan nostaisitte esiin nyt?

TEO: Buddha Bar.

MARKKU: Nepsku on aika varma. Neste-nepsku siis. (Toim. huom. Ravintola Shubha Kamana)

Share on FacebookTweet about this on TwitterShare on Google+Share on LinkedInEmail this to someone

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *