Lisää haasteita insinööreille

04.04.2017

Syksyllä 2016 RD Velho päätti lanseerata suurelle yleisölle ohjelmointihaasteen, viralliselta nimeltään RD Velho Software Developer Challenge 2016. Voittajaksi julistettiin viime viikolla Behailu Shiferaw Negash, jonka tekemä konseptiehdotus erottui selvästi edukseen muista kilpailutöistä.

Tällaisissa tietyn alan ammattilaishaasteissa on yleensä tarkoitus ratkaista jokin konkreettinen ongelma tai saada yleistä näkyvyyttä tietylle ongelmakentälle. Viimeisenä, mutta ei vähäisimpänä tavoitteena, haasteet antavat loistavan työkalun alan yrityksille kohdennettuun rekrytointiin.

RD Velhon näkökulmasta suuri yhteiskunnallinen kysymys, johon halusimme keskittyä oli, kuinka pystymme hallitsemaan ja käsittelemään suuria määriä "esineiden internet" -laitteita (Internet of Things). IoT on tämän hetken nopeiten kasvavimpia tietotekniikan ja elektroniikan alueita. Niiden yritysten määrä, jotka hallinnoivat omaa laitekantaa, kasvaa räjähdysmäisesti, ja niin kasvavat myös suurimmat yksittäisen hallinnoijan käsiteltävissä olevat laitemäärät.

Samaan aikaan kun elektroniikka ja tietotekniikka rikkovat entistä suurempia laitemäärärajoja, tietokoneiden ja mobiililaitteiden käyttöliittymät - ihmisen ainoa työkalu laitteiden hallintaan - on näyttänyt vain vaatimattomia merkkejä suurista edistysaskeleista.

Haaste oli kaksivaiheinen

RD Velhon haaste koostui ympäri maapalloa sijoitetuista lämpötila-antureista, jotka lähettivät lämpötiladataa MQTT-protokollan välityksellä, kukin anturi yhden mittaustuloksen noin puolen minuutin välein. Kilpailijan tehtävänä oli tehdä käyttöliittymä, jolla saadaan luettua ja hallittua laitteiden tietoja helposti ja suoraviivaisesti.

Jotta haasteen katto ei olisi liian matalalla ja antaisimme mahdollisuuksia aidosti täysin uusiin ja alaa mullistaviin ratkaisuihin, satsasimme mm. laitteiden ja tiedon määrään.

Lämpötilatietoa lähettäviä laitteita ympäri maailmaa oli yhteensä yli miljoona kappaletta. Jos osallistuja pystyy tekemään käyttöliittymän, jolla kutakin yksittäistä laitetta tai tietyillä käyttäjän määrittelemillä kriteereillä niiden rajattua joukkoa, pystyy helposti ja suoraviivaisesti hallitsemaan, on todennäköisesti luotu jotain uutta ja mullistavaa.

Haasteessa oli myös esitehtävä, joka piti sisällään tietojen kaivelua websivujen ja git-projektien syövereistä ja joka loppujen lopuksi päätyi kynnyskysymykseen, tunnistaako käyttäjä merkkijonon, joka on selkokielistä tekstiä koodattuna ROT-13 koodauksella.

Paljon hyvin viimeisteltyjä kilpailutöitä

Ne kilpailutyöt, jotka pääsivät myös haasteen jälkimmäisen osan kunnialla läpi ja toimitettua varteenotettavan lopputuloksen eräpäivään mennessä, olivat selkeästi tehneet töitä työn eteen kymmeniä tunteja. Lähdekoodia oli kaikissa vastauksissa paljon ja koodin laatu kohtuullista. Työn viimeistely oli sen sijaan osuus, johon emme odottaneet paljoa paneutumista osallistujilta, mutta siitäkin huolimatta lopputuloksissa oli hyvin pitkälle viimeisteltyjä teoksia.

Vaikka itse saimme työkoneemme useaan otteeseen totaalisen jumiin tilatessamme haasteen MQTT-palvelimelta muutama satatuhatta liian monta yhtäaikaista sensorien datastreamiä, pikaisen kyselyn perusteella kilpailijat eivät olleet kokeneet tätä ongelmaksi.

Sen sijaan kohta, johon itsekin tiesimme, että lisätyötunnit olisivat saattaneet tarpeen haasteen laatijoilta, eli tehtävän tarkka määritys, olisi joidenkin kilpailijoidenkin mielestä ollut varsin tervetullut lisä.

Riittävän vaativia, uusia ja erilaisia haasteita

Teimme erittäin vähän määrittelyjä minkälaisia kilpailutöiden tulisi olla. Käytännössä kilpailijoilla oli tieto suurin piirtein kohdekäyttäjän profiilista ja siitä, että ilmastodataa tulisi jollain tavalla näyttää. Mitä tarkemmin ja millä tavalla, jätimme tarkoituksella auki.

Vaikka tämä taktiikka antaa osallistujille mahdollisuuden toteuttaa omia intohimojaan ohjelmoinnin parissa käytännössä rajattomasti, osa kilpailijoista koki, että kilpailun asettaja olisi voinut toimittaa tarkempia raameja siitä, mitä halutaan.

Nythän käytännössä ohjelmoijan kontolla oli myös paljon sellaisia askareita, joita ei riviohjelmoijalle välttämättä kaikissa projekteissa kuulu, kuten ongelma-analyysi, use-case analyysi sekä vaatimusmäärittely.

Insinööritieteiden ammattilaishaasteet ovat ylipäänsä aivan liian vähän arvostettu ja vähän käytetty työkalu saada näkyvyyttä ja rassata alan ammattilaisten aivoja.

Parhaimmillaan tällaiset haasteet toteutuvat silloin, kun haasteen laatija kurkistaa hieman syvemmälle haasteiden laatimismahdollisuuksiin ja päätyy tarjoamaan potentiaalisille kilpailijoille haasteessaan jotain sellaista uutta, erilaista tai isompaa, mihin uransa alkuvaiheessa olevat alan ammattilaiset eivät normaalisti ole päässeet käsiksi.

Hyvänä esimerkkinä vaikkapa big data. Montako big datan pariin päätyvää opiskelijaa Suomen opinahjoista vuosittain valmistuu tai on viime vuosina valmistunut, jotka ovat käytännössä ja oikeasti joutuneet käsittelemään aitoa - tai aidon oloista dataa petatavuittain useiden servereiden farmeissa?

Teksti: Jaakko Pääkkönen

Like (3) 

Lisää uusi kommentti

Latauslinkki lähetetään sähköpostiin

Yhteystiedot

Käytössäsi lähes 300 asiantuntijan osaaminen

Lue meistä