This weekend I was at SoCraTes Conference in Rückersbach (near Frankfurt), Germany. Over 70 great software developers, in a hotel for the whole weekend, eager to learn and teach and share and have fun… This must work, right? And it did! The conference was absolutely, truly fantastic!

I did not agree with everything I saw there, but I don’t want to spoil this post with too much criticism. I will (probably) write another post about things I see differently than some people at the conference.

Most of the attendees arrived on Thursday evening. There was fingerfood and beer, and we started to get to know each other. Then there was a World Cafe where we discussed what people were actually here for: The topic on every table was “What do you want to learn here”. I am not sure if this was the right question to ask, because there was no real discussion. We only collected ideas. Anyway, it got us talking to each other, so it was ok. The rest of the evening was basically “having fun together”.

The next two days were organized as “open space”. This was my first open space, and I was really surprised how well it went. It was better than most of the “traditional” conferences I’ve attended so far. But, some other participants said that this was the best open space they have been to - so maybe not every open space conference is as great as this. I guess there is a more general rule at work here: Even a great technique can only work with the right people. And the right people were definitely there!

On the first day I gave a session where I showed some of my code. The intent was to show how I do testing, quality assurance, version control, etc. in a solo project. It quickly became a huge code review, which was very interesting. The audience criticised a lot of things, but the criticism was very constructive and the discussions were great. I really learned a lot in this session. And I got many useful tips what I could do better - I already started incorporating them into the application (zensmb).

In the evening Martin Heider hostet a “Marshmallow Challenge”. Three teams had to build a free standing structure out of spaghetti, tape and string, with a marshmallow on top.

Our team won. I came - again - to the conclusion, that a little bit of thinking an prototyping before you start, and an incremental approach afterwards, are a great combination - for almost everything. We first tested how the spaghetti could support the marshmallow and how we could attach spaghetti to each other so that the result is as rigid as possible. After one third of the time, we still had nothing. Then we disassembled everything and built a small, very rigid tower with a marshmallow on top. Just about two thirds through we “delivered” our first increment (*). After that we built a larger structure, on top of which we attached the smaller tower. Our second increment was finished just about two minutes before the (18 minute) deadline. That’s where we stopped.

The other teams tried to build a large structure first, only to discover that it could not carry the weight of the marshmallow. They spent the rest of the time trying to stabilize their structures. This worked amazingly well too: After 18 minutes, every team had a standing structure, and we won with only 1cm difference.

The second day was “open space” again. I proposed another session about “Testing with mockito and guice”. Johannes Seitz had planned a talk about mocks in general, so we combined our sessions. We didn’t really plan it (we did maybe 10 minutes of planning over lunch) but it went very well anyway.

The third day (Sunday) was a code retreat. It was very intense. The other two days were intense too, but this was different: I was really tired and exhausted afterwards. It was my first code retreat, and I probably want to do it again.

In closing I want to thank Andreas Leidig and Nicole Rauch for organizing this conference. And I wanted to thank everybody who was there - It was such a good experience, and you all contributed to that.

(*) “Two thirds through” sounds like we delivered pretty late. But “two thirds through” means 10-12 minutes in this case, and the other teams still had nothing at this point.