Pöhinäloki_

Aiheet mitä käymme perjantaisin läpi lisätäksemme ymmärrystä softakehityksestä.

18.10.2024 Complex systems

Tämän kerran lounaspöhinöissä Antti johdatteli byteläiset kompleksisten systeemien maailmaan.

Käsittelyssä oli mm. mitä tapahtuu kun ongelma vaikuttaa useammalla skaalalla (asiakas-liiketoiminta-tekniikka-logiikka) ja vaikeasti ennustettavasti, ja mitä on deterministinen kaaos.

Lisäksi, miten ratkotaan ongelmia, joista on lähes mahdotonta löytää syy-seuraussuhteita, ja mitä vaaroja on siinä, jos kompleksista systeemiä yritetään hallita simppelillä syy-seuraussuhteella ja miten siinä voidaan mennä metsään.

Kompleksien aiheiden kanssa nautittiin yksinkertaista pitsaa!

11.10.2024 Kekrivisa

Lokakuun puolivälissä pidimme Bytepäivä-lightin ja virittäydyimme sekä Halloweeniin, että jo käynnissä olevaan Kekrin aikaan! Annamari piti tietovisan sekä suomalaiseen kansanperinteeseen kuuluvasta ja kuitenkin ehkä vieraammasta kekrin ajasta, että kaikille vähintäänkin populäärikulttuurista tutusta Halloweenista.

Tietäisitkö googlaamatta esimerkiksi, onko kekriä kutsuttu nimellä käyry vai keyri, tai miten monta Halloween-franchisen elokuvaa on tehty? Kaikki visailijat saivat pisteitä, monet oppivat uutta ja siinä lomassa nautittiin teemaan sopivia herkkuja.

4.10.2024 Varhaisen tuen ohjeet

Lokakuun alussa bytecraftilaiset kävivät yhdessä läpi yrityksen Varhaisen tuen mallia sekä Päihdeohjelmaa Annamarin liidauksessa. Firman ennakoivista ohjeista on tärkeä sopia ja keskustella yhdessä, vain silloin ne voivat todella toimia ennaltaehkäisevästi. Molemmat tukimallit kirvoittivat lisäksi hyvää keskustelua työntekijöiden hyvinvoinnin tärkeydestä, voimavaroista ja riskien arvioinnista.

27.9.2024 Syväsukellus talouteen ja myyntiin


Syyskuun viimeisenä perjantaina toimarimme Ville esitteli alan tilannetta ja Bytecraftin lukuja. Tuloksemme ja liikevaihtomme on kasvanut erinomaisesti siitäkin huolimatta että yleinen tilalle alalla on ollut viime vuosina haastavahko. Sen lisäksi Ville kertoi myynnistämme ja uusista avauksista. Niiden perusteella myös Bytecraftin tulevaisuus näyttää erittäin valoisalta!

13.9. Kirja- ja koodiesittely: Domain Modeling Made Functional

Konsulttimme Mikko veti Pöhinä-esityksen kirjasta Domain Modeling Made Functional: Tackle Software Complexicity with Domain-Driven Design and F#. Iso osa esittelyä oli omistettu myös Mikon omalle harjoitusprojektille kirjan aiheista, jossa hän oli toteuttanut kirjassa esitellyn tilausprosessin web sovelluksena. Kirja esittelee Domain Driven Designin (DDD) perusteet ja hyppää sitten syvään F#-päätyyn, jossa käydään läpi miten mallinnettu domain voidaan toteuttaa F# kielellä. Kirja löytyy myös verkosta osoitteesta https://fsharpforfunandprofit.com/books/

Mikon mielestä DDD:n hyödyllisin asia on Event Storming, jossa kaikki projektiin osallistuvat: sekä liiketoiminnan asiantuntijat, että kehittäjät, kutsutaan yhteen piirtämään, mallintamaan ja rakentamaan yhteistä mallia ja kehittämään yhteiskäyttöistä sanastoa. Event Stormingista löytyy myös paljon verkkoluentoja, sekä Eric Evansin kirja “The blue book” eli  Domain-Driven Design.

Mikko esitteli harjoitusprojektin F# web stackia ja kertoi, miten hän hyödynsi kirjan eri aiheita käytännössä. Harjoitusprojektin F# toteutus oli tuotantovalmis vertikaali kirjan tilausprosessiesimerkistä sisältäen asynkronisen html käyttöliittymän validointeineen, domain mallin ja liiketoimintalogiikan, tietokannan migraatioineen, yksikkö-, integraatio- ja e2e testit.

Käytetty tekkistackki: HTML, Bootstrap, HTMX, F#, Asp.Net, Giraffe, Dapper, SQL Server, FsUnit, Validus, Canopy. Käyttöliittymässä käytetty HTMX herätti kiinnostusta potentiaalisena vaihtoehtoina yleisesti käytössä oleville web frontend frameworkeille. Tästä onkin tulossa lisää pöhinää myöhemmin.

30.8.2024 Kollaboratiivinen työkaluesittely

Elokuun viimeisenä perjantaina pöhisimme käytetyimmistä työkaluistamme. Napakasti aikataulutetun esittelyn lomassa ehti suht lyhyessä ajassa viritä paljon erilaisia keskusteluja!

Vertailimme vaihtoehtoja  usean monitorin vs. usean digitaalisen työpöydän välillä sekä erilaisia IDE:jä (esim. VSCode ja IntelliJ IDEA), pohdimme eri ohjelmointikielien vahvuusalueita ja mihin tarkoituksiin ne parhaiten soveltuvat, sekä kävimme läpi Git-praktiikoita. Keskustelimme myös eri käyttöjärjestelmistä ja debuggereista.

Työkalusetit ovat monelle yksilökohtaisia - osa käyttää todella paljon erilaisia työkaluja, kun taas jollain periaate saattaa olla “jos sitä ei löydy IDE:stä niin sitä ei tarvitse”. Erilaisia toimivia tapoja on paljon! Osa on käyttänyt GenAI-työkaluja työn apuna jo vuosia ennen niiden yleistymistä ja osa ei ole kokenut niitä vielä hyödyllisiksi itselleen. Lisäksi keskustelimme erilaisista hyödyllisistä kirjastoista ja frameworkeista, kuten Tailwind CSS.

Digitaaliset työkalut eivät ole ongelmanratkaisussa kokonaan korvanneet paperia ja kynää.  Keskustelusta ilmeni, että valkotaulu ja post-it-laput ovat edelleen osalle Software Craftereista olennaisia työkaluja ja tulevat olemaan sitä jatkossakin.

Kokeneet konsulttimme saivat toisiltaan hyviä vinkkejä ja kaikki oppivat jotain uutta - erinomainen esimerkki Perjantaipöhinästämme siis!

16.8.2024 Funktionaalinen ohjelmointi ja oliomaailma

Perjantaina 16.8. konsulttimme Mikko piti Pöhinän pragmaattisesta näkökulmasta siihen, miten funktionaalisen ohjelmoinnin parhaat opit siirtyvät oliomaailmaan. Pöhinöissä käsiteltiin muun muassa sitä, miten funktionaalinen- ja olio-ohjelmointi eroavat toisistaan, vai eroavatko ollenkaan.
Mikko on havainnut että parhaat tavat (best practices) toimivat molemmissa paradigmoissa yli rajojen. Funktionaalisen ohjelmoinnin tilanhallinnan parhaat tavat voi tuoda olio-maailmaan. Funktionaalisen ohjelmoinnin hyödyt voivat myös luoda motivaatiota opiskella sitä, vaikka sen kanssa ei työskentelisikään päivittäin. Lisäksi käsiteltiin monadien tuomista käytännön tasolle. Loppujen lopuksi tärkeää on pitää mukana pragmaattinen näkökulma - ei pakoteta paradigmoja sinne, minne ne eivät sovi.

9.8.2024 Paluu kesälaitumilta

Elokuun toisena perjantaina byteläiset kokoontuivat toimistolle ja etänä ensimmäisiin kesäkauden jälkeisiin Pöhinöihin. Jaoimme kesäkuulumisia, vapaa-ajalla tehtyjä omia devausprojekteja sekä tuoreimpia työkuulumisia. Lisäksi käsittelimme ajankohtaisia Byte-aiheita. Paluu sorvin ääreen tuntuu aina mukavammalta kun työ on mielenkiintoista ja sen voi jakaa tämän porukan kanssa!

14.6.2024 Paulan tervetuliaiskakkua

Kevätkauden viimeisissä pöhinöissä kesäkuun puolivälissä päästiin toivottamaan tervetulleeksi uusi software crafterimme Paula! Tervetuloa Paula joukkoon iloiseen!
Kakun syönnin lomassa vaihdettiin kuulumisia ja keskusteltiin tiiviisti päivän polttavista Byte-aiheista ja kesäsuunnitelmista.
Bytecraft toivottaa hyvää juhannusta ja hyvää kesää 2024!

24.5.2024 Funktionaalinen ohjelmointi vol. 3

Kolmannessa funktionaalisen ohjelmoinnin perjantaipöhinässä mentiin aiheessa edellisiäkin syvemmälle. Pöhinäsetissä käsiteltiin tai sivuttiin mm. algebrallisia datatyyppejä, efektisysteemejä, lazy evaluationia ja häntärekursiota. Antti kertoi että monadien lisäksi on olemassa muitakin tyyppiluokkia, kuten functor, group, monoid ja semigroup.

Esityksessä käytiin läpi myös erilaisia strategioita siihen, että miten "referential transparency":yn päästään. Efektisysteemeihin liittyen käsiteltiin sitä, että tyypillisesti immutabilityä käytetään referential transparencyn saavuttamiseen, mutta immutability ei ole vaatimus funktionaaliselle ohjelominnille. Mutable referencyt täyttävät tuon "referential transparencyn".

17.5.2024 Kesäpäivät

Toukokuisena lämpimänä perjantaina Byteläiset kokoontuivat toimistolle ja lähtivät kohti jousiammuntahallia! Saimme hyvää ohjausta mielenkiintoisessa lajissa ja sen myötä paljon hienoja onnistumisen kokemuksia. Illaksi siirryttiin syömään georgialaista ruokaa - ruoka oli hyvää ja sitä riitti.

Käytimme myös hyväksi kaunista keliä puistoilemalla useassa eri vaiheessa.
Olipa jälleen mukavaa kohdata yhdessä toinen toisemme työkuvioiden ulkopuolella!

3.5.2024 Git versionhallinta

Toukokuun alussa Jaakko tutustutti byteläiset gitin maailmaan. Git on hajautettu versionhallintajärjestelmä. Perjantaipöhinässä käytiin läpi erilaisia käytäntöjä gitin ympärillä, kuten erilaisia enemmän tai vähemmän käytettyjä komentoja sekä työtäpoja. Lisäksi keskusteltiin eri ihmisten omista tavoista käyttää gittiä.

26.4.2024 Pre-vappu

Huhtikuun viimeisissä pöhinöissä oltiin jo hieman vapputunnelmissa! Toimisto oli saanut koristeita ja tarjolla oli munkkeja ja simaa. Byteläisillä oli kaapeista kaivettuja vanhoja opiskeluhaalareita ja muuta vappuisaa pukeutumista. Viikoittaisen kuulumiskierroksen lisäksi jaoimme näissä rennommissa pöhinöissä myös muistoja opiskeluajoista!

19.4.2024 Funktionaalinen ohjelmointi, Vol. 2

Funktionaalisen ohjelmoinnin pöhinäsarjan toisessa osassa käytiin läpi aihetta teknisemmästä näkökulmasta. Osa osallistujista seurasi etänä, toimistolla oleville oli tarjolla myös lounaspitsaa.

Aiheina oli: Mitä tarkoittavat summa- ja tulotyypit, ja mitä tekemistä matematiikalla on ohjelmoinnin kanssa? Entä mitä tarkoittaa se että puhtaammissa funktionaalisissa kielissä funktiot ja muuttujat ovat sama asia? Vielä - mitä ovat korkeamman asteen funktiot tai paloittain määritellyt funktiot? Lisäksi käytiin pieni katsaus Either/Maybe monadeihin ja deklaratiiviseen tapaan käsitellä virheitä koodissa.

Aihe herätti niin paljon mielenkiintoa ja paljon jäi vielä käsittelemättä, joten Antti esittelee aihetta vieläkin syvemmälle menevässä kolmannessa sessiossa myöhemmin keväällä.

12.4.2024 Funktionaalinen ohjelmointiparadigma

Huhtikuun puolivälissä pöhinöissä käsiteltiin funktionaalista ohjelmointiparadigmaa. Antin pöhinäesitys keskittyi tällä kertaa siihen, missä tilanteissa ja miksi juuri niissä funktionaalinen ohjelmointi on oikea työkalu - ja missä taas ei. Esityksen kohderyhmänä olivat niin ei-teknistä työtä tekevät kuin koodarit, joille aihepiiri ei ollut kovin tuttu.

Pöhinöissä käytiin läpi referential transparencyä, puhtaita funktioita, immutabilityä, sekä algebrallisia rakenteita. Antti kertoi, miten matemaattista intuitiota voi käytännössä soveltaa ohjelmistokehityksessä niin, että päästään eroon ikävistä bugeista ja ongelmista.

Lopuksi hän esitteli muutamia koodiesimerkkejä sivuvaikutusten (side effect) aiheuttamista ongelmista ja siitä, miten epäpuhtaudet johtavat koodin vaikeampaan reasonointiin.

Nämä pöhinät olivat ensimmäinen osa kaksiosaisen funktionaalisen ohjelmointiparadigmaesityksen sarjassa. Seuraavalla kerralla Antti käsittelee aihetta hieman teknisemmästä näkökulmasta.

15.3.2024 Uusien työntekijöiden juhlistus

Maaliskuun puolivälissä saimme kaksi uutta työntekijää - softakehittäjä Mikon sekä Account manager Tarun! Mikko on ollut alalla pitkään, ja tuo mukanaan mm. erinomaista mentorihenkeä. Myynnin ja markkinoinnin opiskelija Taru pääsi meille aivan uuteen rooliin osa-aikaiseksi myynnin ja asiakastyytyväisyyden tekijäksi. Näille tyypeille kannatti todellakin samalla viikoilla kippistellä ja korkata kakku!

8.3.2024 Computational complexity

Tällä kertaa pöhinöiden aihe oli hieman teoreettisempi, mutta tietojenkäsittelytieteen näkökulmasta. Antti kertoi meille aiheesta computational complexity, eli laskennan kompleksiteetit.
Pöhinöissä käytiin läpi mm. mitä käytännössä tarkoittaa turingin kone, ja mitä kompleksiteettiluokat kuten P, NP tai EXPTIME ovat. Asiaa käytiin läpi siitä näkökulmasta, miten nämä liittyvät ohjelman suoritusaikaan tai muistinkäyttöön käytännössä. Lisäksi sivuttiin ihmiskunnan suurimpia selvittämättömiä mysteerejä.

23.2.2024 Bytepäivä light

Helmikuun lopussa vietimme kevyttä virkistysiltaa, eli Bytepäivä lightia. Tarkoituksena oli pelata pelejä, sekä tilata ruokaa.
Byteläiset kuitenkin viihtyivät niin hyvin jutustellessaan, että pelien sijaan päädyimme keskustelemaan yhdessä tuntikaupalla mm. softa-alan sukupuolijakaumista ja videopelimaailmasta. Korttipelit jäivät odottamaan seuraavaa kertaa.

16.2.2024 Rennommat pöhinät

Helmikuun puolivälissä perjantai-iltapäivää vietettiin rennosti yhdessä oleskelemalla ja viikottaisella kuulumiskierroksella. Kuulumiskierros niin paikan päällä kuin etänä on tärkeä osa yhdessä jakamista ja toisilta oppimista. Usein, niin kuin myös tällä kerralla kierros viritti esiin keskustelun, joka jatkui pitkään virallisen osuuden jälkeen.

Tämän lisäksi pöhinöiden yhteydessä tapahtui Bytecraftin vuoden 2024 Liikuntahaasteen palkintojenjako! Liikuntahaaste on tykätty tapa lisätä huomiota ja motivaatiota istumatyöläisten liikkumiseen. Viisi eniten liikkunutta saivat hierontalahjakortteja ja voittaja, tällä kertaa Annamari, nimensä kiertopalkintoon. Liikkuminen on oleellista ympäri vuoden, mutta liikuntahaastetta jäämme jälleen odottamaan innolla seuraavaan kertaan!

2.2.2024 Ohjelmistoarkkitehtuurit

Helmikuun ensimmäisissä perjantaipöhinöissä puhuttiin ohjelmistoarkkitehtuureista. Juha esitteli aihetta parista eri tulokulmasta. Ensimmäinen tapa oli tarkastella isoa kuvaa. Toinen taas keskittyi yksityiskohtiin.

Isossa kuvassa liiketoimintakyvykkyydet yhdistettynä Domain Driven Designiin tarjoaa usein hyvän lähtökohdan lähteä rakentamaan arkkitehtuuria, joka vastaa liiketoiminnan tarpeita. Yksityiskohdissa, ja myös isossa kuvassa, testattavuus toimii yhtenä erinomaisena mittarina, kun tarkastellaan sovelluksen laatua ja arkkitehtuuria. Ongelmat ja vaikeudet testattavuudessa johtuvat usein heikosta arkkitehtuurissa tai sen puutteista.

Hyvä arkkitehtuuri rakentuu liiketoiminnan tarpeiden ympärille, sekä tekee testaamisesta helppoa, luotettavaa ja nopeaa.

Uudet kirjoitukset ja tapahtumat suoraan sähköpostiisi

Thank you! Your submission has been received!

Oops! Something went wrong while submitting the form