Solita Code Camp 2012

In the beginning

Solita has been hosting internal (and semi-internal) Coding Dojos for many years now. It has been great fun and and an awesome way to learn new things together.

If you aren’t familiar with the concept of a Coding Dojo, it basically goes like this:

Set<Programmer> coders = gatherPeople();
while (beerLasts && eyesStayOpen) {
    tryToSolveChallengeBrilliantly(coders);
}
presentSolutions(coders);

So what is this Code Camp you are talking about?

A simple explanation of a Code Camp is that it’s an extended Coding Dojo. The main principles are the same: a programming challenge, a bunch of programmers having fun, beer, food, relaxing. But where a Coding Dojo is a fun way to spend an evening, a Code Camp is a great way to spend a day.

What do you need for your own Code Camp? First of all, some kind of an idea for a challenge. It could be related to a subject (Justin Bieber, Ponies) or maybe a technology (Brainfuck, Fortran, COBOL). Just make sure the idea is something that will be exciting for all the people taking part in the Code Camp.

So you got a brilliant idea and people wanting to participate? Next, you need to able to host the event. I suggest you pick a venue that is not affliatiated with your organisation. For example, we rented a cabin in the woods. It helps separate the happening from work (or studies) and makes it easier for the participants to relax.

The next thing you need is the basic infrastracture for the challenge. You will probably need at least the following:

  • Workstations
    • Chairs
    • Tables
    • Remember that team work is golden, so plan the workstations accordingly!
  • Networking
    • Internet (meaning some kind of uplink)
    • DHCP/DNS services
    • Switches, WLAN APs etc.
  • A revision control system (Git etc.)

You’ll most likely need these as well:

  • A projector (for showing the awesome software the attendees built)
  • Post-Its, Pens, Drawing boards
  • Spare machines, mice etc.

Remember to test the IT stuff beforehand, especially if you took my advice and are planning to host the event in a cabin or an otherwise unfamiliar place. Our network setup looked like this :

network_stuffzzz

Also make sure you have enough food and drinks so that everyone can focus 100% on the task on hand. While energy drinks and snacks are nice, don’t forget about real food either.

Solita Code Camp 2012: Success delivered.

tirila

The patron saint of Solita Code Camp, with the teams listed next to him.

Solita had an internal Solita Camp 16th November 2012 @ the middle of nowhere. It was a huge success (in my mind, but also judging by the feedback we got). Our idea for the Code Camp was to learn more about the dozens of Javascript libraries out there.

We arrived at the Code Camp HQ at 10 am and started setting up chairs, network etc. To our disappoiment the network service in the area was awful for DNA and Sonera. And of course all of our dongles and load balancers were dependant on those service providers. Luckily some people had personal phones equipped with Saunalahti/Elisa and we could use them as hotspots.

Other than the idea of using Javascript based/related technologies we made no restrictions on what to use or what to do. Some of us made games, some of us made simulators, and some visualized data in a nice graphical form. We randomly picked the subject for the projects by looking through the day’s Twitter trends and voting for the best topic. You can actually see the the candidates in the previous picture. The winning topic was “Global warming”.

planning

After setting up the necessities we divided into groups of three or four people. We quickly started planning our projects. Ideas flowed, and like I said, the projects were all quite different in their nature.

developers

We kept working on our projects until 7 pm and, oddly enough, took almost no breaks. Apart from a quick lunch in the middle of the day, it was non-stop coding till the evening. Everybody was really into the projects and was trying their best. The level of communication even between teams was awesome, probably thanks to our Internet problems.

We used a revision control system, of course. Our original plan was to use a private Gitlab installation because we suspected that we couldn’t rely on having an Internet connection. Some of us lucky enough to have Elisa as their operator used Github, but most of the projects used the onsite Gitlab installation. After the Code Camp all of the projects were transferred (naturally) to Github.

Some of the technologies used :

funny

After we were semi-happy with our little lovechildren we started to review them on the screen. It was awesome too see what the teams had come up with, and also to have some laughs at our not-so-serious background stories for the projects.

We decided to give out awards in two categories: technological awesomeness and artful presentation. The award for the technological category was Raspberry Pis for the whole team. The awards for the other category can be seen in the next picture.

jallua

Timo didn’t even win the category but the artists were kind enough to share!

After reviewing the end results, it was time for some sauna and booze.

Sum it up

All in all the event was a great success in terms of learning and working together. Although we all work for the same company, most of us don’t work together on the same project in “real life”. Getting to know each other’s skills in a practical setting like this is really helpful because you get to know what the other guys are good at and who to ask for help at work.

You can check out what we managed to achieve during those productive ~8 hours on our Github account (the projects marked with codecamp2012).