Bitwise Bootcamp on kesätyökonsepti, jossa brillianteiksi tunnistetut nuoret kyvyt pääsevät osoittamaan taitonsa työelämässä, ja oppimaan oikeissa asiakasprojekteissa konkareiden rinnalla. Lisäksi Bootcamp-ryhmä toteuttaa yhdessä kesävitkuttimen, joka määritellään uudelleen joka vuosi. Toiveena on, että jokainen bootcampiläinen jatkaa bitwiserina kesän jälkeen.

Tenttituolissa tänään tietojenkäsittelytieteiden kandiopiskelija Hanna, joka on Bitwisen kesän 2018 bootcampiläinen. Hannan ydintaitoja ovat koodin lisäksi UX, design ja grafiikka.

Dronen lennätystä ja lomafiiliksiä Bitwisen eräjormalomalta Itävallasta.

Lue lisää

Miksi me seisomme kylpytakeissa keskellä itävaltalaista peltoa?

Viime syksynä toimarilla heräsi ajatus, että koko porukka pitäisi saada HC-eräjormailemaan, eli testaamaan ohjelmistojen lisäksi myös omia fyysisiä rajoja extreme-urheilun pariin. Yhdessä tekeminen hitsaa työkaverit yhteen sellaisella tavalla, mihin tavanomainen neukkarissa järjestetty tiimityö-workshop ei pysty.

Ja siitä se ajatus sitten lähti.

Matkakohteeksi valikoitui Itävallan Oetz, joka on oiva tukikohta kaikenlaiselle alppiurheilulle. Meidät majoitettiin Natur & Aktiv Resort Ötztalin idylliseen mökkikylään, upeisiin vuoristomaisemiin. Lue lisää

Kello on 6:20 ja hieron silmiäni Toijalan rautatieasemalla. Odottelen Helsingin junaa, joka on tietysti hieman myöhässä. Edellisen illan BitHack varasti muutaman tunnin yöunilta, mutta se ei haittaa, onhan edessä ensimmäinen Agile-seminaarini.

Vielä tässä kohtaa en voi aavistaa kuinka samaa mieltä voin olla päivän puhujien kanssa. Mm. responsiivinen organisaatio on toimintatapa, jota edistän omassa roolissani Team Leadina Bitwisella. Tässä kertomuksessa paneudunkin vahvasti Sami Honkosen puheenvuoroon. Lue lisää

Mitä ovat Segelbättrebåt, Keijon pojat, Kumiankka ja kumppanit, Immutable, Immersive, Source ja Rinnakkaisuutta tositarkoituksella?  No, tiistaisen Bithackin seitsemän osallistujatiimiä – tiätty! Vaikka joukkueiden nimiin oli haettu huumoria, oli itse kisaaminen totisinta totta.

Tilaisuuden lämmittelijänä ja  aiheeseen johdattelijana toimi ex-bitwiser, nykyään Sandvikilla työskentelevä Johannes Koskinen. Hän luennoi aiheesta: Rinnakkaisuutta koneenohjausjärjestelmissä – totta vai tarua.

Koskisen Johanneksen luentoa kuunneltiin korva tarkkana.

Tehtävän kimppuun

Tehtävänantona joukkueilla oli toteuttaa abstrakti rajapinta IBitlogger siten, että:

* palautus koostuu yhdestä cpp-tiedostosta
* ohjelma kääntyy ilman varoituksia
* koodin tyyli on yhdenmukainen ja selkeä
* ohjelma tulostaa tiedostoon ja stdout:iin oikealla tavalla muotoiltuja lokiviestejä (aika, loglevel, tiedosto, viesti)
* ohjelma on thread-safe, eli rajapintaa voidaan kutsua turvallisesti useasta eri threadista
* ohjelma on mahdollisimman tehokas

Joukkueet saivat toteutusta varten kaiken muun valmiina, paitsi tehtävänannossa vaaditun cpp-tiedoston, jonka oli tarkoitus sisältää toteutus IBitlogger -rajapinnalle. Lue lisää

On perjantaipäivä. Firman chattiin kilahtaa muistutus pian alkavasta kahvitaukoaktiviteetista. Lähes kaikki bitwiserit säntäävät klo 14 firman kahvioon ja pian kahvikoneelle onkin muodostunut pitkä jono. Osa porukasta on kuitenkin saapunut jo viisi minuuttia aiemmin paikalle ja heidän käyttäytymistään ohjaa maistuvan kahvin lisäksi jokin muu. Juuri uusittu taukotila mukavine sohvineen ei nyt kiinnosta eikä myöskään shakkilaudan peräti jännä tilanne. Sen sijaan porukka marssiikin päättäväisesti kohti kahvion vieressä sijaitsevaa neukkaria. Lue lisää

Vuosi sitten alkanut projekti pääsi eilen välietappiinsa, kun  Bitwisen älykiekkojärjestelmä ja sitä hyödyntävä Tappara-applikaatio olivat ensimmäisen kerran käytössä Tampereen Hakametsän hallissa.

Valehtelisimme, jos väittäisimme, ettei jännittänyt.

Viimeiset viikot projektilaiset ovat tehneet pitkää päivää, jotta kaikki varmasti toimisi H-hetkellä. Jossain vaiheessa on vain pakko laittaa se ensimmäinen versio ulos. Ja meille ja Tappara-applikaatiolle se oli eilen. Kehitystyö toki jatkuu yhtä tomerana edelleen. Lue lisää

Bitwisen Bootcamp on ohjelmistoalan opiskelijoille tarkoitettu työskentelyjakso, jonka aikana he pääsevät osallistumaan oikeisiin asiakasprojekteihin bitwisereiden rinnalla. Työtehtävien lisäksi opiskelijat pääsevät mukaan tapahtumiin, jotka kutkuttavat joko kuntoa tai makuhermoja.

Bootcamp on ollut pidetty konsepti ja se sai hopeaa Vastuullisin kesäduuni 2015 -kilpailun PK-yritysten sarjassa.

Nyt kesä 2017 on ohi ja iloksemme useimmat bootcampiläiset jatkavat bitwisereina – opintojen ohessa. Parhaiten kesäfiilikset kertoo bootcampiläinen itse, joten annoimme näppäimistön yhdelle heistä:

”Tammikuussa 2017 olin malttamaton. Lue lisää

Esittelin kirjoituksen edellisessä osassa kaksi erilaista tapaa toteuttaa tilakone ohjelmointikielen tasolla. Ensimmäistä tapaa kutsuimme tapahtumapohjaiseksi malliksi. Sitten esittelin tästä ”standardimallista” hieman poikkeavan mallin, jota kutsuimme tilaa lukevaksi tai pollaavaksi malliksi. Tässä sarjan viimeissä osassa kuvaan minkälaisia käytännön ongelmia tilakoneen toteutuksessa voi olla, ja miten mallit pystyvät vastaamaan näihin haasteisiin.

Tilaräjähdysongelma

Kun erilaisten tapahtumien ja niitä lähettävien rinnakkaisten toimijoiden lukumäärä kasvaa, tapahtuu tilakoneen tilasiirtymien sekä ulospäin lähtevien käskyjen kaikkien mahdollisten lomitusten määrässä tyypillisesti eksponentiaalinen kasvu. Lue lisää

Kuten sarjan ensimmäisessä osassa lupasin, esittelen tässä osassa kaksi hieman toisistaan poikkeavaa lähestymistapaa siihen, miten tilakone voidaan käytännössä toteuttaa ohjelmointikielellä. 

Ensimmäiseksi tarkastelemme melko suoraviivaista tapaa toteuttaa tilakone. Oletamme, että kielenä on Javan tai C#:n tapainen olio-ohjelmointikieli. Lähestymistavassa tilat ovat luokkia ja tapahtumat niiden metodeja. Esimerkkinä käytämme 1. osassa esiteltyä suljetun tilan valvontajärjestelmää. Lue lisää

Tilakonetta voi käyttää reaktiivisen ohjelmistojärjestelmän mallintamiseen ja toteutukseen tilanteessa, jossa täytyy sekä reagoida reaalimaailmasta tuleviin tapahtumiin että saada vastineeksi aikaan muutoksia maailmassa. Esimerkkinä käytän valvontajärjestelmää suljetulle tilalle.

Tilakoneella tarkoitetaan systeemiä, joka koostuu tiloista ja niiden välisistä tilasiirtymistä. Tilasiirtymiä aiheuttavat yleensä jotkin ulkoa tulevat syötteet, ja ne voivat tuottaa ulospäin näkyviä tuloksia.

Yksinkertaisimmillaan tilakone lukee jonoa symboleita, suorittaa tilasiirtymiä syötteiden mukaisesti ja joko hyväksyy tai hylkää tietyt syötejonot tai tuottaa siirtymien tuloksena jonon tulosarvoja. Lue lisää