Bytecraftin marraskuu

06.12.2020

Terve vaan kaikille. Tätä kirjoittaessa Suomi viettää 103:nnetta itsenäisyyspäiväänsä. Onnea siis nuorelle neidolle! Itsenäisestä Suomesta voikin siirtää seuraavaksi aiheen itsenäisesti työntekijöidensä omistaman Bytecraftin marraskuun tapahtumiin. Yllättävän paljon kaikennäköistä mielenkiintoista extraa mahtui marraskuuhun päivittäisen konsultointityön lisäksi.

Functional Domain Modelling -sessio

Meidän Juha piti Tech Excellence Finlandin ryhmittymässä hands-on session aiheesta funktionaalinen domain-mallinnus. Tämä sessio oli tavallaan luonnollista jatkumoa meidän kirjakerholle, jossa olemme tämän syksyn lukeneet kirjaa Domain Modeling Made Functional. Kirjan opit ja funktionaalinen ohjelmointi olivat Juhalle jo entuudestaan siinä määrin tuttuja, että siinä syksyn aikana kypsyi idea omasta sessiosta aiheen ympärillä. Kirjalle ehdoton lukusuositus (menee omassa listassani top3 IT-kirjoihin). Kirjan innoittaman session matskut löytyvät myös githubin puolelta. Saimme myös mukavasti muutaman viikottaisen perjantaipöhinän marraskuulta kulumaan valmistautuessa sessioon niin ideoiden vaihdossa kuin testatessa, kuinkas hyvin nämä funktionaalisen domain-mallinnuksen opit sujuvatkaan erilaisissa kielissä. Oma yhteenveto:

  • f-sharp: kuin nenä päähän. Saa jopa vannoutuneen JVM-miehen pohtimaan .NET kehitystä
  • typescript: helppo lähteä testailemaan funktionaalisen mallinnuksen ideoita, mutta pari kielen puutetta/ominaisuutta vesittää kokemuksen
  • scala: ei omakohtaista kokemusta, mutta näyttäisi passelilta
  • kotlin: toimii, mutta tyypitys ei ole aivan yhtä eleganttia kuin f-sharp/TS puolella
  • dynaamiset kielet: ei jatkoon

Ohjelmistoprojekti-kurssi Aallossa

Olen vuosien aikana ollut useasti kyseisellä kurssilla mukana Agile Coach-roolissa ohjaamassa ryhmien työtä asiakasprojektien parissa. Kurssia voikin kuvailla oikeastaan tälläisenä lähes koko lukuvuoden mittaisena eepoksena, jossa toisilleen tutut tai tuntemattomat oppilaat muodostavat tiimin. Tiimin tehtävänä on lukuvuoden aikana toteuttaa aidoille asiakkaille (yritykset / säätiöt jne) jokin tuote tai palvelu. Tänä vuonna Bytecraft on mukana loppuasiakkaan roolissa ja kerrottakoon tästä meidän työnimellä “Timesheets” kulkevasta projektista keväällä enemmän. Väliaikatietona voi todeta, että projekti on startannut erinomaisesti ja ryhmä Aaltolaisia on lähestynyt projektiamme vähintäänkin samalla intensiteetillä kuin joukko kokeneita konsultteja.

Bytecraft pääsi myös tänä vuonna osaksi kurssin luento-ohjelmaa ja pidimme Aaltolaisille kaksi luentoa laadukkaan koodin ympärillä. Ensimmäisen luennon aiheet olivat monilta osin tuttuja Uncle Bobin Clean Code-kirjasta soveltuvin esimerkein. Ei mitään uraa uurtavaa, mutta sellaisia asioita joista koen, että ainakin itselleni olisi ollut suurtakin apua tuossa 2-3 vuosikurssin opintojen vaiheessa. Aiheita olivat esimerkiksi koodin kommentointi (miksi se ei oikeastaan useimmiten olekaan niin hyvä idea) sekä funktioden ja luokkien rakenteet.

Toinen luento laadukkaan koodin ympäriltä oli omistettu automaattiselle yksikkö- ja integraatiotestaamiselle. Tämäkin luento koostui aika perustempuista aiheensa ympäriltä. Mitä on yksikkötestaus, miten se eroaa integraatiotestauksesta ja miten näistä kahdesta saisi maksimoitua (hyvän) testauksen kahta ominaispiirrettä: verifiointia & dokumentointia. Molemmat luennot pyörivät kiivaasti koodiesimerkkien ympärillä ja olivat ainakin allekirjoittaneelle mieluisia tapahtumia. En osaa sanoa nukahtiko kukaan luentojen aikana, sillä Zoomissa tuota oli normaalia luokkahuonetta vaikeampi seurata.


Näiden kahden isomman kokonaisuuden lisäksi meillä oli tietysti joka perjantaiset pöhinät. Niistä tärkeimpinä nostoina tuo funktionaalisen domain-mallinnukseen valmistautuminen sekä mietteitä siitä, miten voisimme Bytecraftilla tukea itse kunkin henkilökohtaista & koko firman laajuista teknistä kehitystä vielä paremmin. Lopputulemana on Bytecraftin kompensoimaa aikaa henkilökohtaiseen oppimiseen niin itsenäisenä työskentelynä kuin halukkaiden osallistumisena esimerkiksi kursseille, koulutuksiin tai muihin alan tapahtumiin. Vielä viimeisinä uutisina voisi sanoa, että toimistomme on nyt erittäin funktionaalisessa iskussa - läväytimme seinille muutamia whiteboardeja ja keittiön läheisyyteen ruokapöydän.

Säpinää whiteboardin ympärillä. Kuvaustilanteessa ei vahingoitettu konsultteja
Säpinää whiteboardin ympärillä. Kuvaustilanteessa ei vahingoitettu konsultteja

Toivotaan, että koronarokote saadaan maailmalla ja Suomessa käyttöön oletettuun tahtiin. Näin voisimme saada turvallisin tunnelmin whiteboardeille piirtelijöitä toimistolle ja sen jälkeen juomaan Juran keittämät kahvit pöydän ääreen. Näihin tunnelmiin, Bytecraft kuittaa marraskuun käydyksi, palataan kuulumisien kanssa vuoden vaihteessa.