Olen reilun 20 vuoden kokemuksen omaava liiketoimintalähtöinen ratkaisuarkkitehti. Keskeisiin työmenetelmiini kuuluu Domain Driven Design (DDD), minkä olen havainnut erittäin sopivaksi keskusteluun ja suunnitteluun sekä liiketoiminnasta että tekniikasta vastaavien henkilöiden kanssa. Yksi suurimmista hyödyistä, joita menetelmän harjoittaminen tuo on ns. yhteisen kielen luominen business ja teknologia henkilöiden kesken. Olen ollut pitämässä ko. aiheesta esitelmää eräässä meetup tapahtumassa (https://youtu.be/chXQOdg-tFMfrom 19 minuutin kohdalta eteenpäin).
Olen ollut useissa projekteissa, missä on kehitetty tuotetta / palvelua ns. puhtaalta pöydältä sekä kehitetty ja ylläpidetty sitä edelleen. Olen toisaalta myös hypännyt mukaan jo liikkeessä oleviin projekteihin ja ottanut ne haltuun. Olen ollut mukana uudistamassa jo kauan ja hyvin palvelleiden järjestelmien uudistamista mikropalvelu ja tapahtumapohjaiseen arkkitehtuuriin perustuviksi.
Minulla on pitkä ja syvällinen kokemus suuren kuormituksen alla olevien tapahtumapohjaisten ja reaaliaikaisten 24/7/365 järjestelmien suunnittelusta ja kehittämisestä. Tapahtumapohjaisuus on ollut keskiössä viime aikaisten projektien tiimilta. Ns. tekkistäkeistä tunnen parhaiten MS .NET pohjaiset, JVM ja node.js pohjaiset frameworkit, joiden päälle olen ollut mukana rakentamassa useita erilaisia ratkaisuja, joiden myötä ko. frameworkkien hyvät ja huonot puolet ovat tulleet tutuksi. Minulla on kokekusta eri viestinvälitysjärjestelmistä, kuten Apache Kafka, Rabbit MQ, Active MQ, JMS, MSMQ, NServiceBus. Tämä on opettanut minulle eri järjestelmien hyvät ja huonot puolet.
Olen aikanaan käynyt certified scrum master koulutuksen ja käytännössä ketterät menetelmät / scrum / kanban on ollut projekteissa käytössä viimeiset 10 vuotta. Itse tosin uskon, että prosessit ovat mietitty täydellisille ihmisille, eikä vastaani ole tullut täydellistä ihmistä. Prosessi on hyvä silloin, kun se tukee tiimin tavoitteen saavuttamista parhaalla mahdollisella tavalla. Tiimi toimii, kun sillä on selkeä tavoite ja tiimin jäsenet tietävät oman tehtävän tavoitteen saavuttamiseksi. Lisäksi tietysti tarvitaan avointa kommunikaatiota ja tervettä asioiden kyseenalaistamista.