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 Link to heading
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 projektin sisällöstä, tai asiakas saattaa jo tietää haluavansa minut töihin tietyllä allokaatiolla.
Projektin eteneminen Link to heading
Projektin käynnistyttyä olen jatkuvasti tavoitettavissa asynkronisesti esimerkiksi Slack-sovelluksen kautta. En välttämättä tarvitse päivittäisiä kokouksia, mutta olen mielelläni tekemisissä tiimijäsenten kanssa ja osallistun kokouksiin aina tarvittaessa. Työskentelen paljon iltaisin.
Aloitan yleensä arkkitehtuurisuunnittelulla: teen tarvittavat suunnitelmat, kaaviot ja kustannuslaskelmat. Sen jälkeen rakennan proof-of-conceptin lähestymistavan validoimiseksi, jos se on projektin kannalta mielekästä. Melko usein proof-of-concept on jatkokehitettävissä lopulliseksi tuotteeksi, kun ratkaisun yksityiskohdat alkavat kirkastua.
Jos 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. Olen rakentanut useisiin projekteihin myös GitHub Actions tai AWS CodePipeline -pohjaiset devops-ratkaisut. Projektin päätyttyä sovimme tapauskohtaisesti, siirrynkö eteenpäin vai jatkanko edelleen järjestelmän kehittämistä.
Tekoäly työkaluna Link to heading
Hyödynnän tekoälyä mahdollisimman paljon kaikissa projektin vaiheissa — ideoinnissa, suunnittelussa, kustannus- ja skaalautuvuuslaskelmissa, koodin kirjoittamisessa sekä ongelmien löytämisessä. Otan kuitenkin itse vastuun lopputuloksesta ja tarkkailen mitä tekoäly tekee. Tyypillisesti hyödynnän ChatGPT/Codex-, Claude- ja GitHub Copilot -työkaluja sekä Cursor-editoria.
Rakennan yleensä projekteihin hallintaliittymän jo kehitysvaiheessa Next.js/React/Amplify -tekniikalla, jotta ne olisivat alusta asti testattavissa ja kokeiltavissa. Tekoäly toimii tähän tarkoitukseen erityisen hyvin, kunhan tietorakenteet ja API-rajapinnat on ensin määritelty huolellisesti.
Tietoturva Link to heading
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ä.