1.11.1975 siirryin testausryhmästä ohjelmointiin ja käyttöjärjestelmäryhmään. Se tarkoitti sitä, että en tehnyt erityisesti töitä minkään sovelluksen, esimerkiksi palkanlaskennan, kanssa, vaan satunnaisia hyvin erilaisia töitä. Monet tehtävät liittyivät markkinoilta löytyviin tuotteisiin, joilla tarkkailtiin systeemin toimintaa.

 Tietokoneista koitui tietenkin kuluja pankille. Ne piti jotenkuten jyvittää eri osastoille joilla oli kullakin oma budjettinsa. Alussa, vuonna 1970, homma oli aivan alkeellista. Lokikirjaan kirjoitettiin tietokoneen CPU-mittarin alku- ja loppuajat (central processing unit, toisin sanoen se perusaivojen käyttö). Jonkun sitten täytyi tehdä aritmetiikkaa: vähennä loppulukemasta alkulukema ja kerro se cpu-sekunnin hinnalla ja summaa yhden osaston veloitukset. Mikäpä sen yksinkertaisempaa. Tässä tuli tietenkin ohjelman tehokkuus kustannustekijäksi. Jos ohjelman oli tehnyt laiska tai välinpitämätön ohjelmoija, niin tietokonesekunnit käytettiin tehottomasti ja lasku kasvoi. No tätä jatkui kotvasen. Sitten tuli tarjolle toisten tahojen tekemiä apuohjelmia, jotka automaattisesti kirjasivat ajon cpu-kulutuksen. Joistakin oheistiedoista sitten kävi ilmi, mitä oli mahdettu ajaa. Yleensä tämä selvisi ajon tunnuksesta, jossa oli mukana tietokoneaikaa vaativan osaston tunnus. Ajon tunnus annettiin reikäkortilla esimerkiksi JOB 123456. Näitä lokitietoja sitten analysoitiin ja laadittiin laskut osastoille. Valitettavaa, kuten aina tietokoneohjelmien suhteen on, että kaikki ohjelmat eivät aina toimineet ihan oikein. Niitä minä sitten selvittelin, ettei jollekin osastolle tullut kuukauden tietokonekäytöstä miljoonien markkojen lisälaskua, kun ohjelma ei hallinnut cpu-mittarin palautumista eli ylivuotoa, toisin sanoen palautumista nollaksi kun mittari tuli täyteen tai sitten kone ”kaatui” kesken ajon, eikä loppulukemaa koskaan tullutkaan.

Testiryhmästä jäi aivan hyvä mieli sen jätettyäni ja siirtyessäni toiseen organisaatioon. Varsinkin yksi ohjelmavirhe tuotti paljon lisätuloja. Source-koodien tallennusohjelma käytti indeksoituja tiedostoja ja hakusanana oli ohjelman nimi. Ohjelmalla oli hieno nimi: PMLP – private module library processor, vaikka se oli koodattu Unioninkadulla. Ohjelmia ei versioitu. PMLP-ohjelmassa oli virhe, joka aina silloin tällöin keskeytti ohjelmien käännöstyöt, jotka yleensä ajettiin yöllä. Olisi ollut liian työlästä opettaa kaikille 60 operaattorille kuinka virheen sattuessa voi toimintaa jatkaa. Se vaati pieniä manuaaleja toimenpiteitä. Itse ohjelmoija oli varusmiespalvelustaan suorittamassa Kasarmin torin alla sijaitsevissa puolustusvoimien konesaleissa, mutta ei öisin. Niinpä meistä kahdesta muusta osaavasta jonkun piti olla yötä päivää koko ajan valmiudessa tulemaan töihin ja saattamaan tilanteen normaaliksi. Yleensä hän oli se, joka ei mennyt Kellarikrouviin.. Oli halvempaa maksaa yhdelle vähän reilummin, kuin pitää 60 hengen ohjelmoijalauma toimettomana ja juoruamassa seuraavan päivän ajan, kun sourceja ei oltu käännetty. Kun hälytys tuli, niin ei kun vaatteet päälle, taksilappu kouraan ja Unioninkadulle. Palkkaa tuli ensikin hälytysraha, sitten hälytystyön tuntikorvaus ja viimein päivystysraha, jonka sai, vaikka ei hälytystä tullutkaan. Valitettavasti heti kun ko. varusmiespalvelusta suorittanut palasi töihin, hän korjasi ohjelmavirheen, ja tuottoisat päivystykset loppuivat. Kotiin takaisin pääsi yleensä tunnin askartelun jälkeen ja taas taksilla Kivenlahteen.

Ohjelmointikielinä hyödynnettiin COBOL- ja ASSEMBLER-kieliä. ANS COBOL oli melko uusi tulokas. Aluksi kaikki oli tehty ASSEMBLER-konekielellä, joka oli hankala oppia ja jossa yksinkertaisenkin tehtävän suorittaminen vaati monta konekielistä käskyä. Lähdekoodit olivat reikäkorteilla. Kun joskus reikäkortteja käsitellessä voi sattua, että korttipakka hajosi, oli yleensä korttipakan yläreunaan piirretty leveällä tussilla vino viiva. Siitä näki helposti, jos joku kortti ei ollut oikealla kohdalla.

COBOLissa erilaiset ohjelman sisäiset rutiinit nimettiin vapaasti paitsi että skandinaavisia kirjaimia ei voinut käyttää. Esimerkiksi käsky PERFORM KIRJOITA-TIETUE suoritti siinä kohdassa ohjelmaa alirutiinin KIRJOITA-TIETUE. Eräs savolaisperäinen ohjelmoija käytti rutiinien nimissä savoa, esimerkiksi PERFORM PAEVAN-PIATOS. Lopulta lävistäjätäti kyllästyi tähän ja kieltäytyi lävistämästä ohjelmia, joissa oli savonkieliset labelit.

Kun ohjelma sitten ruuhkasta riippuen muutaman päivän perästä oli kauniisti lävistettynä puhtoisille uusille korteille, piti se sitten viedä koneen ääreen ja kääntää konekielelle ja etsiä virheitä. Kääntämiseen oli kyllä ohjelma. Myös tuotanto-ohjelmia ajettiin usein source-koodilla joka ajokohtaisesti käännettiin. Isommat ohjelmat olivat valmiiksi käännetyinä objektikoodina reikäkorteilla.  Ohjelmakäännöksen paperitulosteelle tuli ensiksikin ohjelmakoodi ja sitten mahdolliset virheilmoitukset. Käännösajoja tehtiin yleensä vain yhden kerran päivässä. Käännöksiin ei liittynyt mitään testausajoja, vaan sekin piti erikseen ajaa. Käännökset ja testiajot tehtiin keskitetysti. Aivan poikkeus- tai hätätapauksessa voi ohjelmoija mennä konesaliin korttipakkansa kanssa ja sitten, jos operaattori salli, sai vähän ”saumaa” ajaakseen välittömästi käännöksen ja testin. Monimutkaisemman ohjelman kääntäminen ja testaaminen kuntoon voi viedä helposti viikkoja. Kovasti kehotettiin tekemään pöytätestauksia – toisin sanoen lukemaan koodia ja samalla pyrkiä tarkastamaan ohjelman toimintaa.

Systeemisuunnittelu ja ohjelmasuunnittelu oli kohtalaisen vaatimatonta. Minun aikanani kyllä aloitettiin suunnittelemaan, minkälainen kuvaus systeemistä pitäisi aina olla. Tämän kuvauksen tekemiseen meni aikaa ainakin kaksi vuotta. Lopputulos, siis kuinka systeemisuunnitelma pitäisi kirjoittaa, oli niin monimutkainen, että minä lopetin tuon teoreettisen tutkielman lukemisen kahden ensimmäisen sivun jälkeen. Ohjelmasuunnitelma, silloin kun se harvoin tehtiin, käsitti ehkä vuokaavion ja joidenkin tapahtumien käsittelysäännöt. Oli kyllä paljon ohjelmia, joista kukaan ei tiennyt, mitä ne tekivät. Tietenkin pankin keskeiset ohjelmat, esimerkiksi tilitapahtumien kirjausohjelmat, testattiin ja kuvattiin hyvinkin tarkkaan. Tuskin niissä kuvauksissa oli dokumentoitu, että eräskin ohjelma laski, kuinka monta kertaa operaattori teki testitulostuksen printterille ennen varsinaista tulostusta ja sitten antoi sitten kannustavan ilmoituksen ”ONNISTUITHAN VIHDOIN”, ennen varsinaista tulostusta, jos testitulostuksia oli yritetty aloittaa  enemmän kuin kaksi kertaa.

Sitten noin vuonna 1976 tuli iso muutos. Alettiin ohjelmoida suoraan päätteen kautta, eikä ohjelmia ollut enää reikäkorteilla, vaan levyillä. Suunnitteluosasto ei ollut varsinaisessa pankkikiinteistössä, vaan kadun toisella puolella, jonne oli kaivettu kadun ali tunneli. Tämä oli etäisyytensä puolesta aivan maksimissa, koska välitön yhteys, joka pääteohjelmoinnissa tarvittiin, ei saanut olla yli 200 m. Lisäksi tällä välin piti levyn kapasiteetin kasvaa reippaasti, että kaikki pankin tuhannet reikäkorteilla olevat ohjelmat saataisiin mahtumaan yhdelle levylle. Mutta kehitys kehittyi. Pääteohjelmointisysteemin nimi oli ROSCOE. Ei tietenkään kallista yhteyttä ja laitetta saanut jokainen. Yksi pääte per huone sai riittää. Tästä tietysti tuli joskus ruuhkaa. SUBMIT lähetti käsitellyn sourcen käännettäväksi ja tuloksen näki samoin päätteeltä heti. Tässä tietysti esimiesten kiinnostus työn tuottavuuteen heräsi. Jospa kunkin ohjelmoijan osalta laskettaisiin, kuinka monta SUBMIT-komentoa hän päivässä antoi. Tämä tuottavuuden tarkkailu kuitenkin väljähtyi alkuunsa, koska joku väsäsi hetkessä rutiinin, joka sekunnissa purskautti 100 SUBMIT komentoa. Paperin kulutus suunnitteluosastolla väheni murto-osaan entisestä ja reikäkorttilävistäjälle etsittiin uusi homma. Lävistin jouti siirrettäväksi museoon.

Operaattorit olivat hoitaneet palkka-asiansa näennäisen hyvin. Pankki oli ollut kuitenkin ovelampi. Pankki oli satsannut palkankorotuksissa kolmivuorotyölisään eikä peruspalkkaan. Toimihenkilöyhdistystä oli narutettu samaan ansaan. Oltiin tyytyväisiä kunhan vain palkat kasvoivat. Niinpä kun koneet tulivat  tehokkaimmaksi, ei enää kolmivuorotyötä ollut ja loppujen lopuksi ei edes kaksivuorotyötä. Toisin sanoen pankki toimiessaan täysin työehtosopimuksen mukaisesti sai alennettua operaattoreiden palkkoja noin 25 prosenttia ilman neuvotteluja. Kun sitten ylityöt ja sunnuntaityöt jäivät, oli palkanalennus vieläkin suurempi.

Aloin hiljalleen kiinnostua myös työelämän tästä puolesta. Minut nimettiin VLTL:n ATK-toimikuntaan suunnittelijoitten edustajaksi. VLTL eli Valtion laitosten ja yhtiöiden toimihenkilöliitto oli Postipankin toimihenkilöitten kattojärjestö. Postipankin toimihenkilöihin kuului noin 5000 työntekijää ja erikoista kyllä, se teki itsenäisesti virkaehtosopimuksen pankin kanssa. Tähän soppaan aloin työntää lusikkaani.