Aloitin ohjelmoinnin PHP-kielellä harrastuksena vuonna 2004, jolloin myös relaatiotietokannat tulivat tutuksi. Olen tehnyt web-kehittäjän töitä yksityisenä elinkeinonharjoittajana toiminimellä JH-Tuotanto vuosina 2006 - 2015, jonka jälkeen aloitin palkkatyöt Tinyfee Oy:ssa vuonna 2016, josta siirryin tekemään alihankintatöitä loppuvuodesta 2021 oman yritykseni Complex Software Oy:n kautta, jonka lisäksi tarjoan osaamistani nykyään myös suoraan sopimuskumppanina.
Ennen palkkatöitä kirjoitin lähinnä proseduaalista koodia, enkä ollut vielä niin kiinnostunut ohjelmoinnista vaan ennemminkin siitä, mitä sillä voi tehdä. Siitä huolimatta muutamia teknisesti mielenkiintoisia haasteita tuli ratkaistua jo näinä vuosina, vaikka kaikki koodi ei aivan tuotantoon asti päätynytkään. Yhtenä mielenkiintoisena esimerkkinä läpinäkyvien PNG-kuvien värin vaihto, joka vaati kuvan jokaisen pikselin korvaamista valitun värin RGB-arvolla käyttäen pikselin alkuperäistä Alpha-kanavan arvoa. Toinen mielenkiintoinen esimerkki liittyy hierarkkisen tiedon tallentamiseen tarkoitetun tietokantamallin käyttöön, johon olen palannut vielä myöhempinäkin vuosina.

Ensimmäiset integraatiot tein rajapintoihin, jotka liittyivät tekstiviestillä ja verkkopankilla maksamiseen. Tämä oli vielä sitä aikaa kun sopimukset tehtiin suoraan pankkien kanssa. Myöhemmin vastaan tulivat mm. Google Maps API, Postin ja Matkahuollon toimipistehaut sekä silloisen Luottokunnan maksurajapinta, jolla luottokorttia pystyi veloittamaan tilausperusteisesti, jonka käyttö vaati palvelimen PCI-skannauksen kolmen kuukauden välein, jota ylläpidin itse raudasta lähtien. Palvelimella pyöri siihen aikaan perinteinen LAMP-alusta, jossa oli myös sähköpostipalvelut.

Kun aloitin palkkatyöt olin sitä ennen tekemisessä lähinnä omien vanhojen koodieni kanssa. Opin nopeasti paljon uusia asioita samalla kun web-kehityksen paradigma meni kovaa vauhtia eteenpäin. Tutustuin moniin uusiin rajapintoihin ja kirjastoihin. Aloin kiinnostua ensimmäistä kertaa varsinaisesti itse ohjelmoinnista, mutta samaan aikaan mietin eikö tämä voisi olla yksinkertaisempaa. Haasteena oli useat eri projektit useilta eri aikakausilta. Mietin miten tehdä pitkän elinkaaren koodia niin, että useampi projekti jakaisi saman koodipohjan. Samaan aikaan aloin kiinnostua Serverless-arkkitehtuurista.

Nykyaikaisen verkkosovelluksen tekniikkapino on usein paljon monimutkaisempi kuin mitä se oli 20 vuotta sitten. Tämä on johtanut siihen, että hyvin harva voi tai haluaa kutsua itseään enää ns. Full-Stack-kehittäjäksi, joka on eräänlainen generalisti, jolta kyllä onnistuu verkkosovelluksen toteuttaminen alusta loppuun asti, mutta rooli ei mahdollista mihinkään osa-alueeseen perusteellista erikoistumista. Tästä huolimatta tuo rooli kuvaa parhaiten sitä, mitä olen suurimman osan työvuosista tehnyt. Olen opetellut monenlaisia asioita ja unohtanut lähes yhtä monta. Tästä syystä pidän erityisen tärkeänä oman oppimisen dokumentointia, joka helpottaa kognitiivista kuormitusta ja nopeuttaa asioiden mieleen palauttamista, jonka lisäksi generatiiviset kielimallit ovat nykyään myös suurena apuna etenkin tässä roolissa.