On a warm May Thursday afternoon, 27 Futurice people hopped on a bus that soon started making its way towards Porvoo, to the east of Helsinki. This kicked off the first ever Futurice code camp.
What’s a code camp? We didn’t originally come up with the concept but copied it, with pride, from our friends at Reaktor. The point of a camp is to gather together a group of software enthusiasts for a couple of days, with the intention of learning some new method or technology.
As a professional group, software developers are a bit strange. They often spend a lot of their free time working on things that are similar to what they do at work. They also like to give their work away for free in the form of Open Source projects. Different individuals have their own reasons for doing this, but for most of us it’s about mastery and simply loving what you do. If people like to learn and hack by themselves, why not do it as a group? Working with others is known to amplify learning and most people enjoy the social aspect of hanging out with a group of like minded peers.
How we did it
Our plan was to spend Thursday evening through Saturday afternoon hacking together small projects in teams. The theme for the camp was functional programming, hence the title
During the bus trip to the camp, participants were randomly divided into three teams and the camp project was introduced by the Product Owner, who also participated in the camp. When we arrived at the camp site in Porvoo, we were greeted by our camp host Ykä, who proceeded to introduce the hacking grounds. The coding started right away and continued until midnight.
The camp continues
A crisp Friday morning greeted us cheerfully at 7:00 AM when we started the day with some light jogging and stretching, followed by a healthy breakfast of bacon and greens (well, mostly bacon). We continued hacking in teams, and stopped every few hours to demonstrate what each team had accomplished. Much clapping ensued. Later that afternoon, we had a bigger break that naturally included some BodyKombat training lead by our very own Markus Koljonen (who also doubled as the resident UX guy at the camp). Our evening continued with a sauna, swimming, food, and some more hacking.
On Saturday morning, after the (now traditional) exercise session and breakfast, Pyry’s inspiring keynote lecture filled our heads with profound thoughts about the nature of functional reactive programming. Armed with new ideas, teams continued on to their last hacking frenzy. Final demos were presented at 3 PM. And let me tell you, it is absolutely amazing to see how much a group of motivated people can accomplish in less than 48 hours!
While we often get to work on a lot of interesting things during the course of our daily customer work, it also includes necessary elements that are, to be frank, not that exciting. Meetings, regression testing, documentation, etc. The point of the code camp is to focus on the 20% that is the most fun. The end result doesn’t have to run in a production cluster or be thoroughly documented and tested. And you can put that animated GIF as a background if that happens to tickle your fancy.
For a company such as ours, the benefits of a hacking event like this are obvious. During the camp, people learn skills that make them better at their work. They get to work with peers outside of their normal project group, share ideas with them and learn from each other. People from all of our offices – Helsinki, Tampere, Berlin, London – were able to join, making the camp an even better place for internal networking. This builds cohesion and camaraderie inside Futurice. And our customers benefit by having more skilled, more motivated and better connected people working with them.
A code camp is certainly not the only way to achieve the benefits described above. There’s a fair amount of work that goes into organizing a successful one. Still, we wouldn’t hesitate for a moment to recommend the concept to anyone interested. We hope to make this a recurring event at Futurice.
If you are interested in trying this out but don’t know how to start, or just want to share ideas and experiences give us a shout. We’re always happy to share what we learn.