The goal of a code-retreat is to have an relaxed environment in which to practice. The focus is not to finish the given problem, but to slow down and try to explore and come up with good solutions. It is done in pairs, and adhering to test-driven-development.
Developers get together and work on the same problem (typically the “game of life“) the whole day. The day is divided in “sessions”, each one having an unique “constraint” (for example: “don’t talk to your partner, all communication has to be through code”). At the end of each session, the code is deleted (this enormously takes away the focus on finishing) and we stand up to talk and exchange impressions.
Our sessions were:
Do your best
TDD as if you meant it
No data structures
Evil pair / Find loophole
Apart from the learning effect, it is simply very stimulating to meet like-minded people who actually care enough about their craft and want to improve themselves as developers. And it’s also a great feeling to know that this is taking place all over the world at the same day.
It was a very intense, but invigorating day. I can recommend it to any developer.