Tuukka Haapasalo

Toteuttava ohjelmisto­arkkitehti.

Suunnittelen taustajärjestelmien ja sovellusten arkkitehtuurin ja toteutan niitä myös itse. Näin olen mukana koko kehityssyklin ajan, ensimmäisistä luonnoksista tuotantoon asti. Käytän tekoälytyökaluja päivittäin. Asiantuntijatason tulos edellyttää, että osaa arvioida, mitä tekoäly tuottaa, ja tämä taito on syntynyt vuosikymmenten ohjelmistotyössä. Olen ollut IT-alalla vuodesta 1998 ja Reaktorilla vuodesta 2016. Sitä ennen työskentelin HiQ:lla ja tietokantatutkijana Aalto-yliopistossa. Tekniikan tohtori.

tuukka.haapasalo@gmail.com linkedin.com/in/thaapasa github.com/thaapasa +358 40 706 3785 Helsinki Päivitetty lokakuussa 2026
Tuukka Haapasalo

2016 –

Reaktor

Ohjelmistoarkkitehti

Teen Reaktorin asiakasprojekteja arkkitehtina ja kehittäjänä. Olen yleensä mukana samassa projektissa vuosia ja vastaan tekemistäni ratkaisuista myös tuotannossa ja jatkokehityksessä.

2023 –

IQM Resonance

IQM Resonancen kautta asiakkaat ja tutkijat ajavat laskentatöitä IQM:n kvanttitietokoneilla. Julkisena pilvipalveluna alkanut järjestelmä on nyt käytössä myös IQM:n asiakkailleen myymissä kvanttitietokoneissa. Vuonna 2026 julkisessa käytössä on kolme konetta, joista suurimmassa on 54 kubittia.

Olen ollut mukana toteutuksen alusta asti. Suunnittelimme suurimman osan arkkitehtuurista yhdessä työparini kanssa. Olen tehnyt palvelun käyttöliittymiä ja taustapalvelinta, joka asettaa kvanttityöt jonoon ja välittää ne koneille. Kun Python-toteutuksen suorituskyky ja ylläpidettävyys eivät enää riittäneet, kirjoitimme palvelimen uudelleen Rustilla. Tiimin koko on vaihdellut noin viidestä viiteentoista henkeen.

  • Rust
  • axum
  • PostgreSQL
  • React
  • TypeScript
  • Python

2018 – 2023

Telia Dot

Telia Dot on täysin digitaalinen mobiilioperaattori, jonka rakensimme Telialle. Se toimii Telian matkapuhelinverkon ja taustajärjestelmien päällä. Asiakas hallitsee liittymäänsä kokonaan mobiilisovelluksella.

Tulin projektiin toteutusvaiheen alussa. Tiimissä oli noin viisitoista henkeä, ja suunnittelimme alkuperäisen arkkitehtuurin yhdessä. Sen jälkeen ihmiset vaihtuivat, mutta minä jäin. Vuosien mittaan minusta tuli kehittäjä, joka tunsi koko järjestelmän ja ohjasi sen arkkitehtuuria. Toteutin lähes jokaista osaa: liittymien provisiointia verkkoon, laskutusta, integraatioita kymmeniin vanhoihin taustajärjestelmiin, asiakaspalvelun sisäistä työkalua, asiakkaiden mobiilisovellusta sekä tapahtumankäsittelyä, jossa yksikään tapahtuma ei kadonnut ja epäonnistuneet käsittelyt yritettiin automaattisesti uudelleen.

  • Node.js
  • TypeScript
  • React
  • React Native

2017 – 2018

Kesko — Caara Leasing

Olin kehittäjänä enimmillään neljän hengen tiimissä, joka teki Keskon Caara Leasing -asiakkaille mobiilisovelluksen ja sen taustapalvelut alusta loppuun. Sen jälkeen teimme toisen kehittäjän kanssa Keskon Volkswagen Owner -sovelluksesta Android-version iOS-sovelluksen pohjalta.

  • TypeScript
  • Node.js
  • React Native
  • Android

2016 – 2017

OP — Osta laskulla

Olin arkkitehti ja kehittäjä OP:n Osta laskulla -maksunapissa, jolla verkkokaupan ostoksen voi maksaa laskulla tai osamaksulla. Teimme taustajärjestelmän Javalla ja Kotlinilla ja ostopolun käyttöliittymän Reactilla. Vaikeinta oli sovittaa pankin taustajärjestelmät sujuvaan ostokokemukseen.

  • Java
  • Kotlin
  • React

2011 – 2016

HiQ Finland

Ohjelmistoarkkitehti

2013 – 2015

Fintoton taustajärjestelmät

Kehitin Fintoton taustajärjestelmiä pienessä tiimissä. Vaativin osa oli hajautettu vetojen priorisointipalvelu (Scala, Hazelcast), jonka suunnittelin ja rakensin toisen kehittäjän kanssa. Palvelu kokosi usealta palvelimelta tulevat vedot yhteiseen jonoon ja syötti ne taustajärjestelmiin rajatulla nopeudella. Näin kaikkien käyttäjien vedot käsiteltiin tasapuolisesti, eikä taustajärjestelmien kapasiteetti ylittynyt. Lisäksi tein sisäisiä työkaluja ja kehitin Fintoton verkkopalvelua.

  • Scala
  • Hazelcast
  • Java

2013

Fintoto Toto-mobiili

Suunnittelin arkkitehtuurin ja tein pääosan Fintoton Toto-mobiilista. Selaimessa toimivalla HTML5-palvelulla pystyi pelaamaan, seuraamaan tuloksia ja katsomaan Toto-TV:n suoria lähetyksiä kaikilla sen ajan yleisillä älypuhelimilla. Palvelu valittiin parhaaksi HTML5-kuluttajapalveluksi Teleforumin Paras Mobiilipalvelu 2013 -kilpailussa.

  • JavaScript

2011 – 2012

OP-Aineistosiirto

Olin tiiminvetäjä ja kehittäjä, kun toteutimme pienyrityksille aineistosiirtopalvelun OP:n verkkopankkiin. Koordinoin tiimin työtä ja pankin eri järjestelmiin tarvittavia muutoksia ja ohjelmoin palvelua muun tiimin kanssa.

  • Java
  • Spring

2011

OP-Mobiili ja S-Pankki Mobiili

Olin kehittämässä kahden eri pankin mobiilipankkien Android-versioita: pidempään OP-Mobiilissa ja lyhyen aikaa S-Pankki Mobiilissa. OP-Mobiilissa korjasin projektin loppuvaiheessa viivakoodinluvun kriittiset ongelmat.

  • Android

2008 – 2011

Aalto-yliopisto

Tutkija, jatko-opiskelija

Tutkin moniversiotietokantojen hakemistorakenteita ja niiden rinnakkaisuudenhallinta-algoritmeja. Moniversiotietokanta säilyttää tietojen koko historian, joten siltä voi kysyä, miltä tiedot näyttivät millä tahansa hetkellä. Laajensin MVBT-hakemistorakenteen tukemaan transaktioita niin, että operaatioiden aikavaativuus pysyy logaritmisena. Tutkimusryhmän kanssa työskentelin lisäksi R-puiden elvytyksen ja merkkijonohakualgoritmien parissa.

2005 – 2008

HiQ Softplan

Ohjelmistosuunnittelija

Tein web-kerrosta Veikkauksen OnNet-pelijärjestelmään (Java, Spring). Suunnittelin ja toteutin Jones Lang LaSallelle kiinteistövälitysjärjestelmän (Java, Spring, Hibernate, MySQL), josta tuli myös diplomityöni aihe. Lisäksi olin mukana tekemässä Tekesin intranetiä (BEA AquaLogic).

1998 – 2005

Aiemmin

  • 2003 – 2005

    Kurssiassistentti, Teknillinen korkeakoulu

    Käyttöjärjestelmäprojekti, C/C++-ohjelmointi, ohjelmoinnin perusteet.

  • 2004

    Ohjelmistosuunnittelijaharjoittelija, GE Healthcare

    Älypuhelinprototyypit potilasmonitorien hälytysten välitykseen; sydänkäyrien piirto virtuaalilaseille (Java MIDP, Symbian C++).

  • 1998 – 2003

    Ohjelmistokehittäjä, MMD Group

    PHP/Perl-web-järjestelmiä julkaisualustoista chat-palveluihin, intranetit, verkkosivustot ja Linux-palvelinten ylläpito.

Erityisosaaminen

  • Järjestelmäanalyysi ja arkkitehtuuri
  • Hajautetut järjestelmät
  • Tietokannat ja rinnakkaisuus
  • Vaativat taustajärjestelmät
  • API-suunnittelu
  • Integraatiot vanhoihin järjestelmiin

Nykyinen työkalupakki

  • Rust
  • TypeScript
  • React
  • Node.js / Bun
  • PostgreSQL
  • Kotlin / Compose

Aiemmissa projekteissa

  • Java
  • Scala
  • Spring
  • Android
  • React Native
  • Compose Multiplatform
  • Hazelcast

Toimitus ja infra

  • Docker
  • Kubernetes
  • Linux
  • GitHub Actions / GitLab CI
  • AWS
  • UpCloud

Tekoälyavusteinen kehitys

  • Claude Code
  • GitHub Copilot
  • Cursor

Päivittäisessä ammattikäytössä.

Kielet

  • suomi — äidinkieli
  • englanti — erinomainen

Omat projektini teen alusta loppuun itse: suunnittelen, koodaan, rakennan CI:n, julkaisen ja ylläpidän. Palvelut toimivat omalla Hetzner-palvelimellani ja sovellukset Google Playssa.

2011

On the Recovery of R-Trees

T. Haapasalo, I. Jaluta, S. Sippu, E. Soisalon-Soininen

IEEE Transactions on Knowledge and Data Engineering, 2011