En vecka med Atomic Object i Grand Rapids, USA, gav Citerus konsult Linnea Cronfalk inspiration och nya kunskaper. Här delar hon med sig av sina tankar.
Great Not Big – så kallar Carl Erickson, grundare av vårt vänföretag Atomic Object, sin blogg där han skriver om sina tankar kring att bygga och driva ett mjukvaruutvecklande konsultbolag. Kopplingarna mellan Citerus och Atomic Object går så långt tillbaka som till 90-talet, då Carl arbetade som professor i datavetenskap på Uppsala Universitet, där Citerus grundare var studenter. Alltsedan dess har vi haft kontakt med Carl och hans kollegor, flera av Citerus grundare har besökt AO i Grand Rapids över åren.
2012 etablerades ett mer strukturerat utbyte, som vi kallar Craftsmanship Exchange. Syftet är att vi genom att besöka varandra lär oss både om teknik, arbetssätt, arbetsplatskultur – samtidigt som vi har väldigt roligt. Vi byter konsulter med varandra två gånger per år och denna vår var det Linnea Cronfalks tur att ta flyget till Chicago.
En vecka med Atomic Object
Efter en kort flight från Chicago över Lake Michigan landade jag i ett sommarvarmt Grand Rapids för att spendera en vecka med Atomic Object. Grand Rapids är Michigans näst största stad men är en ganska anonym, typisk amerikansk stad. En påtaglig del av Grand Rapids befolkning identifierar sig med sina nederländska förfäder och jag misstänker att det inte är ett sammanträffande att var och varannan har tulpaner i trädgården och tar cykeln till jobbet.
Atomic Object håller till i ett tegelhus omgivet av hemtrevliga gator med stora villor. Kontoret är som en oas av kreativitet och kunskap. De flesta av de ca 40 anställda arbetar på kontoret dagligen, och det märks att de trivs där. Arbetsplatserna är arrangerade som det passar bäst för stunden, mer eller mindre grupperat per projekt. Ingen tvekar att byta plats och bilda nya konstellationer för att kunna samarbeta så effektivt som möjligt. En av kontorets mer avundsvärda features är 3D-skrivaren! Just nu användes den för att bygga just en 3D-skrivare, en given tillämpning för ett gäng med stor fascination för Quine
Visualisering är en självklarhet, det första jag såg när jag klev in i kontorslandskapet var trafikljuset i mitten som givetvis symboliserar status för projektens automatiserade bygg- och testexekvering. Väggarna pryds av projektangelägenheter som prototyper, användarprofiler och designförslag. På skärmar visas statistik ur alla tänkbara aspekter såsom antalet blogginlägg per anställd, debiteringsgrad och projektstatus.
Jag blev välkomnad av ett team som arbetar med ett riktigt intressant projekt där man utvecklar en robot som ska traversera genom och analysera rörledningar. Atomic Object utvecklar all mjukvara i systemet, både en hel del inbyggd mjukvara och en Windows-applikation för databehandling. Jag fick se lite av varje och utmaningarna i att få integrationen att fungera bra. Teamet kämpade just nu med att få tid att arbeta med automatiserade systemtester och jag kunde känna igen den inre konflikten mellan full transparens och ansvarstagande som hantverkare.
Det bästa med att få vara med i just det här projektet var att jag fick se lite inbyggd mjukvara! Det är en annan sorts utmaning när allt går i realtid och man helt enkelt får ta till oscilloskopet för att debugga koden. Det var intressant att se hur de arbetade testdrivet med den inbyggda koden och var begränsningarna i det låg.
Jag fick även vara med och parprogrammera ett par dagar i Windows-applikationen och fick tillfälle att koda C# vilket syntaxmässigt visade sig vara ganska intuitivt om man kommer direkt från Java. WPF (Windows Presentation Foundation) var däremot helt ny mark för mig, som är ovan med både desktop och Microsoft.
Det är en utmaning att hoppa in i ett projekt under en vecka och ta till sig alla tekniska aspekter. Jag tror att varken jag eller teamet hade någon bra idé om hur vi skulle gå tillväga för att vi skulle få ut så mycket av veckan som möjligt. Vi valde att försöka abstrahera bort så mycket som möjligt av projektspecifika aspekter och istället hitta avgränsade, mer konkreta problem, som vi kunde resonera kring tillsammans.
Atomic Object är som Citerus, fullt av engagerade människor som verkligen bryr sig, och man märker att de har ett starkt förtroende från sina kunder. De vet att Atomic Object har förmåga och tar ansvar för att leverera den bästa möjliga lösningen. I många projekt samarbetar de med kunden från ett mycket tidigt stadium och de ges ofta fria händer att prova en annan riktning för att uppnå ett bättre slutresultat.
Precis som på Citerus så finns det så otroligt mycket kunskap i detta lilla företag, och de är bra på att dela den. Både internt genom alla de diskussioner som pågår kontinuerligt under dagarna och externt genom att publicera blogginlägg för varje problem man löser. De har en ödmjukhet och prestigelöshet värd att eftersträva.
Jag lämnar Grand Rapids med en aning vemod, det har varit så kul att träffa alla på Atomic Object och efter att ha spenderat en vecka med dem så känns det lite konstigt att åka hem. Jag är glad att Citerus och Atomic Object har möjliggjort Craftsmanship Exchange, den här veckan har verkligen varit en otroligt kul, lärorik och inspirerande upplevelse.