Palvelinohjelmoija

Johdanto

Palvelinohjelmoijan työ kohdistuu pelipalvelimiin, jotka ylläpitävät verkkopelejä sekä mahdollistavat ympäri maailmaa pelattavat moninpelit. Palvelinohjelmoijan tehtäviin kuuluu pelipalvelinten käyttöönottoa, ylläpitoa ja huoltoa sekä pelipalveluihin ja asiakas-palvelin-sovelluksiin liittyvää ohjelmointia. Työssä tarvitaan ohjelmointiosaamisen lisäksi tietoturvan tuntemusta sekä oma-aloitteisuutta, yhteistyötaitoja, ongelmanratkaisutaitoja ja kiinnostusta pelejä kohtaan.

Työtehtävät

Palvelinohjelmoijan työkenttää on verkko- ja mobiilipeleihin liittyvä palvelinpuolen ohjelmointi. Palvelinohjelmoija ylläpitää pelipalvelimia sekä vastaa siitä, että verkkopelien ja verkossa pelattavien moninpelien pelaaminen tapahtuu sujuvasti. Pelipalvelimien on toimittava virheettömästi, nopeasti ja vakaasti, samoin itse pelipalvelun ja pelaajien laitteilla olevien asiakassovellusten.

Pelipalvelin (peliserveri) on tehokkaan tietokoneen ja palvelinohjelmiston muodostama kokonaisuus, joka toimii jonkin tietyn pelin palvelimena, moninpelipalvelimena tai yhtenä niistä. Palvelimia voidaan yhdistää palvelinkeskuksiksi, joissa on lukuisia palvelimia. Pelipalvelimet tarjoavat pelejä, joita pelataan yksinpeleinä tai moninpeleinä, joihin voi osallistua tuhansia pelaajia ympäri maailmaa.

Pelaaminen voi tapahtua joko selaimen kautta vain tietylle sivustolle menemällä tai sitten lataamalla ja asentamalla tietokoneelle tai muulle pelilaitteelle pelin tiedostot pelin sivustolta, digitaalisesta latauspalvelusta tai levykkeeltä, jonka jälkeen pelaaminen tapahtuu liittymällä pelipalvelimelle.

Palvelinohjelmoijan työhön kuuluu etupäässä palvelimella oleviin palvelinohjelmistoihin ja peliohjelmistoihin liittyvää työtä, mutta jonkin verran myös laitteistoihin liittyvää työtä. Työ on ohjelmien ja järjestelmien toiminnan valvontaa, analysointia ja säätämistä sekä ohjelmointia ja testausta.

Pelipalvelinten käyttöönotto edellyttää konfigurointia, jossa laitteiston ja ohjelmiston asetukset säädetään halutunlaisiksi sekä keskenään yhteensopiviksi ja määritellään esimerkiksi tiedonsiirrossa käytettävät portit ja protokollat.

Peliverkkoon kuuluvat pelipalvelimet ohjelmistoineen sekä pelaajien tietokoneet tai muut pelilaitteet ja niiden peli- ja yhteysohjelmistot. Näiden muodostama verkko on synkronoitava yhdeksi kokonaisuudeksi, jotta yhteispelaaminen onnistuisi.

On tärkeää, että jokaisen pelaajan pelissä tekemät toiminnot ilmenevät kaikille pelaajille samanaikaisesti. Pelaajat ovat myös fyysisesti eri paikoissa, ja he käyttävät tehoiltaan erilaisia laitteita ja eri nopeuksisia internetyhteyksiä, mikä edellyttää viiveiden aiheuttamien häiriöiden minimoimista. Palvelin synkronoidaan ohjelmoimalla.

Moninpeli on kuin yhdessä luotu simulaatio, joka toteutuu osittain pelipalvelimella ja sen kautta, ja osittain pelaajan pelikoneella. Hahmojen liikkeiden lisäksi myös mm. pelin fysiikan, pelimekaniikkojen ja tekoälyn on toimittava oikein myös moninpelissä, mikä edellyttää pelipalvelimen toiminnan valvontaa ja tarvittaessa säätämistä ohjelmoimalla.

Pelipalvelimet voivat hyödyntää erilaisia malleja ja tekniikoita moninpeleissä. Peer-to-Peer-mallissa pelaajien tietokoneet vaihtavat suoraan keskenään pelaamiseen liittyvää tietoa internetin kautta. Pelit pyörivät kokonaan pelaajien tietokoneissa.

Asiakas-palvelin-mallissa (Client-Server) pelaajat ovat yhteydessä pelaamisen keskuksena toimivaan pelipalvelimeen asiakasohjelman kautta. Pelaaminen tapahtuu pelipalvelimella, mutta omassa pelilaitteessa on kuitenkin oltava peliohjelma. Pelaajan tekemät ohjaussyötteet kuten hahmon liikkeet lähtevät datana palvelimelle, joka toteuttaa liikkeet pelissä ja lähettää siitä tiedon muiden pelaajien pelikoneille.

Hybridimallissa pelaajan tietokone peliohjelmistoineen hoitaa esimerkiksi pelaajan liikuttaman hahmon toteutukseen tarvittavan laskentatyön. Tämä säästää pelipalvelimen tehoja. Tieto pelaajan pelissä tekemistä liikkeistä välittyy pelipalvelimelle, joka puolestaan välittää tämän tiedon kaikille muille pelaajille ja synkronoi pelimaailman tapahtumat ajallisesti ja muutenkin toimivaksi yhtenäiseksi kokonaisuudeksi.

Palvelinten ylläpitoon liittyviä tehtäviä ovat esimerkiksi ohjelmistossa ilmenevien bugien eli virheiden korjaaminen ja uuden koodin kirjoittaminen sekä vakauteen ja käytettävyyteen liittyvien päivitysten tekeminen ja uusien ohjelmistojen asentaminen.

Tehtäviin voi kuulua myös asiakas-palvelin-sovellusten suunnittelua, toteutusta ja ylläpitoa. Palvelinta käyttävää sovellusta tai tietokonetta nimitetään asiakkaaksi. Pelien kohdalla kyseessä on pelaajan käyttämä pelilaite kuten tietokone, jossa on asiakasohjelma yhteyden saamiseksi palvelimeen ja pelaamiseksi.

Palvelinohjelmoijan tehtäviin voi kuulua myös pelipalveluun liittyvää työtä, kuten pelipalvelimen tietoturvan varmistamista ja ylläpitojärjestelmän luomista sekä pelitileihin, kirjautumisiin ja pelin maksujärjestelmiin liittyvien sovellusten tekemistä. Tehtäviin voi kuulua myös pilvipalvelujen suunnittelua, toteutusta ja ylläpitoa. Pilvipalveluissa peli pyörii verkon kautta.

Palvelinohjelmoija voi toimia myös muiden palvelinohjelmoijien esimiehenä, jolloin tehtäviin kuuluu esimerkiksi työnjohtoa sekä tehtävien priorisointia ja aikataulujen valvontaa. Palvelinten ylläpitoon voi työnantajasta riippuen osallistua useita palvelinohjelmoijia ja muita pelialan ja tietotekniikan asiantuntijoita.

Palvelinohjelmoija käyttää työssään tietotekniikkaa sekä erilaisia ohjelmistoja, ohjelmointikieliä ja diagnostiikkatyökaluja. Työympäristö on tila, jossa pelipalvelin sijaitsee. Palvelinta voidaan myös valvoa, ohjata ja säätää etänä.

Työajat ovat palvelinohjelmoijilla vaihtelevia, eikä työn ja vapaa-ajan erottaminen ole aina selkeää. Palvelimen kaatuessa tai muissa ongelmatilanteissa työhön voi päivystyksessä joutua vaikka keskellä yötä. Työ voi toisinaan olla hyvinkin kiireistä. Työhön voi kuulua matkustamista esimerkiksi messujen ja koulutusten vuoksi.

 

Työpaikat

Peliteollisuuden (pelialan, pelitoimialan) yritykset. Digitaalisiin peleihin keskittyneet pelistudiot ja muut pelialan yritykset kehittävät ja julkaisevat pelejä sekä tarjoavat peleihin liittyvää konsultointia ja asiantuntijapalveluja sekä sisällöntuottamista ja koulutusta.

Työpaikkoja on myös peleihin liittyvää tutkimusta harjoittavissa yliopistoissa sekä alan koulutusta tarjoavissa oppilaitoksissa toisen asteen ammatillisista oppilaitoksista ammattikorkeakouluihin ja yliopistoihin. Myös alan järjestöt, kaupan ala ja media työllistävät pelialalla.

 

Työn vaatimukset

Palvelinohjelmoijan on tunnettava palvelinarkkitehtuurit sekä hajautetut järjestelmät.

Palvelinohjelmoijan on hallittava palvelinten ohjelmointi ja ohjelmointimenetelmät sekä työssä tarvittavat ohjelmointikielet, kuten Java, Javascript, C, C++, C# ja Flash.

Ammatissa on tunnettava myös palvelinten käyttöjärjestelmät kuten Windows, OS, Linux ja Unix.

Työ edellyttää tietokantojen kuten SQL ja NoSQL tuntemusta.

Ammatissa on hallittava myös tietoturva-asiat sekä pilvipalvelut.

3D Unity -pelimoottorin hallinta on työssä etu.

Työssä tarvitaan data-analytiikan osaamista sekä kykyä hyödyntää ns. big dataa, jossa tallentuu tietoja esimerkiksi pelaajien määristä, peliajoista, yhteysnopeuksista ja ongelmista.

Palvelinohjelmoijan on hallittava myös palvelinten asennukset, käyttöönotto ja ylläpito. Työ edellyttää myös laitteistojen tuntemusta.

Palvelinohjelmoijan on tunnettava digitaalisten pelien kehitysprosessi sekä esimerkiksi pelisuunnittelua. Työ edellyttää myös peligenrejen ja niihin kuuluvien pelien tuntemusta sekä kiinnostusta pelaamista kohtaan.

Ohjelmointityö edellyttää oma-aloitteisuuden lisäksi loogista päättelykykyä, järjestelmällisyyttä, tarkkuutta ja ongelmanratkaisutaitoja.

Yhteistyötaidot ja vuorovaikutustaidot ovat tarpeen tiimityössä.

Hyviä viestintätaitoja tarvitaan esimerkiksi ongelmien kuvaamisessa ja muussa raportoinnissa.

Kielitaitoa, erityisesti englannin kielen taitoa, tarvitaan kansainvälisellä ala.

Palvelinohjelmoijalta vaaditaan oman alan kehityksen ja teknologioiden jatkuvaa seuraamista sekä täydennyskouluttautumista tai itseopiskelua.

Hyvä stressinsietokyky on tarpeen kiireisten työvaiheiden ja aikataulujen vuoksi.

 

Koulutus

Toisen asteen ammatillisissa oppilaitoksissa voidaan suorittaa tieto- ja viestintätekniikan perustutkinto datanomi ohjelmistotuotantoon (pelialan) suuntautuen.

Pelialaan liittyvää datanomikoulutusta järjestetään Amiedussa, Laajasalon opistossa, HEO Mediassa, AEL:issa, Stadin Ammattiopistossa, Kouvolan seudun ammattiopistossa, Sataedussa, Oulun seudun ammattiopistossa ja Pohjois-Karjalan Ammattiopistossa Outokummussa.

Ammattikorkeakouluissa voi opiskella tietojenkäsittelyä ja suorittaa liiketalouden ammattikorkeakoulututkinnon tradenomi (AMK). Ammattikorkeakouluissa voi suorittaa myös tekniikan ammattikorkeakoulututkinnon insinööri (AMK) esimerkiksi tieto- ja viestintätekniikkaa opiskellen.

Pelialan koulutusta tarjoavat Haaga-Helia ammattikorkeakoulu, Kymenlaakson ammattikorkeakoulu, Oulun ammattikorkeakoulu, Jyväskylän ammattikorkeakoulu, Lahden ammattikorkeakoulu, Karelia ammattikorkeakoulu, Centria-ammattikorkeakoulu, Tampereen ammattikorkeakoulu, Turun ammattikorkeakoulu, Metropolia ammattikorkeakoulu ja Kajaanin ammattikorkeakoulu.

Yliopistoissa pelialan koulutusta (useimmiten tutkimusorientaatio) järjestävät Lappeenrannan Teknillinen Yliopisto LUT, Turun yliopisto, Itä-Suomen yliopisto, Aalto-yliopisto, Jyväskylän yliopisto sekä Tampereen yliopisto / TRIM / Game Research Lab. Helsingin yliopistossa järjestetään pelialan kursseja tietojenkäsittelytieteessä.

Alempi korkeakoulututkinto on yliopistosta ja tiedekunnasta riippuen filosofian kandidaatti, tekniikan kandidaatti tai taiteen kandidaatti. Ylempi korkeakoulututkinto on filosofian maisteri, diplomi-insinööri tai taiteen maisteri.

 


Opintopolku, koulutushaku Ulos

Palkkaus

Tietotekniikan palveluyrityksissä noudatetaan Tietotekniikan palvelualan työehtosopimusta, joka on solmittu Teknologiateollisuus ry:n ja Erityisalojen Toimihenkilöliitto ERTO ry:n välillä. Tehtävien vaativuuden lisäksi työntekijän kuukausipalkkaan vaikuttavat työsuoritus, ammattitaito, työlle asetetut tulos- ja laatutavoitteet sekä henkilökohtainen pätevyys ja osaaminen.

Tietotekniikan palveluyrityksissä noudatetaan myös Tietotekniikan palveluyritysten teknisiä toimihenkilöitä koskevaa työehtosopimusta, joka on solmittu Teknologiateollisuus ry:n ja Toimihenkilöunioni TU ry:n välillä. Teknisen toimihenkilön kuukausipalkka määräytyy palkkausjärjestelmän mukaan.

 

Työmarkkinatiedot
Peliteollisuus

Peliteollisuus työllistää Suomessa noin 2 750 ammattilaista (v. 2016). Alalla työskentelevistä noin viidesosa on naisia. Peliteollisuudessa työskentelevien lukumäärä on ollut kasvussa koko 2000-luvun. Pelitoimialan yritykset sijaitsevat enimmäkseen pääkaupunkiseudulla, mutta viime vuosina eri puolille maata on syntynyt useita pelialan alueellisia keskittymiä.

Peliteollisuuden työllisyyteen vaikuttaa erityisesti suomalaisten pelituotteiden kysyntä maailmalla ja kotimaassa, mikä heijastuu työntekijöiden tarpeeseen varsinkin pelejä kehittävissä yrityksissä. Talouden suhdanteiden vaihtelut vaikuttavat työllisyyteen esimerkiksi rahoitusten saamisten ja siten yritysten kasvumahdollisuuksien kautta. Työntekijöiden lukumäärä on kasvanut heikoissakin suhdannetilanteissa.

Yritysten henkilöstömäärän arvioidaan edelleen kasvavan liiketoiminnan kasvun myötä, mikä edellyttää uusien osaajien kouluttamista alalle. Peliteollisuuden työpaikkoihin tarvitaan korkeatasoista osaamista sekä jonkin osa-alueen erityisosaamista tai alan kokonaisuuden hallintaa.

Pelialan työpaikat ovat haluttuja, joten kilpailu työpaikoista on kovaa. Alan yritykset rekrytoivat tarpeen mukaan. Kokeneista ja osaavista ammattilaisista on pulaa. Yrittäjyys tai esimerkiksi osuuskuntatoiminta tarjoavat yhden vaihtoehdon itsensä työllistämiseksi. Kansainvälinen peliala tarjoaa osaajille työllistymismahdollisuuksia myös ulkomailla.

Tieto- ja viestintätekniikka

Teknologiateollisuuteen kuuluva tieto- ja viestintätekniikka  työllistää Suomessa noin 59 300 ammattilaista, joiden lisäksi ulkomailla tytäryrityksissä työskentelee noin 13 700 ammattilaista (v. 2016).

Tieto- ja viestintätekniikan yritykset toimivat globaaleilla markkinoilla, joihin vaikuttavat maailmantalouden suhdanteiden vaihtelut. Ne heijastuvat viennin määrinä sekä palveluiden kysyntänä yrityksissä osaajien tarpeeseen.

Tieto- ja viestintätekniikan yritykset rekrytoivat tarpeen mukaan. Henkilöstön kokonaismäärän arvioidaan kasvavan lähivuosina jonkin verran. Tieto- ja viestintätekniikan työllisyysnäkymät ovat pitkällä aikavälillä hyvät, koska tieto- ja viestintätekniikkaa käytetään nykyaikaisessa yhteiskunnassa kaikkialla, mikä luo kysyntää alan tuotteille ja palveluille.

Koko teknologiateollisuus työllistää Suomessa yhteensä noin 285 000 ammattilaista. Henkilöstömäärän arvioidaan pysyvän lähivuosina samalla tasolla. Ulkomailla tytäryrityksissä työskentelee hieman yli 250 000 ammattilaista.

Teknologiateollisuuden yritykset rekrytoivat vuosittain lähes 30 000 osaajaa, joista noin puolella on korkeakoulututkinto ja puolella ammatillinen tutkinto. Eniten teknologiayritykset palkkaavat tekniikan ja tietotekniikan osaajia.

Teknologiateollisuuden yrityksissä tarvitaan monenlaista osaamista. Henkilöstöä tarvitaan mm. tuotannon, huollon, kunnossapidon, ylläpidon ja asiakastuen sekä myynnin ja markkinoinnin tehtäviin. Osaamistason noususta johtuen korkeakoulututkinnon (yliopisto- tai AMK-tutkinto) suorittaneiden määrän arvioidaan kasvavan suhteessa eniten. Määrällisesti suurin tarve on ammatillisen tutkinnon suorittaneista.

Lähinimikkeet

Client programmer
Client server programmer
datanomi
diplomi-insinööri
filosofian maisteri
Game server programmer
insinööri
insinööri (AMK)
ohjelmoija
Server developer
Server engineer
Server programmer
serveriohjelmoija
tradenomi
tradenomi (AMK)
web-ohjelmoija