Creating Value by Sharing Knowledge

The Second Knowabunga Day of 2014


Posted 2014.04.10
by mikael.brassman

Our first knowledge day was code-named “Knowabunga Day”. It is a direct reference to our favourite childhood cartoon; Teenage Mutant Ninja Turtles. One of the characters – Michelangelo – used to yell “Cowabunga!”, a nonsensical word but with a lot of heart behind it.

Cowabunga dudes!

It’s no secret that we like to see ourselves as ninjas, i.e. specialists who execute their tasks seamlessly. In order to achieve our goals – and our clients’ goals – we need to keep our wits sharp and our tools sharper. It’s imperative for us to get involved in various kinds of knowledge reinforcing activities together with our fellow ninjas. We take these activities very seriously and plan carefully for them. Thus we made up the ‘Knowabunga’ moniker by combining the aforementioned turtle’s peculiar exclamation with the word ‘knowledge’.

The Knowabunga Zen

We started our first “Knowabunga” with a modest goal, to test the waters. We set that one up with Open Source Software (OSS) as a theme and divided ourselves into groups to work on some OSS projects. Our expectations were blown way out of proportion with our code mashing ninjas authoring at least one pull request. It was fun, it catered to our ninjas’ high competencies, and it’s difficult to imagine that we’d be able to follow up our initial Knowabunga success, which was a real debauchery of programming code. That is if you could even call it debauchery? You could tell it was more a case of pure indulgence with everyones passion clearly visible that day.

Interested in knowing more about that first day? Take a look at the blog posts below:

 

Lets talk about the second day then, shall we?

Enter the Dragon

The second Knowabunga Day occurred last Friday and – Oh My Goodness - was it fun! But I’m getting ahead of myself; let’s take it from the beginning! Long before the day started we were all given the opportunity to pitch ideas for projects or activities. So, that morning, after a magnificent intro by @baluubas, ideas were performed as elevator pitches in half a minute slots.

Chris is pitching

Pitching functional programming

The pitched ideas ranged from learning functional programming using koans, to looking at recently released versions of the OSS project Roslyn, to creating a platformer game using Unity. The Stockholm office had a comparable set of pitches; such as writing Chrome extensions and an awesome javascript 3D game. It just goes to show that although our locations may differ, our interests do not.

Groups were formed, as each pitch required at least two team members, and the activities started immediately thereafter. You could say that everyone in the office was pumped to work! The teams were so focused and immersed within their work that some were almost reluctant to leave their seats to eat some delicious lunch! Some of us even had to be reminded that it was, in fact, time to eat! Now that’s what you call dedication!

Coding!

Game Coding!

Look at all that code!

Rounding it Up

Towards the end of the day each team had a chance to debrief and discuss their activity or project. It went rather well, maybe too well, as our guy that is responsible for our knowledge days was totally chillin’…

@baluubas is all like chill, they got this...

Demo of a multiplayer game made in Unity3D

Demoing "SvenskSkarp"

A swagging report on their findings

The teams all had things to ‘show and tell’. It ended up as mostly ‘tell’ but there was a lot of showing off as well! The Unity 2D platformer team handed out XBOX controllers for the audience to play a death-match on our large projected screen. The Roslyn team created a compiler for a Swedish dialect of C# that we like to call “SvenskSkarp” and the functional programming team showed off how to write the Fizz Buzz programming challenge with a bunch of parenthesises.

Afterwork

The day ended with an afterwork and some ninjas indulged in playing a lot of table top games. Incidentally the next day was the International Tabletop Day.

Tabletop Gaming für Alles

Tsuro - A very easy game to set up and play

Want to read more about our day? Head on over to TheCodeJunkie’s blog who has written about the experience he had during the day.

 

Knowabunga day April


Posted 2014.04.01
by anders.persson

A while back I wrote about our knowledge sharing day and how we would spend that time on contributing to OSS projects. We are just around the corner for the second edition of this day which is now, after an evening of beer tasting, simply known as Knowabunga day. Yes, it’s a word play on cowabunga, popularized to us swedes by the fictional team of four teenage anthropomorphic turtles, and the word knowledge. It’s perhaps a bit on the corny side but it seems to have stuck so let’s roll with it.

This time we’ll do something completely different – we’ll have a knowledge hackahton. Before I explain what this entails I’ll just give you some background on how we ended with this particular agenda.

Being a consultant company of a certain size you are bound to have different competencies, often these are represented as different business areas. In those areas you’ll find different specializations and at the individual level you have even more diverse interests. One of the challenges we have at tretton37 is when we host these knowledge activities we want to cater to all those interest. Without a genuine interest in a topic there is nothing to drive the learning and that would pretty much render these days useless. So when we plan a knowabunga day agenda it has to work for everyone, from our agile mentors, to front-end devs, to our Sharepoint devs and so on. That, my friends, is easier said than done.

Regular tech talks wouldn’t work for us as we would have to have something for each interest. Instead we try to be creative and find topics or themes that work for everyone. Last knowabunga day, the open source theme worked out well since open source frameworks exist in pretty much any language and application layer.

The knowledge hackathon this Friday is an attempt at solving the diversity problem. At the start of the day, anyone may make a 60sec pitch on a topic that they wish to learn. Once the pitch round is over, those not pitching may choose to join a group of their choice. Groups with two or more people may continue to draft a curriculum for the day. This would set up a few goals of the day that must completed as well as a plan on how to get there. The group will then commit to this curriculum and spend almost the entire of the remainder of the day to reach the established goals. A nice perk is that the curriculums are published on our intranet so that anyone may use them later. We will end the day with a round of short talks from each group where we share insights.

There is an ulterior motive for forcing groups. We don’t meet often enough and it’s good to get to know new colleagues. Study groups are awesome for discipline and there is an opportunity to have discussions you wouldn’t have on your own. However, what we really would like to see is that people with similar interests find and meet each other. We have a tiny hope that some of the groups start to self organize after the day is over. Perhaps organizing meetups, start a channel on the company Jabbr or whatnot.

Just as last time, this is an experiment, it might turn out great and it may not. Either way, we’ll try and let you know how it went down. Look out for #knowabunga day in your timeline.

-Anders

That time I moved to Sweden…


Posted 2014.03.10
by Chris Sainty

In 2012 I moved from Australia to Sweden to join the tretton37 family. This is my story, but it could also be yours. Well except for the “2012” part – that ship has sailed.

tretton37 took a risk in hiring me – they had never hired a non-Swedish speaker before, especially one from so far abroad. In turn I took a risk on them – I had never even visited Sweden! What could possibly go wrong?
As it turns out, the answer to that question is a suitably understated “not much”.

Finding the right employer from the other side of the planet is a tricky business. A mutual friend introduced me to tretton37, and within minutes I was speaking to one of their founders on JabbR. Okay, okay, that part was easy. I’d love to say it was all that simple but of course, tretton37 takes recruitment very seriously.

Through the magic of Skype we organized two interviews; the first was a relaxed chat about tretton37 and Sweden, the merits of pizza vs. salad, and of course a little about myself. A few days later we had the technical interview covering standard .NET questions, code review, and general “shop talk” about our industry. There were no mountains to be moved or manhole covers to be pondered. I appreciated both interviews – relevant questions were asked and even if I was nervous, not once did I feel like the company was trying to find a way to make me slip up and fail the interview.

Since this post is useful for foreigners like myself, I should probably take a moment to answer the question, “Why Sweden?”.

Well, Sweden is a world leader of equality and fairness in society. Universal healthcare and education, gender equality, gay rights, and environmental sustainability are all basic truths of the Swedish society.

Not travelling alone? Your partner and children can migrate with you, and here they can work, study, and participate in the community as they wish.

Starting a family? How do 480 days of paid parental leave sound?

Worried about speaking only English? Swedes are ranked the best in the world for English as a second language.

Competitive salaries, proximity to the rest of Europe, a distinct lack of deadly animals (did I mention I’m Australian?), and long, dark, cold winters – wait, what?

But seriously, I’ve found that Sweden is a pretty nice place to live, even considering the fact that “winter is coming” was a way of life here long before some guy wrote a book about it.

For me, the great attractions of tretton37 were the people and the company culture. My colleagues are passionate, dedicated, diverse and interesting. Starting any technical discussion amongst the programmers invariably leads to a hearty exchange of opinions and approaches. Better still, tretton37 welcomes and encourages our individual ideas. We each have genuine potential to shape the company and make it how we want it to be. It is so refreshing to raise an issue and see it not only discussed, but also fixed, and a real joy to propose an idea and have it excitedly attempted and refined.

At the end of the day, tretton37 is simply an easy company to like. Good people, good management and good core values. We invest back into the community through Leetspeak and the best-catered user group meetings around. We strive to be better and to challenge any tradition. It’s a great feeling to be proud of the company you work for.

If you are interested in being part of the family, here are some links to read about tretton37, Sweden, or the migration process:

http://tretton37.com/
http://sweden.se/
http://work.sweden.se/
http://www.migrationsverket.se/English/Private-individuals.html

Report on Knowledge Sharing Day #1337oss at the Lund office


Posted 2014.02.03
by mikael.brassman

The morning

On Friday 31st January 2014 we started out with a fairly low level of expectation. It was “low” as in “we’d be happy if we get a pull request together” and there was also a whole stack of legal agreements that needed our attention. Some of the projects required that CLA’s (Contributor License Agreement) were signed for a large variety of “you can’t sue us” reasons. Expectations were also low due to the need for wading through large code bases and attempting to configure weirdly build set-ups, etc., things that may well occur when working on Open Source Software (OSS).

Prior to the day, some of the teams had sorted out some of these CLA’s and some teams even had a look at the source code. One question kept popping to mind; do we even have time to change things for the better?

Morning, reviewing stuff for 4 year anniversary

Well… even with this rather gloomy setup I’d say the hopes were still running high at the Lund office that morning, and I’m pretty sure that the same could’ve been said for the Stockholm office too.

After some breakfast and an introductory briefing we got started working on our projects. Each team was randomly assigned a project to look at and take it for a spin.

Anders presenting the agenda

My team began by looking at AngularJS and its source code before we started running some tests.

One interesting idea we can take from the Angular project is how it performs its end-to-end (E2E) testing. When we started up the Selenium tests we noticed they were using their own generated API documentation. That’s ingenious!

The great part about that idea is that the project forces itself to keep the API docs alive, as soon as a new feature is created it has to be included to the API docs for E2E testing. For most web application projects, using this approach would keep an generated style guide or a HTML/CSS/JS design document up-to-date as E2E tests are dogfooding it. Afterwards I heard of other OSS projects doing the same thing with their API docs, e.g. the rust language generating code from their own examples.

The switch

All was going well, but we encountered some pressing client matters that we had to change gears and look at the knockout-secure-binding project instead. There was a feature missing that was badly needed by one of our team members (we’ll call him Joel, as that’s his name). The feature sought to add support for KnockoutJS’s virtual elements.

Code is breaking, WHY!?

After we had written some tests (both a manual one and then an automatic one) and completed a debugging procedure we were able to find out where the missing part of the puzzle was located.

The result

The work all resulted into a Pull Request (PR) that fixed that issue and was accepted through modifications later that night. This, obviously, made us all very happy (and slightly relieved)!

Not all of us in the team have completed open source contributing before, and there was some suspicion concerning just how open and easy it seems to be. Questions such as “when do people get time to do this?” and “why do they bother doing this?” were asked, and these are difficult to answer as it depends totally on the contributor. On Github, creating a PR is pretty easy to do, but it may not necessarily mean that the project maintainers will accept your PR. Having our PR accepted made us accept the process that OSS community is using.

Closing in on the #1337oss day

Towards the end of the day, with our 17-ish teams of three man bands, we amassed a whooping 23+ Pull Requests and contributions. Contributions included everything and ranged from typo fixes to new features. That’s amazing considering the expectations we had set in the morning!

We even put these contributions in a fancy floral frame for everyone to look at and admire!

OUR GLORIOUSLY WONDERFUL COMMITS!!!

It’s amazing how we all can work together as a company and help out the community. Do you and your company contribute to the Open Source Community? If so, leave a comment below, if not then what are you waiting for?

Community – Quid Pro Quo


Posted 2014.01.28
by anders.persson

As developers and as companies we benefit tremendously from what is done within open source projects. We, and every one else profiting from this really owe it to the community to provide something in return – Quid pro quo.

Knowledge

At tretton37 we have Knowledge Sharing Days at our own offices, both in Lund and Stockholm. We have expanded this concept for 2014 and it’s going to be glorious! It also sits well with our ‘Craftsmanship as a Lifestyle’ core value and we all truly enjoy learning new stuff.

We <3 Open Source

But let’s get back to open source – we figure one of the main obstacles against contributing to open source is the lack of time. It’s an inherent property of time that you can’t make more of- you can only allocate it. So why not dedicate one of our brand new Knowledge Days to this purpose? Spoiler alert – that’s just what we will do.

With some work we managed to create an agenda for the day that also squeezes in some learning and knowledge sharing in addition to the contribution part.

This is what we’ll do
In short this is what we will do: we’ll create small groups of three and each group will be assigned an open source project. The ultimate goal of the teams is to contribute something at the end of the day to the project. Contribute may mean anything; fix a bug, implement a requested feature, build a plugin or whatnot. In between, we’ll take some time to figure out how the code works and see what we can learn from it.

We will work with the following projects;

NancyFx
SignalR
ScriptCS
Glimpse
Ninject
AngularJS
Handlebars
KnockoutJS
MiniProfiler
Elmah
Template Hub
Caliburn.Micro

This is the first experiment of this kind that we will do at tretton37 – we’ll let you know how the thing turns out, either here or on the grapevine.

We’ll report on our progress during the day with the hashtag #1337oss.

Keep it OSS!