Uudet trivorelaiset esittäytyvät: Samuli ja Joakim

Trivorelaisten joukko on jälleen kasvanut uusilla osaajilla. System Engineer Samuli ja Junior Developer Joakim kertovat keitä ovat ja miltä ensimmäiset hetket trivorelaisena ovat tuntuneet.


Samuli, System Engineer

 

Kuka olet ja mistä tulet?

Hei, olen Samuli! Asun Turussa, ja valmistuin noin vuosi sitten Turun ammattikorkeakoulusta tieto- ja viestintätekniikan insinööriksi.

Mikä Trivoressa veti puoleensa?

Olin kuullut paljon hyviä kokemuksia Trivoresta ja Trivoren nimi tulikin esille jo kouluaikana. Iso asia mikä Trivoressa veti puoleensa, on mahdollisuus vaikuttaa omaan työnkuvaansa, ja mahdollisuudet kehittää itseään juuri niillä osa-alueilla, jotka itseä kiinnostaa. Minulle oli myös kerrottu paljon hyvää trivorelaisista ja olen myös itse nyt päässyt näkemään, kuinka mahtava porukka täällä on töissä.

Mitkä asiat saavat sinut innostumaan työssäsi?

Kun työt ovat tarpeeksi haastavia, ja niissä pärjääminen aiheuttaa suurta onnistumisen tunnetta. Myös hyvä työporukka auttaa innostumaan ja jaksamaan töissä.

Mitkä ominaisuutesi ovat erityisen hyödyllisiä uudessa työssäsi?

Pitkä pinna ja yleinen rauhallisuus auttavat varmasti monessakin erilaisessa työssä. Mutta tällä alalla varmaankin ainainen halu oppia uutta on erittäin tärkeää, sillä nämä jutut muuttuvat ja kehittyvät jatkuvasti.

Mitä odotat trivorelaisuudelta?

Hyvä meininki nyt ja tulevaisuudessa!

Mikä on vapaa-ajalla kaikkein mieluisinta puuhaa?

Tuossahan se aika menee elokuvia katsellessa ja videopelejä pelatessa. Aina on myös käynnissä, jos minkälaista projektia.


Joakim, Junior Developer

 

Kuka olet ja mistä tulet?

Olen Joakim, uusimpia lisäyksiä Trivoreen. Olen etsiskellyt tietoa ja ammatillista itseäni ympäri eri tiedekuntia ja siinä sivussa koodannut jatkuvasti harrastuksena. Lopulta annoin rakkaalle harrastukselleni mahdollisuuden ”ihan oikeisiin hommiin” ja aloin suorittaa yliopiston ohjelmointikursseja sekä omasta että muista yliopistoista täydentääkseni vanhaa osaamistani. Asiat alkoivat pian, hieman tuurillakin, loksahtelemaan paikoilleen ja täällä sitä ollaan.

Mikä Trivoressa veti puoleensa?

Itse työn puolesta työaika, etätyö ja työsuhde-edut kuulostivat hyviltä ja elämäntilanteeseeni sopivilta. Lisäksi ystäväni oli kertonut työporukan olevan mukavaa ja rentoa, ja tämä välittyi myös haastattelutilanteessa.

Mitkä asiat saavat sinut innostumaan työssäsi?

Ongelmien ratkaiseminen (paitsi, jos ongelma ei kerta kaikkiaan ota ratketakseen) sekä uuden oppiminen ja sen soveltaminen käytäntöön.

Mitkä ominaisuutesi ovat erityisen hyödyllisiä uudessa työssäsi?

Kiinnostus. Lähtökohtaisesti olen vuorotellen kiinnostunut vähän kaikesta, mutta tuntuu, että kiinnostukseni ohjelmointiin pysyy jatkuvasti vähintään kohtalaisena. Ja kun olen kiinnostunut, olen tehokas.

Mitä odotat trivorelaisuudelta?

Odotan tukevaa työyhteisöä, kiinnostavaa työtä, avointa päätöksentekoa sekä mahdollisuuksia hyvään ura- ja palkkakehitykseen taitojen ja/tai kunnianhimon kasvaessa.

Mikä on vapaa-ajalla kaikkein mieluisinta puuhaa?

Nukkuminen. Hyvinä kakkosina tulevat (PC-)pelaaminen, kitaransoitto, Redditin (doom)scrollaaminen, frisbeegolf ja kuntosali kunhan taas seuraavan kerran innostun.


Haluaisitko Samulin ja Joakimin työkaveriksi? Meillä on haku auki ja etsimme esimerkiksi frontti- ja bäkki-devaajia. Kurkkaa kaikki avoimet työpaikkamme täältä ja hae mukaan tiimiin.

Trivorelaisen päivä: Senior Developer Miika on ollut Trivoren matkassa lähes alusta asti

Millaisia tyyppejä trivorelaiset oikein ovat, ja mitä meidän päiviimme kuuluu? Trivorelaisen päivä -juttusarjassa kurkistetaan aina yhden trivorelaisen työpäivään. Samalla kerromme, millainen polku on kaikilla Trivorelle johtanut. 

Maaliskuussa esittelemme Miikan, joka on ollut tärkeä osa työyhteisöämme jo 15 vuoden ajan. Hän onkin yksi pitkäaikaisimmista työntekijöistämme.  


Senior Developer Miika on ehtinyt Trivorella työskentelemään hyvin monenlaisten projektien parissa. Hän on myös yrityksen yhtenä pitkäaikaisimmista työntekijöistä päässyt todistamaan muutoksen vain muutamien työntekijöiden porukasta nykyiseen, lähes 30 hengen voimin pyörivään Trivoreen. Tällä hetkellä Miika työskentelee Trivoren ID-tiimissä ohjelmistokehitys- ja järjestelmäasiantuntijan tehtävissä, joka on ollut merkittävin projekti hänen urallaan.

“Merkittävin ja pisimpään jatkunut projekti ja tuote on Trivore ID, jonka parissa olen työskennellyt jo vuosia”, Miika kertoo. ” Lisäksi osallistun moniin muihin lyhyemmän aikavälin projekteihin ja tuotteiden kehitykseen.”

Monipuolisten projektien parissa tutuksi ovat tulleet monet eri teknologiat. Trivorella kokeillaan rohkeasti uusimpiakin, hyväksi todettuja teknologioita, ja tuotteet halutaan pitää nykyaikaisina. Itselleen mielekkäimmiksi työkaluiksi Miika nimeää muun muassa Quarkus-, MongoDB- ja Spring Framework -teknologiat.

”Tällä hetkellä keskityn erityisesti backend-ohjelmistokehitykseen Javalla, joka on myös selkein vahvuuteni.”

Trivore ID:n ohella monitaituri Miikalta sujuvat tarvittaessa myös integraatiot ja SysOps-työt, joihin hänellä on myös vahva osaaminen.

Trivore veti Miikan mukaansa jo kouluaikana  

Trivore on Miikalle ensimmäinen oman alan työpaikka. Kaikki alkoi ammattikorkeakouluopintoihin kuuluneen työharjoittelun kautta:

“[Trivoren toimitusjohtaja] Kari Mattson oli hakemassa AMK:sta opiskelijoita erääseen projektiin. Halusin tulla siihen mukaan, ja heti esitelmän jälkeen kysyin tähän mahdollisuutta Karilta. Ohjelmoinnin opettajani myös antoi suosituksensa minusta ja Kari otti minut mukaan projektiin”, Miika muistelee Trivorelle johtanutta polkuaan.

Harjoittelun jälkeen hän jatkoi Trivorella kesätyöntekijänä ja siirtyi myöhemmin vakituiseksi työntekijäksi. Nyt hän on ollut erottamaton osa Trivorea jo 15 vuoden ajan. Miikan osaaminen erilaisista teknologiosta ja Trivoren omista tuotteista on sekä syvää että laajaa, ja hän toimiikin tärkeänä tukena myös Trivoren uudemmille kehittäjille.

Ohjelmointia ja yhteistyötä kasvavassa joukossa

Miikan tyypillinen työpäivä sisältää muun muassa ohjelmointia, palavereja mukavien tiimikaverien kanssa sekä toteutuksen ja testauksen suunnittelua.

Kehittäjänä toimiminen on Miikan mukaan erittäin mielekästä, ja hän on viihtynyt Trivorella hyvin, vaikka yrityksen nopea kasvu onkin tuonut ajoittain mukanaan myös haasteita, etenkin kun Trivoren toiminta on lähtenyt todelliseen kasvuun noin kolme vuotta sitten. Muutamassa vuodessa Trivoren liikevaihto, henkilöstömäärä ja asiakkuudet ovat kasvaneet merkittävästi. Trivore ID -tuotteesta on tullut tärkeä osa monen asiakkaan palveluita.

Miika pitää erityisesti sellaisista päivistä, jolloin johonkin projektiin ehtii keskittymään useamman tunnin ajan. Projektityössä hän arvostaa puolestaan selkeitä puitteita ja tavoitteita, jotka antavat raamit työskentelylle. Trivorella onkin panostettu kasvun myötä erityisesti projektien hallintaan, toimiviin puitteisiin ja prosesseihin, jotka pyrkivät antamaan Trivoren devaajille parhaan mahdollisen rauhan keskittyä ohjelmistokehittämiseen.


Työkaverin terveiset:

”Miika on todella monipuolinen asiantuntija, joka tarttuu ratkaisukeskeisesti sekä yksinkertaisiin että erittäin monimutkaisiin haasteisiin. Hän myös jakaa mielellään osaamistaan uudemmille tulokkaille ja on aina valmis auttamaan työkavereitaan tiimirajojen yli.”

Teresa, tuoteomistaja


Miikan päivä Trivorella:

8:00 Miika saapuu toimistolle usein ensimmäisten joukossa ja aloittaa päivänsä tikettien ja mahdollisten viestien läpikäynnillä.

9:00 Projektien dokumentaatioon perehtymistä ja kehitystyön suunnittelua ja/tai edistämistä.

10:00 ID-tiimin dailypalavereissa käydään yhteisesti läpi päivän tavoitteet.

11:00 Lounastauko.

12:00-16:00 Ohjelmointia.

16:05 Vapaa-ajalla Miika viihtyy esimerkiksi saunomisen ja biljardin parissa: “Molemmat onneksi löytyvät omasta kellarista.”

 


Lähtisitkö Miikalle työkaveriksi? Etsimme tällä hetkellä joukkoomme erityisesti frontend- ja backend-devaajia. Lue lisää ja hae trivorelaiseksi!  

Asiantuntijalta: Yksinkertainen HTTP-kutsujen tallentaja

Trivoren asiantuntija Stefan Roos esittelee, miten voit toteuttaa yksinkertaisen HTTP-kutsujen tallentajan Pythonilla.


Kirjoittajasta

Stefan Roos toimii Trivoren Product Technical Leadina. Työssään hän toimii erityisesti integraatioiden ja Trivoren IAM-järjestelmän parissa sekä Trivoren johtoryhmän jäsenenä.


Oletko koskaan tarvinnut nopeasti webbi-palvelinta, joka vain vastaanottaa kutsun ja tallentaa sen levylle? Tällainen on hyvin helppo toteuttaa itse muutamalla rivillä Pythonia. Perus Pythonin lisäksi tarvitaan Flask-kirjasto, joka hoitaa suurimman osan asioista taustalla.

Voit asentaa Flaskin yksinkertaisesti käyttämällä Pythonin omaa paketinhallintajärjestelmää seuraavanlaisella komennolla.

Näin voidaan luoda skripti, joka toteuttaa kutsuja vastaanottavan http-palvelimen. Luodaan uusi tieodosto esimerkiksi listener.py-nimellä. Tallennetaan sen sisälle seuraavan listauksen näköinen koodi.

Tällaisten yksinkertaisten työkalujen rakentaminen monesti auttaa huomattavasti erilaisten asioiden testaamista.

Mitä koodissa tapahtuu?

Ohjelman rakenne on melko yksinkertainen. Ensimmäiset kaksi riviä määrittelevät käyttöön tässä ohjelmassa tarvittavat kirjastot. Näitä kirjastoja ovat flask, jonka sisältä erityisesti tarvitaan Flask sekä request. Lisäksi tarvitaan aikaleiman käyttämiseen tiedostonimenä datetime-kirjastosta datetime. Koska molemmista kirjastoista tarvitaan vai nämä tietyt osat, käytetään muotoa from … import …

Seuraavat kolme riviä alustavat sovelluksen globaalit muuttujat. Ensimmäisenä näistä on app, joka käytännössä on siis Flask-sovelluksen instanssi. Tämä Flask-sovellus on käytännössä tämän koko sovelluksen ydin, se hoitaa mm. http-palvelimen hallinnoinnin.

Seuraavana määritellään käytännössä tiedostonimen formaattia, jota käytetään, kun järjestelmään tuleva http-kutsu tallennetaan levylle. Muuttuja dateformat määrittelee aikaleiman muodon, joka lisätään tiedostonimeen. filenameFormat taas määrittelee muilta osin tiedostonimen.

Seuraavana koodissa määritellään python-funktio, jolle sisään tuleva kutsu ohjataan. Ennen varsinaista funktion määrittelyä on ns. decorator. Tätä voisi suomeksi kutsua koristeeksi tai kuorrutukseksi, mutta täysin vakiintunutta suomennosta tälle termille ei taida olla. Decoratorin tarkoitus on kuitenkin tässä tapauksessa tuoda python-funktio Flaskin tietoon muuttamalla se käytännössä Flask-sovelluksen näkymäfunktioksi (engl. view function). Näin saadaan HTTP-kutsu Flaskista ohjattua tietyssä polussa ja tietyllä HTTP-metodilla tähän funktioon. Decoratoriin on määritelty poluksi nyt ”/”, eli sovelluksen juuri, ja vastaanotettavaksi HTTP-metodiksi POST.

Funktion varsinainen toiminnallisuus alkaa siitä, että ensin muodostetaan tiedostonimi käyttäen sen hetkistä aikaleimaa. Aikaleima saadaan datetime-kirjaston datetime-objektilla now()-funktiolla. Aikaleima muunnetaan sitten haluttuun muotoon kutsumalla sen strftime-funktiota siten, että annetaan sille sopiva aikamuoto. Sovelluksen alussa määrittelimme globaaliksi muuttujaksi halutun aikamuodon (dateformat-muuttuja).

Kun tiedostonimi on muodostettu, yritetään avata tiedosto kirjoitusmoodissa. Koska tässä sovelluksessa ei ole määritelty hakemistoa lainkaan, vaan pelkästään tiedostonimi, yritetään avata tiedostoa sovelluksen työhakemistossa. Mikäli avaaminen onnistuu, kirjoitetaan tiedoston sisälle HTTP-kutsussa vastaanotettu data. HTTP-kutsun data saadaan request-objektista funktiolla get_data().

Mikäli edellä mainitut askeleet toteutuivat onnistueesti, tulostetaan vielä konsoliin print() -kutsulla tietoa tallennetusta tiedostosta.

Lopuksi palautetaan HTTP-kutsun vastaukseksi myös tieto tallennetusta tiedostosta. Mikäli virheitä ei tapahdu, kutsuja saa statuskoodilla 200 OK -vastauksen, jonka sisältönä kerrotaan tallennetun tiedoston nimi.

Lopuksi vielä ohjataan python-sovellus automaattisesti käynnistämään flask-sovellus, kun se ajetaan skriptinä.

Miten sovellus suoritetaan?

Ohjelman voi suorittaa python-skriptinä seuraavasti.

Tämän jälkeen sovelluksen pitäisi olla käynnissä ja tulostaa aluksi jotain seuraavan näköistä:

Kun sovellus on käynnissä, voi siihen lähettää kutsuja. Sovellus ottaa sellaisenaan vain POST-tyyppiset kutsut vastaan juuripolkuun, eli ”/”-polkuun. Oletuksena sovellus kuuntelee porttia 5000/TCP, mutta tämä on toki vaihdettavissa helposti.

Sovelluksen testaaminen käytännössä

Kun olet käynnistänyt sovelluksen, voit kokeilla sen toimintaa kutsumalla sitä komentorivillä curl -komentoa käyttäen:

Sovellus vastaanottaa kutsun ja tulostaa konsoliin ilmoituksen siitä:

Palvelimen tallentama tiedosto pitäisi löytyä samasta hakemistosta, jossa sovellus on käynnistetty:

Tiedoston sisältä pitäisi myös löytyä kutsussa lähetetty data:


Lähteitä ja linkkejä

Flask https://flask.palletsprojects.com/

Python https://www.python.org/

curl https://curl.se/

Trivorelaisen päivä: Santeri on käyttöliittymien asiantuntija

Millaisia tyyppejä trivorelaiset oikein ovat, ja mitä meidän päiviimme kuuluu? Trivorelaisen päivä -juttusarjassa kurkistetaan aina yhden trivorelaisen työpäivään. Samalla kerromme, millainen polku on kaikilla Trivorelle johtanut.

Tammikuussa esittelemme Santerin, joka työskentelee Trivorella frontend-kehittäjänä.


Vuosi sitten Santeri asteli ensimmäisen kerran sisään Trivoren toimistolle. Takana olivat työt ohjelmistokehittäjän roolissa suurelle globaalille yritykselle.

”Olin jo pitkään miettinyt seuraavaa askelta uralleni. Trivorelta se löytyi helposti. Ystäväni suositteli minua, ja asiat etenivät helposti ja nopeasti muutaman keskustelun jälkeen [CEO] Karin ja [COO] Elinan kanssa”, Santeri kertoo.

Santeri toi taitonsa fullstack-kehittäjänä alun perin Trivoren EAKR-hankkeeseen ”Ensitunnistaminen kansainvälisenä kärkituotteena”. Hankkeen jälkeen Santeri on siirtynyt monipuolisten asiakasprojektien pariin.

Käyttöliittymien asiantuntija kiinnittää huomiota yksityiskohtiin

Santeri on fullstack-kehittäjä, mutta Trivorella hän toimii ensisijaisesti frontend developerina Trivore ID:n ja IAM:in parissa. Erityisesti Santerin fokus on kuitenkin saavutettavien, käyttäjäystävällisten ja monipuolisten käyttöliittymien kehittämisessä.

”Vastuullani on muun muassa Trivore ID:n vanhojen käyttöliittymien uudistaminen ja modernisointi. Lisäksi suunnittelen ja kehitän yhdessä backend-kehittäjien kanssa Trivore IAM:in käyttöliittymäkokonaisuuksia”, Santeri sanoo. ”Satunnaisesti työskentelen myös muissa kuin frontend-tehtävissä. Esimerkiksi vanhojen tuotteiden ylläpidossa hyppään myös backendin puolelle.”

”Kun kaikki palaset loksahtavat paikoilleen ja homma toimii laitteella kuin laitteella fiksusti, voi olla työnjäljestään ylpeä.”

Käyttöliittymäkehitys erityisesti Reactilla onkin muodostunut vuosien varrella Santerin erityisosaamiseksi. Käyttöliittymien kehittämisessä Santeri pitää tärkeänä, että projekti on suunniteltu hyvin. Visioiden tuominen konkreettisiksi ja oman työn jäljen näkeminen motivoivat.

”Kiinnitän paljon huomiota pieniin yksityiskohtiin, ja otan huomioon kaikessa käyttöliittymätekemisessä ylpeästi myös saavutettavuusvaatimukset”, Santeri toteaa. ”Huomioin UX:n eli käyttökokemuksen niin mobiilissa kuin isoillakin ruuduilla. Kun kaikki palaset loksahtavat paikoilleen ja homma toimii laitteella kuin laitteella fiksusti, voi olla työnjäljestään ylpeä.”

Käyttöliittymäsuunnittelussa ja frontendissä Santeri pitää erityisesti siitä, että inspiraatiota omaan tekemiseen on tarjolla runsaasti, ja asioita pääsee ajattelemaan käyttäjän näkökulmasta, eikä pelkästään pohtimaan teknistä toteutusta.

”Oman työn jäljen näkee heti, ja silmiä miellyttävän ja helppokäyttöisen käyttöliittymän kehittäminen on hyvin palkitsevaa.”

Monipuoliset projektit mahdollistavat uusien teknologioiden kokeilun

Santerille mieleen on se, että Trivorella kehitystyö on projektista riippuen hyvin vaihtelevaa. Projekteja on laidasta laitaan: on paljon vanhaa ylläpidettävää, mutta myös täysin uutta pääsee tekemään.

”Uudemmissa projekteissa, joissa työ aloitetaan täysin nollasta, on vapaat kädet tehdä isojakin päätöksiä ja mahdollisuus kokeilla uusia teknologioita”, Santeri kertoo. ”Vanhan ylläpidossa teknologiavalinnat on jo tehty, mutta refaktorointi ja asioiden uudelleenmiettiminen on niidenkin työstämisessä ollut täysin mahdollista.”

Kiehtovia ja sopivan haastavia käyttöliittymäprojekteja laidasta laitaan Santeri toivoo myös tuleviin Trivore-päiviinsä. Parhaan työpäivän resepti on Santerin mielestä lopulta yksinkertainen: kun päivälle on selkeät tavoitteet ja tarvittaessa voi uppoutua omaan tekemiseen ilman keskeytyksiä, on työpäivä onnistunut.

”Lisäksi toiveena on uusi frontend-työkaveri”, Santeri sanoo. ”Joku jolla on hyvää huumorintajua, taitoa katsoa asioita monesta eri näkökulmasta niin teknisesti kuin käyttäjätasollakin, sekä intoa oppia uutta ja kehittyä.”


Työkaverin terveiset

Santeri on käyttöliittymien rautainen osaaja ja aina valmis auttamaan muita. Buddynä hän auttoi minut alkuun Trivorella ja nopeasti ratkaisi kaikki ongelmat, joita hänelle heitin. Santeri löytää nopeasti ratkaisun pulmaan kuin pulmaan. Hänen kanssaan on mahtava tehdä töitä, sillä häneltä eivät ideat, avuliaisuus tai huumori lopu kesken.

-Asseri Heervä, Junior Developer


Santerin päivä

10:00 Santeri aloittaa päivänsä viestien tarkistuksella ja kahvilla.

10:30 ID-tiimin daily-palavereissa käydään läpi yhdessä päivän tavoitteet.

11:00 Tiketöinti kuuluu tärkeänä osana Santerin työpäiviin.

12:00 Lounas alakerran lounasravintolassa trivorelaisten porukalla.

13:00 Tuotekehitystä suunnitelmien ja tikettien pohjalta Trivore ID/IAM -projekteihin.

15:00 Keskustelua työkavereiden kesken työn alla olevista projekteista ja ideoiden pallottelua.

16:00 Merge requestien katselmoinnit ja hyväksynnät.

18:00 Santeri rentoutuu töiden jälkeen mieluiten striimauspalveluiden ja videopelien äärellä. Tällä hetkellä pelattavana on mahtava The Witcher 3: Wild Hunt.


Lähtisitkö Santerille työkaveriksi? Etsimme joukkoomme tällä hetkellä erityisesti Javaa taitavia devaajia. Lue lisää ja hae trivorelaiseksi!

Uudet trivorelaiset esittäytyvät: Jenni ja Jarno

Vielä vuoden lopulla trivorelaisten joukko ennätti kasvaa jälleen kahdella mahtavalla uudella osaajalla! Jenni ja Jarno kertovat, keitä ovat ja mitä tunnelmia ensimmäiset hetket Trivorella ovat herättäneet.


Jenni, ID specialist

 

Kuka olet ja mistä tulet?

Olen Jenni, yksi uusista ja ylpeistä trivorelaisista! Olen Turun AMK:sta toukokuussa tieto- ja viestintätekniikan insinööriksi valmistunut turkulainen.

Mikä Trivoressa veti puoleensa?

Olin aivan innoissani, kun kuulin että opiskeluajoilta tuttu trivorelainen Juhani oli suositellut minua Trivorelle! Tuntui hyvältä, että olin mieleen jäänyt noin positiivisesti ja olin kuullut yrityksestä paljon hyvää. Laitoin hakemuksen Trivoren COO Elinalle ja sovimme haastatteluajan.

Haastattelussa minulle selvisi melkoisen pian, että Trivore on yritys, työpaikka ja yhteisö, missä haluaisin ehdottomasti olla osana. Erityisesti minuun vetosi lämmin ilmapiiri, joka toimistolta huokui. Jo haastattelua seuraavana päivänä minulle soitettiin ja sain työtarjouksen. Meni varmaan lähemmäs viisi minuuttia, että oikeasti sisäistin mitään, koska olin aivan ällikällä lyöty ja innoissani, että minut halutaan siihen mahtavaan porukkaan, josta olen kuullut. Taisin tuijottaa puhelinta suu ja silmät apposen auki ensimmäisen puolisen minuuttia ja lopun keskustelua hymyilin niin, että poskia sattui melko hyvä tovi sen jälkeen. Hyväksyin tarjouksen siltä istumalta.

Mitkä asiat saavat sinut innostumaan työssäsi?

Innostun työssäni ongelmien ratkomisesta ja tietysti onnistumisesta, näin yleisesti.

Mitkä ominaisuutesi ovat erityisen hyödyllisiä uudessa työssäsi?

Järjestelmällisyys ainakin tulee mieleen. Olen myös nopea oppimaan ja sisäistämään uutta, mikä auttaa pääsemään jyvälle uudessa työssä.

Mitä odotat trivorelaisuudelta?

Se, mitä eniten toivon työpaikalta, on tavallaan toinen koti. Toki, työ on aina työtä ja kaikesta ei kuulukaan pitää, mutta enpä minä kotonakaan esimerkiksi pidä ikkunoiden pesemisestä tai ruoanlaitosta. Kotiin on silti kiva mennä. Tietynlainen yhteisöllisyys ja samanmielisten ihmisten kanssa toimiminen ovat myös asioita, mitä odotan.

Mikä on vapaa-ajalla kaikkein mieluisinta puuhaa?

Nyt on paha. Yhtä en osaa kyllä nyt valita, mutta vietän melko paljon aikaa tietokoneella pelaten erilaisia videopelejä ja toisaalta myös sohvalla katsellen elokuvia ja sarjoja tehden samalla ristipistotöitä tai kutoen. Ennen tein myös paljon palapelejä, mutta nykyään minulla on kolme kissaa. Niiden kanssa ei palapelejä tehdä.


Jarno, Key Account Manager

 

Kuka olet ja mistä tulet?

Olen Jarno Kuronen, Kankaanpään lahja ICT-maailmalle. Kankaanpäästä lähtöisin, mutkien kautta Turussa opiskellen ja vimoset 15 vuotta Auran suunnalla asustellen.

Mikä Trivoressa veti puoleensa?

Trivoressa veti puoleensa kehitystahti, se mitä on tehty parina viime vuonna. Yrityksen kasvu ja erityisesti ID-tuote.

Mitkä asiat saavat sinut innostumaan työssäsi?

Kollegoiden into ja asenne uuteen. Ammattimaisuus rentouden kera.

Mitkä ominaisuutesi ovat erityisen hyödyllisiä uudessa työssäsi?

Kokemus sekä teknologian ja liiketoiminnan tulkkaaminen yhteen.

Mitä odotat trivorelaisuudelta?

Mageeta seikkailua. Uusia kokemuksia uusien kollegoiden kanssa sekä hedelmällistä yhteistyötä asiakkaiden kanssa.

Mikä on vapaa-ajalla kaikkein mieluisinta puuhaa?

Jatkuva liike itseä haastaen, triathlon sivulajeineen. Klapinhakkuu, pihatyöt ja luonnosta nauttiminen.

Trivorelaisen päivä: Projektipäällikkö Kalle huolehtii, että projektit sujuvat suunnitellusti ja mielekkäästi

Millaisia tyyppejä trivorelaiset oikein ovat, ja mitä meidän päiviimme kuuluu? Trivorelaisen päivä -juttusarjassa kurkistetaan aina yhden trivorelaisen työpäivään. Samalla kerromme, millainen polku on kaikilla Trivorelle johtanut.

Marraskuussa esittelemme Kallen, joka työskentelee Trivorella projektipäällikkönä ja asiakkuusvastaavana.


Projektien hallintaan on Trivorella panostettu, ja prosesseja kehitetään jatkuvasti sekä asiakkaiden tarpeista että sisäisistä lähtökohdista käsin. Projektipäälliköiden ja asiakkuusvastaavien – tunnetaan meillä myös Key Account Managereina – määrää on myös kasvatettu aktiivisesti.

Kalle Luhtinen toimii projektipäällikkönä ja asiakkuusvastaavana Trivoren integraatiotiimissä. Projektipäällikön ja asiakkuusvastaavan tehtävissä Kallen tehtävänä on huolehtia, että kaikki kulkee sujuvasti ja suunnitelmien mukaan niin asiakkaan kuin Trivorenkin näkökulmasta. Kallen rauhallinen, tarkka ja huolellinen luonne ovat korvaamattomat projektipäällikön työssä. Hän nauttii asioiden organisoinnista ja esimerkiksi aikajanoista huolehtimisesta – Kalle onkin tunnettu toimiston Excel-mestarina.

”Integraatiotiimin projektipäällikkönä huolehdin muun muassa tiedonkulusta. Kokoonnumme esimerkiksi integraatiotiimin kanssa kerran viikossa säännöllisesti ja vedämme yhteen, mitä akuuttia tekemistä integraatioihin liittyen on minkäkin asiakkuuden kanssa”, Kalle kertoo. ”Tämän lisäksi toimin asiakkuusvastaavana yhdelle merkittävimmistä asiakkaistamme, Helsingin seudun liikenteelle. Heille teemme jatkuvasti integraatiokehitystä, ja tiimissä on mukana useita kehittäjiä.”

Asiantuntevaa projektijohtamista

Kallen työura on koostunut monipuolisesta projektityöstä, jonka ansiosta hänellä on vahva osaaminen projektien vetämiseen. Opiskelutaustastaan Kalle hyötyy nimenomaan IT-alan projektien parissa.

”Olen asunut jo yli puolet elämästäni Turussa. Muutin aikanaan Hämeestä Turkuun opiskelemaan Kauppakorkeakouluun tietojärjestelmätiedettä, ja tällä tiellä ollaan”, Kalle sanoo.

Kauppakorkeakouluun Kalle jäi vielä töihin valmistumisen jälkeen, jonka jälkeen hän on työskennellyt Turun seudun kehitysyhtiö Turku Science Park Oy:ssa. Tuolloin hän myös tutustui Trivoren COO Elina Maléniin, jonka kautta Kalle löysi tiensä Trivorelle.

Trivorella Kalle on alusta saakka työskennellyt erityisesti integraatiotiimin kanssa. Hän toimii usein Trivoren kehittäjien ja asiakkaan välissä, ja edustaa Trivorea muun muassa asiakaspalavereissa, jolloin kehittäjät voivat keskittyä enemmän varsinaiseen ohjelmistokehitykseen.

”Kaikista mielenkiintoisinta on tehdä yhteistyötä kehittäjän kanssa: kehittäjä tekee luonnollisesti varsinaisen koodaustyön, mutta koitan siinä sivussa taklata hidasteita, joita ovat muun muassa yhteyshenkilöiden metsästys, verkkoavausten tekeminen ja tiketöinti. Lisäksi tärkeää on kehittäjäresurssin allokoinnista ja riittävyydestä huolehtiminen sekä töiden priorisointi”, Kalle toteaa. ”Kehittäjämme saattavat tehdä töitä useammalle asiakkaalle, jolloin huolehdin siitä, että kaikki työt etenevät sovitulla tavalla.”

”Minun täytyy ymmärtää, mihin integraatioalusta pystyy. Yhteispeli projektipäällikön ja kehittäjien välillä on mielenkiintoista, koska samaa asiaa katsotaan kahdesta eri näkökulmasta”

Kommunikaatiota ja näkökulmien yhteensovittamista

Kalle suunnittelee aina edeltävänä päivänä työpäiviensä ohjelman, jolloin päivä harvemmin alkaa yllätyksillä.

”Yleensä päivän alussa on aina muutamia kysymyksiä tai asioita, jotka vaativat omatoimista pureksintaa ja työstöä, sekä asiantuntija-apua joltain kollegalta”, Kalle kertoo.

Kallelle jokapäiväistä työtä ovat muun muassa akuuttien työtilanteiden läpikäynti kehittäjien kanssa sekä asiakaskommunikointi ja -viestintä eri kehitystöistä. Sellaiset päivät ovat Kallella poikkeuksia, joissa palavereita olisi vähemmän kuin muutama.

Kallen palaverit koostuvat asiakaspalavereista sekä sisäisistä palavereista tiimin tai yksittäisten trivorelaisten kanssa. Asiakaspalavereissa käydään yleensä läpi joko yleisten asioiden kulkua tai jonkin tietyn integraation teknisempää edistämistä. Tärkeintä on, että tieto välittyy tehokkaasti oikeille ihmisille.

Vaikka projektipäällikkönä Kallen tehtäviin eivät varsinaisesti kuulu tekniset asiat, ymmärrystä myös teknisestä puolesta kertyy joka viikko.

”Minun täytyy ymmärtää, mihin integraatioalusta pystyy. Yhteispeli projektipäällikön ja kehittäjien välillä on mielenkiintoista, koska samaa asiaa katsotaan kahdesta eri näkökulmasta”, Kalle sanoo. ”Käytännössä työtäni on sovittaa yhteen teknistä ja ei-teknistä näkemystä.”

Töiden jälkeen Kalle rentoutuu monipuolisen liikunnan parissa. Tennis on Kallen ykköslaji, jossa hän on kilpaillut lapsesta lähtien. Aivan uudenlaisen muodon vapaa-aika sai vuosi sitten.

”Meillä on kotona juuri yhden vuoden täyttävä pikkunassikka, joten vaunukävelyt puistossa ovat nyt kova juttu!”


Työkaverin terveiset

Kalle on luotettava ja hauska työkaveri sekä integraatiotiimin erinomainen projektipäällikkö, joka ei pelkää uuden oppimista.

Tiimimme on kasvanut paljon ja teknologialustoja on uudistettu merkittävästi, minkä ansiosta toiminta on laadukkaampaa ja tehokkampaa. Yhteishenki on parempi kuin koskaan. Kallen rauhallinen ja määrätietoinen ote on tässä ollut merkittävässä roolissa.

Kalle on kaikin puolin huikea tyyppi.

– Sebastian Bröckl, Senior Developer


Kallen päivä

8:30 Kalle saapuu töihin mieluiten pyörällä. Päivä alkaa aina edellisenä päivänä tehdyn suunnitelman mukaan.

9:00 Asiakaspalaveri, jossa käydään läpi uuden tilattavan integraation määrittelyjä.

10:30 Tiimin weekly-palaveri, jossa käydään läpi integraatioprojektien ajankohtaiset tilanteet.

11:00 Tiimipalaverissa nousseiden asioiden purkamista ja keskustelussa nousseiden tarpeiden hoitamista.

11:30 Lounastauko, johon Kallella on useimmiten eväät mukana. Lounasseuraa löytyy aina Trivoren ruokailutilasta.

12:00 Sisäinen palaveri, jossa käydään läpi integraatioalustan tuotekehitystä kehittäjien kanssa.

13:00 Tiketöintiä niin, että kehittäjien työjonot olisivat mahdollisimman selkeät.

14:00 Taustatyötä tarvittavaan uuteen integraatioprojektiin.

16:30 Töiden jälkeen Kallen aika kuluu perheen ja urheilun parissa.


Lähtisitkö Kallelle työkaveriksi? Etsimme joukkoomme tällä hetkellä erityisesti Javaa taitavia devaajia. Lue lisää ja hae trivorelaiseksi!

Asiantuntijalta: Katsaus Apache Kafkaan

Trivoren asiantuntija Stefan Roos kirjoittaa Apache Kafkasta, joka on kiinnostava tietovirtojen kuljetukseen suunniteltu alusta. Alunperin LinkedInin käyttöön suunniteltua alustaa on sittemmin hyödynnetty laajemminkin ohjelmistokehityksessä, mukaan lukien erinäisissä Trivoren projekteissa.


Kirjoittajasta

Stefan Roos toimii Trivoren Product Technical Leadina. Työssään hän toimii erityisesti integraatioiden ja Trivoren IAM-järjestelmän parissa sekä Trivoren johtoryhmän jäsenenä.


Mikä Apache Kafka käytännössä on? 

Apache Kafka on alunperin vuonna 2011 tietovirtojen kuljetukseen suunniteltu alusta. Se suunniteltiin LinkedInin käyttöön sen sisäisten viestien välittämiseksi. (Li 2020; Koutanov 2020.) Tapahtumien kuljettaminen tietovirroissa (event streaming) voidaan kuvata vastaavaksi, kuin mitä ihmisen hermostossa tapahtuu. Kafkaa voisikin siis sanoa digitaaliseksi versioksi keskushermostosta (Apache Kafka, 2022).

Kafkaa voidaan käyttää muun muassa publish-subscribe-mallin viestinvälitykseen, lokien aggregointiin, lokien edelleenlähetykseen (log shipping), asynkronisiin yhteyksiin (SEDA), monimutkaisten tapahtumien prosessointiin (CEP) sekä tapahtumapohjaiseen komento-kyselyvastuun segrekointiin (Event-sourced CQRS) (Koutanov 2020). Kafkaa voidaan käyttää viestikanavana, sovellusten integrointiin, datastorena, tietovirtojen käsittelyjärjestelmiin sekä skaalautuvien ja vikasietoisten mikropalveluiden rakentamiseen (Shapira 2017).

Koutanovin (2020) mukaan Kafka-järjestelmä tarvitsee useita komponentteja toimiakseen oikein.

Avainkomponentit ovat:

  • Brokerit – vastuussa varsinaisista IO-operaatiosta sekä datan persistoinnista
  • Zookeeperit – vastuussa kafka-klusterin tilasta ja sen kontrolloinnista.
  • Producer – asiakasjärjestelmiä/-sovelluksia, jotka tuottavat dataa jonoihin.
  • Consumerit – asiakasjärjestelmiä/-sovelluksia, jotka noutavat dataa jonoista. (Koutanov 2020.)

Messetti (2022) kirjoittaa kuitenkin, että näistä komponenteista Zookeeper voidaan jatkossa jättää pois, sillä Kafkan sisälle toteutettu KRaft-protokolla hoitaa siihen liittyvät tehtävät jatkossa. Uusimmissa versioissa Kafkasta ei siis ole enää tarvetta käyttää ulkopuolista palvelua klusterin metatietojen välitykseen. Tämä muutos käytännössä yksinkertaistaa Kafka-klusterin rakennetta sekä parantaa sen skaalautuvuutta.

Avainkonseptit Kafkan käyttämisessä ovat topicit (aihe) sekä partitiot. Topic tarkoittaa kafkassa käytännössä yhtä jonoa, johon voidaan dataa viedä tai noutaa. Jono voidaan sisäisesti jakaa useiksi partitioiksi. Jokainen partitio on käytännössä järjestetty sarja tietueita (record). Voimme kutsua näitä myös viesteiksi.

Tietueilla on sijainti (offset) ja sillä voi olla myös avain sekä arvo. Koska partitiot ovat täysin järjestettyjä (ordered), on varmuus siitä, että consumer saa viestit/tietueet siinä järjestyksessä, kun producer on ne lähettänyt. Kafkassa on myös tae siitä, että kaikki lukevat viestit aina samassa järjestyksessä. Tämä on hyvin tärkeää suurelle osalle sovelluksista. Huomioitava on kuitenkin, että jos on kyse tilanteesta, jossa on useita producereita, voivat ne lähettää samanaikaisesti viestejä samalle partitiolle, eikä näin ollen ole taetta siitä, että producereiden kesken viestit olisivat oikeassa järjestyksessä. (Koutanov 2020.)

Topic kattaa siis joko yhden tai useamman partition: se on siis looginen kokoelma partitioita. Jokainen partitio voi olla vain tasan yhdessä topicissa. Topicit ovat hyvin tärkeä osa Kafkan rakennetta ja toiminnallisuutta. Ne mahdollistavat muun muassa sovellusten kuormantasauksen sekä rinnakkaisuuden. (Koutanov 2020.)

Avainkonseptit Kafkan käyttämisessä ovat topicit (aihe) sekä partitiot. Topic tarkoittaa kafkassa käytännössä yhtä jonoa, johon voidaan dataa viedä tai noutaa. Jono voidaan sisäisesti jakaa useiksi partitioiksi. Jokainen partitio on käytännössä järjestetty sarja tietueita (record). Voimme kutsua näitä myös viesteiksi.

Producerit määrittelevät, mitä tietueita voidaan samanaikaisesti käsitellä, ja mitä on käsiteltävä lineaarisesti. Kun tuottaja luo tietueita, se voi määritellä avaimen tietueelle, jonka perusteella tietueet voidaan sijoittaa siten samaan partiotioon. Tämä takaa sen, että tietueet ovat järjestyksessä. Kafka vastaanottaessaan tietueen laskee tiivisteen (hash) avaimelle ja sijoittaa sitten tietueen oikeaan partitioon sen mukaisesti. (Koutanov 2020.)

Consumerit saavat dataa tilaamalla tietyn topicin ja liittymällä kuluttajaryhmään (consumer group). Kun consumer tilaa tällaisen topicin, saa se aluksi kaikki topicissa olevat partitiot käyttöönsä, mikäli muita consumereita ei ole. Tämän jälkeen seuraava liittyvä consumer saa puolet partitioista, eli näin saadaan jaettua kuormitusta järjestelmässä. Vastaavasti consumerin poistuessa jaetaan sillä olleet partitiot muille, vielä mukana oleville consumereille samassa ryhmässä. Kafka takaa, että kuluttajaryhmän sisällä ei koskaan anneta samaa partitiota useammalle kuin yhdelle consumerille. Useat kuluttajaryhmät voivat toki käyttää samaa topicia. (Koutanov 2020.)

Huomion arvioista Kafkassa on se, että tietueen lukeminen ei poista sitä järjestelmästä. Consumerit eivät voi siis poistaa dataa lainkaan jonoista/topiceista tai partitioista. Topicia voi muokata ainoastaan producer itse. Consumereilla on tieto lukemisen sijainnista (offset), jonka perusteella ne tietävät, mistä kohtaa luetaan seuraava tietue.

Kafka oletuksena tekee automaattista offsetin tallennusta 5 sekunnin välein. Tämä on kuitenkin useille sovelluksille huono vaihtoehto, koska datan käsittely voi olla vielä kesken. Jos siis operaatio epäonnistuu täysin ja consumer kaatuu, pitäisi sen seuraavalla kerralla yrittää käsitellä samaa tietuetta, mutta offset kertoo sen olevan jo käsitelty. On siis usein hyvä vaihtoehto muuttaa asetus enable.auto.commit asentoon false. (Koutanov 2020.)

Miten Kafka eroaa perinteisistä viestijonojärjestelmistä?

Kafka tarjoaa käytännössä yleisemmän mallin viestien välitykseen kuin monet muut järjestelmät. Kafkassa voidaan yhtä ja samaa topicia käyttää usean kaltaiseen tarkoitukseen useille erilaisille consumereille. Toinen mielenkiintoinen ero on se, että kafkasta viestit eivät oletuksena poistu, kun ne luetaan. Monissa muissa viestijärjestelmissä viesti poistuu, kun joku kuittaa sen käsitellyksi. (Koutanov 2020.)

Kafka on optimoitu suurelle määrälle viestien käsittelyä. Se kykenee kevyesti käsittelemään miljoonia viestejä sekunneissa. Yksi syy tähän on juuri se, että Kafka ei poista käsiteltyjä viestejä. Tämä ominaisuus poistaa levyoperaation, joka hidastaisi järjestelmää. Kafka myös käsittelee tietueita erissä, jolloin käsittely on tehokkaampaa. Tärkeä huomio on myös se, että Kafka ei synkronoi levylle asti tietueita ennen kuin se kuittaa producerille vastaanottamisesta, vaan se vie tietueen vain puskurille asti. (Koutanov 2020.)

Miinuspuolina Kafkan käyttöön voidaan nähdä esimerkiksi mahdollinen latenssi viestien välityksessä. Kafka on optimoitu suuren viestimäärän kuljettamiseksi, mutta ei varsinaisesti pienelle latenssille producerin ja consumerin välillä. Kafkan optimointiin on myös hyvin suuri määrä erilaisia parametreja, mikä voi tuntua etenkin vasta-alkajista hurjalta. Kafkan oletusasetukset voivat olla myös turvattomat joillekin sovelluksille. (Koutanov 2020.)

Turvallisuus ja autentikointimahdollisuudet

Entä turvallisuus ja autentikointimahdollisuudet? Kafka tukee TLS:n versiota 1.2, joten liikenne eri tahojen välillä saadaan turvattua. Tämän lisäksi on mahdollista konfiguroida SASL-pohjainen autentikointi (Kerberos,OAuth, SCRAM, yms). Autentikoinnin lisäksi Kafka tukee ACL:iä tarkemman autorisoinnin määrittelemiseksi. (Koutanov 2020.)

Carder (2022) esittää viisi erinomaista käytännön toimea, joilla saadaan varmistettua hyvä turvallisuus Kafkan kanssa.

  1. Autentikointi on syytä aktivoida Kafkassa.
  2. Kaikki yhteydet tulee salata. Yksi helppo ratkaisu tämän toteuttamiseksi ovat LetsEncrypt-sertifikaatit.
  3. Päivitetään järjestelmä säännöllisesti.
  4. Aktivoidaan ja konfiguroidaan ACL:t, eli pääsynhallintalistat
  5. Ei turhaan pelätä hankalampiakin tietoturvaa parantavia asioita, kuten SELinux. SELinux liian usein kytketään sallivaan tilaan tai jopa kokonaan pois päältä. Sen käyttäminen kuitenkin tuo lisäturvaa.

Käyttäjät eri rooleissa

Shapiran (2017) mukaan Kafkan käyttöön tutustumisessa on järkevä huomioida rooli, jossa olet Kafkan kanssa tekemisissä. Eri rooleissa olevat henkilöt operoivat eri tavoin Kafkan kanssa. Sovelluskehittäjät tarvitset jonkinlaisen kirjaston tyypillisesti Kafka topicien käyttämiseksi sovelluksessaan. On suositeltava luoda jokin pieni harjoitusprojekti, jossa kokeilee ensin sopivaa Kafka-kirjastoa. Soton (2022) mukaan Quarkuksessa on erinomainen tuki Kafkan käyttämiseksi. Quarkus on koko pinon kattava (full-stack) Kubernetes-natiivi Java-sovelluskehityksen sovelluskehys (framework). Soto (2022) kuvaa kirjoituksessaan kattavasti, miten Kafkaa käyttävän Quarkus-sovelluksen voi luoda.

Sysadminit taas joutuvat operoimaan varsinaisen Kafka-instanssin kanssa, eli huolehtimaan siitä, että se on ajossa, tarkistamaan sen lokeja sekä valvomaan sitä esimerkiksi JMX:n kautta. Tietovarastojen kanssa työskentelevät ihmiset taas ovat kiinnostuneita siitä, että tieto kulkee luotettavasti Kafkan kautta esimerkiksi MySQL-teitokannasta johonkin toiseen tietovarastoon. (Shapira 2017.) 


Lähteet

Apache Kafka 2022. Dokumentaatio. Saatavilla https://kafka.apache.org/documentation/ Viitattu 14.11.2022.

Carder J. 2022. OpenLogic. https://www.openlogic.com/blog/apache-kafka-best-practicessecurity Viitattu 21.11.2022. 

Koutanov E. 2020. Medium. Saatavilla https://medium.com/swlh/apache-kafka-in-a-nutshell-5782b01d9ffb Viitattu 14.11.2022.

Li S. 2020. He Left His High-Paying Job At LinkedIn And Then Built A $4.5 Billion Business In A Niche You’ve Never Heard Of. Forbes. https://www.forbes.com/sites/stevenli1/2020/05/11/confluent-jay-kreps-kafka-4-billion-2020/ Viitattu 14.11.2022.

Messetti A. 2022. Apache Kafka 3.3 Replaces ZooKeeper with the New KRaft Consensus Protocol. https://www.infoq.com/news/2022/10/apache-kafka-kraft/ Viitattu 15.11.2022

Shapira G. 2017. Apache Kafka: Getting Started. Saatavilla https://www.confluent.io/blog/apache-kafka-getting-started/ Viitattu 14.11.2022.

Soto A. 2022. Getting Started to Quarkus Reactive Messaging with Apache Kafka. https://www.infoq.com/articles/data-with-quarkus-kafka/ Viitattu 14.11.2022

Trivorelaisen päivä: Developer Arttu räätälöi asiakaskohtaisia integraatioita

Millaisia tyyppejä trivorelaiset oikein ovat, ja mitä meidän päiviimme kuuluu? Trivorelaisen päivä -juttusarjassa kurkistetaan aina yhden trivorelaisen työpäivään. Samalla kerromme, millainen polku on kaikilla Trivorelle johtanut.

Lokakuussa esittelemme Artun, joka työskentelee Trivoren integraatiotiimissä Developerina.


Trivoren Developer Artun työpöydällä ovat monet asiakkaan tarpeisiin räätälöidyt integraatiot. Erilaisia integraatioita työstäessä työpäivissä on mielenkiintoista vaihtelua.

Arttu valmistui Turun AMK:sta vuonna 2020 tieto- ja viestintätekniikan insinööriksi. Arttu halusi nopeasti valmistumisen jälkeen koulutustaan vastaavalle alalle, ja tie johti työkokeiluun Trivorelle. Työkokeilun kautta Arttu löysi nopeasti oman paikkansa Trivoren integraatiotiimissä.

Developerina Artun työhön kuuluvat ensisijaisesti integraatioiden kehityksen lisäksi speksaus, dokumentaatioiden päivittäminen, mahdollisten ongelmien selvitystyöt sekä asiakaspalaverit.

”Mielekkäimpiä töitä itselleni ovat selkeät koodaustyöt – mieluiten sellaiset, jotka aluksi näyttävät hieman haastavilta, mutta pienen tutkimisen ja miettimisen jälkeen toteuttaminen onnistuu”, Arttu kertoo.

Vapautta työpäivän rakentamisessa

Työskentely Trivoren integraatioalustan parissa on ollut Artulle mukavaa ja kiinnostavaa.

”Vieläkin tuntuu, että ainakin kerran viikossa pääsee oppimaan jotain uutta”, Arttu toteaa.

Artun päiviin kuuluu enimmäkseen varsinaista ohjelmistokehitystä. Lisäksi työhön kuuluu asiakkaiden ja projektipäälliköiden kanssa kommunikointia, sekä sen varmistamista ja valvomista, että Artun tekemät integraatiot pyörivät halutulla tavalla testi- ja tuotantoympäristöissä.

Työpäivissä ja oman työn suunnittelussa on Trivorella paljon vapautta. Arttu on aikatauluttanut päivänsä omaan rytmiinsä parhaiten sopiviksi.

”Yleensä aamulla ja aamupäivällä olen produktiivisin, joten keskityn silloin mahdollisimman paljon kehitystyöhön. Pienemmät tai vähemmän intensiivistä keskittymistä vaativat työt, kuten ei-kiireellisiin sähköposteihin vastaamiset ja dokumentaation päivittämiset, pyrin keskittämään aina työpäivien viimeisille tunneille”, Arttu tiivistää.

”Nautin selkeydestä ja siitä, kun asiat tulevat valmiiksi – tai ainakin sellaiseen pisteeseen, että on selvää, miten hommat jatkuvat seuraavana päivänä.”

Arttu viihtyy hyvin nykyisessä työnkuvassaan Trivorella. Tulevaisuudelta hän odottaa erilaisten projektien ja asiakkuuksien kanssa työskentelyä, sillä Arttu kokee, että erilaisten ihmisten ja asioiden kanssa työskennellessä pääsee aina kehittämään myös itseään.

Arttu tuo tärkeän panoksen Trivoren tekemiseen. Hän on ahkera tekijä ja nopea oppija, jolta hoituu tehtävä kuin tehtävä. On ollut ilo saada Arttu työkaveriksi ja trivorelaiseksi!

– Kari Mattsson, CEO

Artun päivä

8:00 Arttu aloittaa päivät mielellään aikaisin. Aamut ja aamupäivät hän pyrkii varaamaan kehitystyölle. Työpöydällä on esimerkiksi asiakkaalle räätälöitäviä integraatioita.

11:30 Lounastaukoa Arttu viettää usein muiden eväiden syöjien kanssa Trivoren ”ruokaneukkarissa”, joka on lounasaikaan pyhitetty eväshetkelle.

12:15 Lounaan jälkeen Arttu jatkaa kehitystyötä asiakkaan kanssa kommunikoiden.

14:00 Dokumentaation päivitystä. Trivorella dokumentaatio kuuluu tärkeänä osana kaikkeen tekemiseen.

15:30 Ei-kiireellisiin sähköposteihin vastaamista sekä seuraavan työpäivän tehtävien valmisteluja.

16:15 Vapaa-ajallaan Arttu nauttii sekä jalkapallon katsomisesta (Arsenal <3) että pelaamisesta (Unathletic Club De Raisio <3). Lisäksi vapaa-aikaan kuuluu kavereiden kanssa videopelien pelaamista, lukemista, erilaista liikuntaa sekä YouTuben katselua.


Lähtisitkö Artulle työkaveriksi? Lue lisää Trivoresta työpaikkana: Töihin Trivorelle.

Trivorelaisen päivä: Senior Developer Martti on integraatioiden asiantuntija

Millaisia tyyppejä trivorelaiset oikein ovat, ja mitä meidän päiviimme kuuluu? Trivorelaisen päivä -juttusarjassa kurkistetaan aina yhden trivorelaisen työpäivään. Samalla kerromme, millainen polku on kaikilla Trivorelle johtanut.

Syyskuussa esittelemme Martti Niemen, joka työskentelee Trivoren integraatiotiimissä Senior Developerina.


Uuden kehittäminen ja testaus on kiehtonut Marttia jo kauan. Tämä näkyi aikanaan jo opintojen aikana, jolloin Martti liittyi pelintekijäporukkaan.

”Teimme unitylla mobiili- ja tablettipelejä. Itse tein pääasiassa 2D/3D-assetteja ja testausta”, Martti kertoo.

Ohjelmistotuotantoa DI-linjalla Turun yliopistossa opiskellut Martti löysi myös tiensä Trivorelle epäsuorasti opintojen kautta lähes viisi vuotta sitten, vuoden 2018 keväällä.

”Tein kandini ohjelmistorobotiikasta. Kun etsin kesätöitä, kandini aihe herätti alan projektissa kiinnostusta. Haastattelun jälkeen projektin vetäjä suositteli minut Trivoren toimitusjohtaja Karin luo haastatteluun. Kesätyöstä Trivorella kehittyi sitten vakituinen paikka”, Martti muistelee.

Työpöydällä mikropalveluiden teko alusta loppuun

Martin vastuualue Trivoren Senior Developerina keskittyy erityisesti integraatio- ja mikropalveluiden full stack -kehitykseen.

Trivore tarjoaa asiakkailleen täysin Trivorella suunniteltua, kehitettyä ja ylläpidettyä integraatioalustaa. Trivore hyödyntää integraatioissaan modernia mikropalveluratkaisua, joka tekee integraatioista ketterämmin kehitettäviä ja päivitettäviä kuin perinteisistä integraatioista. Integraatioita Trivorella tehdään laajasti erilaisiin tarkoituksiin. Trivorella on tälläkin hetkellä ajossa yli 400 integraatiota, joiden avulla mahdollistetaan asiakkaille uudenlaisia liiketoimintaratkaisuja ja helpotetaan esimerkiksi asiakkaiden palveluiden käyttäjien arkea.

Integraatiot toteutetaan aina asiakkaiden tarpeista lähtien. Kommunikaatio asiakkaiden kanssa onkin keskeinen osa Martin jokaista työpäivää. Integraatioprojektit sisältävät niin paljon erilaisia työvaiheita, että työpäivissä riittää kiinnostavaa vaihtelua.

”Teen mikropalveluita alusta loppuun. Tähän kuuluu muun muassa asiakkaan ja tiimin kanssa kommunikoimista, suunnittelu- ja kehitystyötä, testaukset, tuotantojulkaisut, dokumentaatio sekä ylläpitotoimenpiteet”, Martti summaa.

Kaikkein mieluisinta tekemistä Martille on aina uuden projektin arkkitehtuurisuunnittelu- ja kehitys.

”On mukavaa ottaa käyttöön uutta teknologiaa ja ratkaisuja uusissa haasteissa”, Martti toteaa.

Tärkeää Martille on myös hyvä tiimityö. Mukavan työpäivän kulmakivenä onkin hyvä tasapaino työrauhan ja tiimin tuen välillä. Lisäksi kehitystyössä puhalletaan vahvasti yhteen hiileen.

”Prosesseja ollaan yhteistuumin koko ajan kehittämässä. Trivorella ei olla jymähdetty paikalleen, vaan mennään aina eteenpäin”, Martti kertoo. ”Kehitystyöstä mielekästä tekevät yhtenevät, kehittyvät arkkitehtuurit. Meillä kaikilla on samat rakennuspalikat käytössä.”


Olen tällä hetkellä työstämässä Martin kanssa uutta projektia. Projekti on lähtenyt hänen kanssaan hyvin käyntiin ja Martista on huomattava apu erityisesti ohjelmiston suunnittelussa. Lisäksi Martin kyky piirtää järjestelmän kaavioita ja kuvia on vertaansa vailla. Uskon, että tulemme Martin kanssa onnistumaan hyvin tämän projektin saattamisessa tuotantoon asti.

– Miika Vesti, Senior Developer


Martin päivä

9:00 Martin päivä alkaa toimistolla kahvin ja päivän tehtävien läpikäynnillä.

10:00 Integraatiotiimin weekly-palaverissa käydään porukalla läpi, miten kaikkien tiimiläisten hommat etenevät, kaipaako joku tukea jossakin, tai mitä yhteisiä kehitysideoita on herännyt.

11:00 Asiakaspalaverissa käsitellään projektin etenemistä ja sovitaan jatkoaskeleet.

12:00 Ruuanlaitosta pitävä Martti suosii itsetehtyjä lounaita.

12:45 Riittävän pitkä, keskeytyksetön aika integraatioiden kehitystyölle on tärkeää.

17:00 Vapaa-ajallaan Martti mieluiten piirtää, kokkaa ja pelaa. Mieluisimpia pelejä ovat rakennus- ja sivilisaatiopelit.


Lähtisitkö Martille työkaveriksi? Lue lisää Trivoresta työpaikkana: Töihin Trivorelle.

Trivorelaisen päivä: Senior Developer Antti on Trivoren kokenut tuotekehittäjä

Millaisia tyyppejä trivorelaiset oikein ovat, ja mitä meidän päiviimme kuuluu? Trivorelaisen päivä -juttusarjassa kurkistetaan aina yhden trivorelaisen työpäivään. Samalla kerromme, millainen polku on kaikilla Trivorelle johtanut.

Elokuussa esittelemme Antti Kallion, joka työskentelee Trivoren ID-tiimissä Senior Developerina.


Trivoren Senior Developer Antti innostui tietokoneista nuorena, ja muodostui nopeasti myös uraksi.

Tällä hetkellä Antin päivät kuluvatkin monipuolisten ohjelmisto- ja tuotekehitystehtävien parissa. Erityisen merkittävä rooli Antilla on Trivore ID:n ja Trivoren IAM-ratkaisun kehittämisessä ja ylläpitämisessä. Lisäksi Antti työskentelee paljon muun muassa MySync-palvelun sekä Trivoren oman työajanseurantasovelluksen kehityksen ja ylläpidon parissa.

Antti on valmistunut Turun ammattikorkeakoulusta tietotekniikan insinööriksi. Jo opintojen aikana Antti alkoi tehdä IT-tukihommia ja konsultointia yksinyrittäjänä tutuille firmoille. Opintoihin kuuluva työharjoittelupaikka löytyi Trivorelta 15 vuotta sitten, vuonna 2007.

“Harjoittelun jälkeen sain vakituisen työpaikan trivorelaisena. Tein myös opinnäytetyöni liittyen harjoitteluaikana aloitettuun projektiin, jonka parissa menivätkin seuraavat vuodet”, Antti muistelee.

”Kaikkein parhaita tilanteita ovat ne, joissa on selvät sävelet tavoitteen suhteen. Silloin voin keskittyä parhaiden ratkaisuvaihtoehtojen löytämiseen, valitsemiseen ja toteuttamiseen.”

 

Tuotekehitystä, projektityöskentelyä ja ratkaisujen etsintää

Kun Antti aloitti Trivorella, trivorelaisia oli paljon nykyistä vähemmän. Toiminta ja tekijöiden määrä ympärillä on kasvanut, mutta Antin työn ytimessä ovat pysyneet samat elementit: ohjelmointi, suunnittelu ja muut korkeimman tason asiantuntijatehtävät.

Työssään hän pääsee toteuttamaan monenlaisia, vaihtelevia projekteja. Hänellä on usein tekninen päävastuu.

”Projekteissa, joissa olen ollut mukana alusta asti – tai porukasta pisimpään mukana – saan tekemiseen paljon vapautta. Keskityn yleensä yhteen vaativaan projektiin ja sivussa teen pienempiä kokonaisuuksia”, Antti kertoo. ”Lisäksi, jos huomaan ongelmia, niin autan mielelläni löytämään ratkaisuja.”

Antilla on laaja käsitys Trivoren eri tuotteista ja tuotekehityksestä, ja hän on myös yleensä mukana uusien ominaisuuksien suunnittelussa. Pääsääntöisesti päivät kuluvat osana ID-tiimiä, jossa Antti työstää muun muassa asiakkaiden tarpeista lähteviä uusia ominaisuuksia sekä tekee jatkuvaa tuotekehitystä Trivoren identiteetin- ja pääsynhallintatuotteeseen.

”Tässä työssä lähes aina on erilaisia epävarmuustekijöitä, joista ei pääse eroon. Kaikkein parhaita tilanteita ovat kuitenkin ne, joissa on selvät sävelet tavoitteen suhteen. Silloin voin keskittyä parhaiden ratkaisuvaihtoehtojen löytämiseen, valitsemiseen ja toteuttamiseen. Lopulta voi olla tyytyväinen lopputulokseen, jonka tietää vastaavan tunnistettuja tarpeita”, Antti kertoo. ”Mitä saammekin aikaan, sen tulee aina sopia tilanteeseen ja tehdä asiakkaasta tyytyväinen.”

Vaikka työpäivien sisältö vaihtelee projektien mukaan, kaksi asiaa tekevät Antin mukaan työpäivästä aina mukavan: työkaverit ja leppoisa meininki.


Työkaverin terveiset:

Antti on ollut tärkeänä apuna yhteisissä projekteissa. Hänen kanssaan pystyy luontevasti pallottelemaan ideoita, suunnittelemaan isompiakin uusia kokonaisuuksia ja ratkomaan ongelmatilanteita. Antilta eivät ideat lopu kesken ja hän keksii nokkelan ratkaisun ongelmaan kuin ongelmaan. Antti on osaamiseltaan omassa luokassaan, ja on mahtavaa tehdä hänen kanssaan yhteistyötä.

– Santeri Elo, Developer


Antin päivä:

9:30 Työpäivä alkaa toimistolla työviestien lukemisella ja vastailulla. Ensisijaisina viestintäkanavina ovat erilaiset chat-palvelut, toisinaan myös perinteinen sähköposti.

10:30 ID-tiimin daily, jossa tiimin jäsenet kertovat, mitkä ovat jokaisen henkilökohtaiset suunnitelmat päivälle.

10:45 Erilaisten tuotekehitystyökalujen ja niiden tilan tarkastelu, esimerkiksi tiimiläisten tekemät muutokset Gitlabissa.

12:30 Tauko

13:00 Tuotekehitystä, eli ohjelmointia ja dokumentaatiota. Joinain päivinä myös asiakkaiden ja muiden ohjelmistokehittäjäosapuolten kanssa etäkokouksia, joissa käsitellään palautetta tuotteista, kehitystarpeita ja tukipyyntöjä.

17:30 Vapaa-ajallaan Antti rentoutuu podcasteja ja musiikkia kuunnellen ja YouTubea katsellen.