Työtapa
Ratkon yleensä astetta haastavampia teknisiä ongelmia kuin tavalliset API-, tietokanta- ja verkkosivustoprojektit. Omaksun uudet teknologiat nopeasti ja olen toisinaan työskennellyt AWS-palveluiden parissa jo ennen niiden virallista julkaisua. Päädyn yleensä mukaan projekteihin silloin, kun tarvitaan joku, joka selvittää vaikeatkin ongelmat.
Yhteistyön aloitus
Aloitamme yleensä tapaamisella — etänä tai paikan päällä — jossa käymme läpi ratkottavan ongelman ja esitän alustavia ideoita lähestymistavasta. Tapaamisen perusteella sovimme jatkosta: teen tarvittaessa tarkemman ehdotuksen projektista sisällöstä, tai asiakas saattaa jo tietää haluavansa minut töihin tietyllä allokaatiolla.
Projektin eteneminen
Kun projekti käynnistyy, pysyttelen koko ajan tavoitettavissa asynkronisesti esimerkiksi Slackin kautta. En välttämättä tarvitse päivittäisiä kokouksia, enkä ole aamuihminen, mutta osallistun kokouksiin aina tarvittaessa ja olen mielelläni tekemissä tiimijäsenten kanssa. Tärkeintä on, että kaikki pysyvät ajan tasalla projektin edetessä.
Aloitan yleensä arkkitehtuurisuunnittelulla: teen kaavioita, suunnitelmia ja kustannuslaskelmia. Pian tämän jälkeen rakennan proof-of-conceptin lähestymistavan validoimiseksi, jos se on projektin kannalta mielekästä. Melko usein proof-of-concept on jatkokehitettävissä varsinaiseksi tuotteeksi, kun ratkaisun yksityiskohdat alkavat kirkastua.
Kun projekti sisältää varsinaista toteutusta, työskentelen tiimin kanssa esimerkiksi GitHubin ja pull requestien kautta. Pyrin automatisoimaan kaiken testeihin ja julkaisemiseen liittyvän, jotta käsityö jäisi minimiin, ja olen rakentanut useisiin projekteihin myös devops-ratkaisut. Projektin päätyttyä sovimme tapauskohtaisesti, siirrynkö eteenpäin vai jatkanko edelleen järjestelmän kehittämistä.
Tekoäly työkaluna
Hyödynnän tekoälyä mahdollisimman paljon kaikissa projektin vaiheissa — ideoinnissa, suunnittelussa, kustannus- ja skaalautuvuuslaskelmissa, koodin kirjoittamisessa ja katselmoinnissa sekä ongelmien löytämisessä. Otan kuitenkin aina itse vastuun lopputuloksesta ja tarkistan, mitä tekoäly tekee. Tyypillisesti hyödynnän ChatGPT/Codex-, Claude- ja GitHub Copilot -työkaluja sekä Cursor-editoria.
Tietoturva
Tietoturva on olennainen osa sekä rakentamiani järjestelmiä että omaa työskentelyäni. Käytän Linuxia ja salattuja levyjärjestelmiä sekä salasanasovelluksia. Pyrin hyödyntämään dev containers -tekniikkaa tai muuta vastaavaa eristystä kaikissa kehitysympäristöissä suojautuakseni toimitusketjuhyökkäyksiltä ja tekoälyagenttien aiheuttamilta riskeiltä.