Eräs tarina Salesforcen käyttöönotosta

Syksyllä 2019 olin mukana projektissa, jossa otimme yrityksessämme käyttöön Salesforcen. Toteutin itse teknisen operaation: sain/otin tehtäväkseni siirtää tiedot vanhasta järjestelmästä uuteen. Suoraan sanoen tämä oli työurani ehkä suurin haaste, mutta se meni lopulta ihan hyvin. Salesforce on sen jälkeen ollut vahvasti data-ohjautuvan yrityksemme prosessien keskipisteessä. Kerron tässä, millaisia teknisiä ratkaisuja teimme käyttöönoton ja integraatioiden osalta.

Näin sen teimme

Meillä oli kaikilla yhteinen tahto aloittaa uudessa järjestelmässä mahdollisimman puhtaalla datalla. Datan siivousoperaatiosta tuli lopulta aika työllistävä, mukana oli monta osapuolta. Onneksi projektissa oli virallinen projektipäällikkö, joka piti lankoja käsissä; minä vastasin lähinnä teknisestä siirto-operaatiosta. Samalla, kun dataa siivoiltiin, harjoittelin kymmenillä toistoilla siirtoa Salesforcen testiympäristöön. Siirtopäivänä prosessin kulku oli selvä ja tosi hyvin harjoiteltu. Siinä kävi sitten niin, että kaikki tiedot meni tuotantoympäristössä saman tien paikoilleen! Projekti valmistui siis täsmälleen sinä päivänä kuin pitikin. Oli juhlallista kulkea käytävillä käyttöönottoa seuraavana päivänä ja katsoa, kun myyjät jatkoivat töitään ja toimintojaan uudessa ympäristössään täsmälleen siitä kohdasta, kuin mihin olivat ne jättäneet vanhassa järjestelmässä. En koskaan unohda viskipulloa, jonka löysin pöydältäni sitä seuraavana päivänä 🙂

  • Vanhasta järjestelmästä oli tehty vuorokausittain päivittyvä integraatio Google BigQueryyn. Päätin käyttää sitä migraatiodatan lähteenä. Koska tiesin, missä muodossa Salesforcessa kaipasi datan, aloin heti projektin alussa muotoilemaan dataa SQL-näkymissä oikeaan muotoon.
  • Koska Salesforce on tosiaan hyvin ranttu datan laadun osalta, ainakin valitsemillamme asetuksilla, oli tärkeää päästä jo aikaisessa vaiheessa testaamaan siirtoja; tuli toistuvasti virheilmoituksia, jotka johtivat yhä uusiin datanpuhdistukierroksiin. Ellei tätä vaihetta olisi aloitettu ajoissa, olisi ollut käytännössä mahdotonta pysyä sovitussa aikataulussa; datan puhdistus vaati monen osapuolen osallistumista, ja sellaiseen liittyy aina viiveitä.
  • Meillä oli Salesforce- ja migraatio-osaamista talon sisällä. Tämä mahdollisti todennäköisesti paljon sujuvamman operaation, kuin mitä se olisi ollut ulkopuolisen konsultin ohjauksessa.

Kun saimme Salesforcen käyttöön, olimme innoissamme: miten hieno systeemi ja upea datarakenne! Mikään ei näytä estävän meitä tekemästä täsmälleen haluamaamme dataratkaisua.

Mitä siis halusimme? Sujuvia integrointeja muihin bisnesjärjestelmiimme tietenkin, ja mahdollisimman helposti ja edullisesti 🙂 Totesimme, että Salesforcessa on kattava API eli ohjelmistorajapinta, teimme tärkeän strategisen päätöksen: vältämme Salesforcen tarjoamia APEX-pohjaisia integrointiratkaisuja ja suuntaamme Python-pohjaisiin Rest API-ratkaisuihin. Päätöstämme tuki se, että meillä oli jo Google Cloud Platform monipuolisesti hallinnassa.

Miksei APEX kelvannut? 

APEX on sinänsä hieno Salesforcen ohjelmointikieli todella monipuolisia integrointeja ja automaatioita varten, mutta se vaatii erikoisosaamista, jota joutuisimme ostamaan konsulttitalolta. Python&API-ratkaisut voimme tehdä vaikka ns. kesäteekkareiden kanssa, ellei omat kädet riitä. Muutenkin tuntuu, että se on teknologisesti enemmän nykyaikaan sopiva ratkaisu, nimenomaan kun puhutaan integraatioista.

Tilanne nyt

Muutaman vuoden kokemuksella voimme todeta, että tuo päätöksemme oli oikea. Mitä olemme kehittäneet Salesforcen ympärille?

  • Airflown (Googlessa: Cloud Composer) avulla tehty automaattinen tietojen ajastettu synkronointi Salesforcen ja muiden järjestelmien välillä. Rest API on onneksi vallitseva rajapinta moderneissa tuotteissa.
  • Koska meillä on Google BigQueryssä (Sanomme sitä “data lakeksi”) kaikkien yritysjärjestelmiemme data, voimme jalostaa niistä tietoa, jotka siirtyvät automaattisesti Salesforceen Rest APIn kautta. Näin voimme seurata Salesforcessa olevissa asiakkuuksissa olennaisia avaintietoja, kuten esim. laskutusta ja ja tehdä sen perusteella luokituksia.
  • Laukaisemme Salesforcen Outbound Message-toiminnan kautta erinäisiä tapahtumia Google Cloud Function-palveluiden kautta. Esimerkiksi uusista kaupoista tulee Slackkiin ilmoitukset koko yrityksen ihasteltavaksi; juhlinta-emojit kaupan koon mukaan!
  • SAAS-tuotteidemme kokeilut (“trialit”) tuottavat automaattisesti ns. liidit Salesforceen.
  • Irtisanomislomake on tehty Salesforcen päälle; mahdollistaa kätevästi suoran kytkennän asiakasdataan.

Koodaaminen ja merkitys

Kun olin nuori, kaikenlainen hakkerointi ja koodaaminen oli itseisarvoisesti kiinnostavaa ja innostavaa.

Kuvassa olen kotonamme Taalainmaan Mockfjärdissä (Ruotsi) joskus vuonna 1987-1988. Kuvassa näkyy ensimmäinen PC:ni, jossa oli kymmenen kertaa enemmän RAM-muistia, kuin Commorodessa, ja huimat 20MB kiintolevy. Nurkassa näkyy radioamatööriasemanikin (tunnukseni oli SM4SWF). Kuvan otti veljeni…tutkin siinä kai jotain ohjelmointiopusta.

Opettelin uusia asioita puhtaasta innosta, ja hyvä niin: siinähän oppi kaikenlaista helpolla tavalla. Työurani alussa oppiminen jatkui iltaisin kotona, omalla ajalla. Nykyään energiani ei ole aivan nuoruuden tasolla. Huomaan myös iän myötä kaipaavani mahdollisimman merkityksellistä tekemistä, ja nykyään se tarkoittaa sitä, että teen työkseni ”työ-merkityksellisiä” asioita ja vapaa-ajalla minulla on muita merkityksellisiä asioita, kuten liikuntaa, lukemista, hapanjuurileivän leipoimista, kasvimaan hoitoa ja pianonsoittoa.

Mitä tulee töihin, olen erinäisten onnekkaiden sattumien johdosta päässyt työssäni tietynlaiselle näköalapaikalle, jossa ei merkityksellinen työ lopu. Olen koko työurani ollut IT-alan yritysmaailmassa ja oppinut paljon sen lainalaisuuksista. Tunnustan aluksi, että lähdin todella nollasta:

Ensimmäisessä työpaikassani en tullut aluksi ajatelleeksi, mistä rahat tulivat yritykseen. Oletin vain saavani sovitun palkan tekemieni työtuntien perusteella. Työtuntien raportointi oli vähän hankalaa, kun niitä piti kohdistaa eri projekteihin. Purnasin siitä kokeneemmalle työkaverilleni. Hän sitten sanoi minulle asian, joka hätkähdytti:
– Ellei tunteja raportoida näin, asiakkaamme eivät maksa yrityksellemme tehdystä työstä. Sinunkin palkkasi tulee meidän asiakkailtamme…ei se mistään muualta tule, joten raportoi ihan kiltisti ja mahdollisimman tarkasti.

Aika pian tajusin jo hymyillä tuolle typeryydelleni. Tosiaan, yrityksen tehtävä on tuottaa asiakkaille arvoa, josta ne sitten maksavat.

Nykyään tunnen erityisen syvää tyydytystä ja merkitystä siitä, kun pääsen käyttämään taitojani siihen, että asiakkaille tuotetaan arvoa:

  • Kun asiakas saa mahdollisimman hyvän tuotteen, hänen oma toimintansa paranee ja hän pysyy tyytyväisenä asiakkaana. Ja se johtaa siihen, että työpaikallani on varaa kehittää toimintaansa ja maksaa palkoja.
  • Tuotteet voidaan tehdä mahdollisimman laadukkaasti ja tehokkaasti; optimoidaan yrityksen toimintaa ja sitä kautta tuotettua arvoa
  • Kun yritystoiminta on tarpeeksi laadukasta, työntekijät eivät koe turhautuneisuutta.
  • Kun työntekijöillä on tarpeeksi hyvä näkyvyys yrityksen toimintaan, se tuottaa merkityksellisyyttä ja motivaatiota.

Mitä siis minä voin tehdä näiden asioiden eteen koodarin taidoillani? Vaikka mitä! Kun minuun luotetaan ja minulle annetaan mahdollisuuksia ja vapauksia ratkoa asioita, haluan tehdä sitä työtä mahdollisimman hyvin. Listaan tähän joitain esimerkkejä asioista, joita olen saanut olla ideoimassa ja kehittelemässä viimeisten vuosien aikana:

  • Yritysjärjestelmien yhdistäminen integroinneilla
  • Monenlaisten bisnesprosessien automaatioiden kehittäminen
  • Datan kerääminen, analysoiminen ja hyödyntäminen

Millä tavalla nämä tekniseltä kuulostavat asiat tuovat merkitystä minulle?

  • Kun tiedämme datan perusteella paremmin, mitä asiakkaat tarvitsevat, voimme tarjota heille laadukkaampaa palvelua
  • Kun prosessit toimivat automaattisesti, ne toimivat yleensä todella paljon nopeammin, kuin vastaavat manuaaliset prosessit. Lisäksi vähentyy inhimillisten virheiden määrä.
  • Kun meillä on mahdollisimman paljon jäsenneltyä tietoa eli dataa yritystoiminnastamme ja asiakkaistamme, johdossa voidaan tehdä oikeaan suuntaan vieviä päätöksiä. Ellei ole tarpeeksi dataa, joutuu tekemään päätöksiä tuntumalla, ja sellaiset päätökset eivät välttämättä mene oikein.

Eräs yksittäinen ratkaisu on tuottanut minulle erityisen paljon merkitystä, vaikka se oli sinänsä teknisesti aika simppeli projekti: Pari vuotta sitten teimme järjestelmän, joka lähettää myyjien kaupoista automaattisesti ilmoitukset eräälle yrityksemme Slack-kanavalle. Ilmoituksiin määriteltiin juhlinta-emojit kaupan koon mukaan. Miten siinä kävikään: ihmiset alkoivat reagoimaan ilmoituksiin ylistävin emojein ja kannustavin kommentein! Aivan upeaa on ollut seurata tämä asian inhimillisiä mittasuhteita: yrityksen muut työntekijät arvostavat myyjiä, ja myyjät tuntevat sen. Siiloutumista purkavaa tiimiyttämistä siis, eli ei mikään pikkujuttu! Lisäksi yrityksessä pysyy kaikille selvänä, mistä se raha palkkoihin tulee; motivoi toivottavasti omaan osuutensa satsaamiseen.

Sain vastaamo-tietomurto-kiristyskirjeen

Maanantaina 26.10.2020 havaitsin saaneeni työ(!)sähköpostiini saman kiristyskirjeen, kuin mitä ehkä kymmenet tuhannet suomalaiset saivat. Kiristäjät uhkaavat paljastaa henkilö/terapiatietojani, ellen maksa. En tietenkään maksanut enkä maksa. Tämä tapaus aiheutti kuitenkin jonkin verran käsiteltävää, vaikkei minulla olekaan mitään hävettävää terapiassa. Koska viestissä oli henkilötunnukseni, tein heti samana päivänä suositellut toimet identiteettivarkauksien ehkäisemiseksi. Ja niin, tein rikosilmoituksenkin. Hyvä, että nyt selvitetään mahdollisuutta vaihtaa henkilötunnus.

Kirjoitin samana päivänä Hapanjuurileipurit-Facebook-ryhmään hieman uhmakkaan avauksen, josta taisi tulla päivän ”hitti” siellä:

Tuo avaus herätti terapeuttista keskustelua; siellä oli näköjään muitakin saman rikoksen uhreja.

Itse olen oikein hyvässä hapessa, ja selviän tästä. Tuo rikos kohdistui kuitenkin yleensä ottaen erityisen heikossa asemassa olevia vastaan ja oli siksi erityisen törkeä. Tällä viikolla olen ajatellut heitä, joille tämä viikko on ollut raskas, ehkä elämän raskaimpia.

EDIT 26.1.2021: Tein erillisen sivun hapanjuurileivonnasta.

Burnout – minun tarinani

Välillä mietin, onko burnoutista eli loppuunpalamisesta kerrottu jo kaikki, vai sopiiko tähän vielä oma tarinani. Olen eri kirjoituksissa, kirjoissa ja blogeissa viitannut siihen, että jossain kohtaa elämääni paloin loppuun ja että siitä on vuosien taaperruksen jälkeen selvitty. Myös livetilanteissa olen joskus puhunut siitä, ja minua on vähän hämmentänyt, kun sitä on pidetty jotenkin rohkeana avoimuutena, vaikka olen kertonut siitä yleensä aika pintapuolisesti. Koitan nyt saada aiheesta vähän syväluotaavamman tarinan tähän:

Koska elämä on kokonaisuus, burnoutiinkin vaikuttaa moni tekijä. Minulla niitä tekijöitä oli aika monta, ja oikeastaan se oli aikamoinen sekasotku, josta olen vasta jälkikäteen osannut erottaa sen osia. Koitan listata niitä tähän:

  • Lapsuudenkokemukset suuren perheen esikoisena teki minusta konfliktikammoisen nahjuksen. Vanhanaikaisessa kasvatuksessa ei osattu kunnolla panostaa itsetuntoon, itsetuntemukseen eikä itsemäärämisoikeuteen.
  • Äidinmaidossa oppimani uskonto teki minusta epärehellisen, itselleni ja muille.
  • Yllämainitusta oppimastani uskonnosta johtuen perheestäni oli tullut aika suuri.
  • Lähdin toteuttamaan suomalaista myyttiä siitä, että miehen kuuluu rakentaa perheellensä talo. Ja suuri perhehän tarvitsee suuren talon.
  • Minulla oli lapsesta asti valtava energia kehitellä asioita. Yhtä aikaa rakennusprojektin aikaan rakentelin luovassa levottomuudessani yritysideaa. Oikeastaan tämä oli minulle kaikista tärkeintä. Lapseni muistavat minut noina aikoina etäisenä isänä…minun on hyväksyttävä tämä tosiasia, vaikka sattuu.
  • Koska rakennusprojektin budjetti ylittyi valtavasti, oli satsattava yritykseen, siinä toivossa, että tilanteesta voisi mitenkään selvitä.
  • Vaimo kuoli kesken tämän kaiken

No, onhan siinä listaa, tajuan itsekin, kun puin asiaa jälkikäteen. Näen pari selittävää tekijää:

  • En kyennyt vetämään rajaa ulkopuolisten vaatimusten suhteen; joustin loputtomiin.
  • Minussa oli (ja on) jotain sisäistä rajattomuutta, eli puutetta tunnistaa omien voimieni rajallisuutta.

Olen nyt oppinut taiteilemaan molempien rajojen kanssa, kiitos mm. tärkeiden psykoterapiavuosien. Tuo sisäinen rajattomuuteni on toki vieläkin asia, jonka kanssa joudun pelaamaan: innostun helposti, kun ns. flow lähtee päälle. Useimmiten osaan kuitenkin katkaista flown ja vaihtaa muuhun tekemiseen, esim. päiväuniin tai musiikki- tai liikuntahetkeen.

Aiempina vuosina en olisi voinut pitää jaksamiseni rajoista kiinni, vaikka olisin osannutkin, sillä elämä oli ruuhkavuosineen sellaista hullunmyllyä, että oli käytännössä vain pakko jaksaa. Tämä syvensi tietenkin tulevaa burnoutia.

Ensimmäiset burnoutin oireet tulivat jo ennen silloisen vaimoni kuolemaa, ensin salaisina ahdistuksina ja yöllisinä painajaisina, sitten fyysisinä vapinaoireina. Niiden oireiden vuoksi sainkin parin viikon sairasloman, mutta sen toteutuminen oli vähän monimutkaista kesken rakennusprojektin ja yrityksen alkuvaiheen kaaoksen.

Kuolema pysäytti kaiken minussa. Käytännön asiat toki onneksi jatkuivat: lasteni arki sai jatkumoa: siskoni tuli (kaupungin palkkaamana!) auttamaan lastenhoidossa, kun minä jouduin ”hetken” puhaltelemaan. Talokin saatiin muuttokuntoon, kun ystävät auttoivat. Tästä olen pohjattoman kiitollinen vielä tänäkin päivänä. Yritysjärjestelytkin hoituivat, ja perustamani yritys jatkoi kasvuaan joulukuuhun 2016 asti, kunnes se ostettiin. (Yritystarinani löytyy täältä.)

Niin, se pysäytys. Olin tuolloin iältäni pian 40 vuoden kynnyksellä, ja olen ymmärtänyt, että se on melko tyypillinen ihmiselämän vaihe, jolloin tulee pohdittua, miten siihen asti eletty elämä on mennyt, ja miten haluaa sen jatkuvan. Minä valitsin rehellisyyteni ja itseni kohtaamisen, ja sain siihen jonkin ajan päästä tuekseni luotettavan ja viisaan elämänkumppanin. Sitä myötä tuli kohta se terapiakin, joka on ehkä maailman paras keksintö. Elämäni alkoi uudelleen, parempana, päivä päivältä eheämpänä. Meni kuitenkin monta vuotta, ennenkuin alkoi tuntua tosissaan siltä, että olen selvinnyt. Työkunto oli tänä aikana vähän puolittainen; jojottelin sairaslomien ja työssäkäymisen välillä, kokeilin lyhennettyä työpäivääkin.

Hullumminkin olisi voinut käydä, ja joillekin käykin, elämän vaiheet ovat pienestä kiinni. Tänä vuonna täytin 50 vuotta ja koen eläväni elämäni parasta aikaa: jaksan tehdä työtäni melko lailla ”täysillä” ja touhuta sen lisäksi muutakin. Kaikki huolet eivät ole ohi, mutta parempaan suuntaan mennään, niin uskon. Ja usko on kaiketi tärkeintä tässä.

Löytyi kuva vuodelta 1988

Luulin, ettei 18-vuotiaasta minusta ole juuri kuvatodisteita. Veljeni teki minut iloiseksi näyttämällä tämän kuvan minulle: olen siinä huoneessamme, jonka yhden nurkan olen vallannut harrastuksilleni: vasemmalla on ensimmäinen radioamatööriasemani (tunnukseni oli tuolloin SM4SWF), ja edessäni on muistaakseni Osborne-merkkinen  ns. PC XT, jossa oli hurjat 640kB keskusmuistia ja 20MB kiintolevy. Modernisti kaksi näyttöä, toinen mustaoranssi (VGA eli 640x480px) ja toinen värillä (CGA 320x200px).

Facebookissa kysyttiin, mistä sain tuolloin varat tällaisten laitteiden hankintaan. Töillä: olin kesäisin töissä talotehtaalla, ja juuri edeltävänä kesänä olin ollut turvesuolla. Marjanpoiminnasta sai myös rahaa. Minulla oli valtava intohimo tällaisiin asioihin. Lisäksi alakerrassa oli tasapainon vuoksi piano.

Moveniumin tarina jatkuu

Meidän markkinointitiimissä näytettiin uusinta Visma Movenium-mainosta, joka komeilee tänään mm. Iltalehden etusivulla:

Myönnän auliisti, että jossain vähän läikähti, kun näin tuon mainoksen. Jotain ylpeyttä kai, kaikesta siitä, mitä ja ketä tähän hommaan liittyi ja liittyy. Koodasin tuon tuotteen eka version kesällä 2005, ja nyt ollaan tässä pisteessä. Pitkä tarina on takana, ja kaikesta päätellen myös edessä.

Visma (Visma Software Oy) on tuonut koko tuon homman ympärille käsittämättömän paljon lisävoimaa ja rakennetta: tuote on kasvanut kaikilla osa-alueilla aivan uusiin mittasuhteisiin. Sanoisin joulukuussa 2016 tapahtunutta yrityskauppaa todella onnistuneeksi!

Moveniumin teknisestä alustasta on poikinut myös yleinen työajanseurantatuote: Visma Entry.

Täällä kerroin aiemmin työhistoriastani.

P.S. Tämä tuote elää myös Ruotsissa, tuotteen nimi on siellä Visma Construction Suite.

Minun. Merkittävä. Elämäni.

Kun minä synnyin, kaikki merkittävät ihmiset olivat kuolleet. No ainakin Bach ja Beethoven. Matti Nykänen kuitenkin eli vielä tuolloin.

Ensimmäisen virheeni muistan tehneeni tosi pienenä: söin kakkaa. Mutta vain kerran. Kokeilla kai piti. Ja oikeasti olin pieni! Tilanne on jäänyt mieleeni, joten jos sanon jonkin maistuvan paskalle, tiedän, mistä puhun. En toki usein sano, sillä minut opetettiin olemaan siisti suustani. Myös minut opetettiin syömään kaikenlaista ruokaa, joten en juuri tunne pahanmakuisia ruokia. Ja kakkahan ei tosiaan ole ruokaa. Enää.

Kun olin nuori ja minulla oli tylsää, saatoin alkaa kirjoittaa kirjettä, tai…keräillä poistimerkkejä vanhoista kirjeistä. Kun sain omia lapsia, niille kasvoi kännykät käteen. Aina kun heillä meinaa tulla tylsää, he avaavat sen ja alkavat tehdä jotain hauskaa sillä. Viestitkin menevät perille niin, ettei edes postimerkkiä ehdi sanoa. Eivätkä he edes sano, sillä eivät tiedä sellaista sanaa… vaikka olisihan siinä ainekset voimasanaksi, ainakin vahvasti lausuttuna. PostimERKKI!

Minulla oli lapsena taiteellisia haihatteluja, kuten pianonsoitto (hakataan sormet haralla kilkattavaa ääntä mustasta laatikosta). Lisäksi värkkäilin varhaisteininä aivan liian paljon Commodore 64:lla, jotta voisin uskottavasti moittia lapsiani liiasta tietokoneella istumisesta.

Kohtalollani oli kuitenkin selvä suunta pienestä pitäen: ammatiltani minusta oli tuleva insinööri. Uteliaisuus ja kaiken kokeileminen (mainitsinko jo kakan syömisen?) on ollut verissäni aina. Omasta mielestäni olen hyvä näin, mutta kuinka suuri olen muihin verrattuna?

Eli: kuinka kauan nimeni voisi jäädä elämään kuolemani jälkeen? Pitäisikö taas kokeilla: ostaisin ennen kuolemaani kaikella omaisuudellani lisäaikaa tälle omaa nimeäni kantavalle nettiosoitteelle? Jos nimeni eläisi tällä lailla vaikkapa 100000 vuotta, Bachin nimi olisi tuolloin elänyt 100285 vuotta, ellei häntä ole siihen mennessä unohdettu. Vaikkei olisikaan, niin ero olisi tuolloin aika merkityksetön. Lisäksi: Tim Berners-Lee ja ”Linux” Thorvalds saattavat ajan kuluessa monen barokkisäveltäjän tavoin unohtua, ja minut voitaisiin sitten nimetä internetin pioneeriksi!

Tätä juttua kirjoittaessa elän ruuhkavuosien jälkeistä kautta. Olen 49 vuotta, Bach 334 vuotta ja WWW 30 vuotta. Kyllä, pidän numeroista ja niiden suhteista, näkyykö se? Kirjoitin tämän jutun kieli poskessa iltapäiväunien jälkeen, kun oli vähän…tylsää.