Code Retreat, Cracow, 2011 - Been There, Done That

I attended Global Day Code Retreat, Kraków, 2011. It was a very nice event. Below you will find some notes about it.

But what exactly is code retreat?

Quote from

Code retreat is a day-long, intensive practice event, focusing on the fundamentals of software development and design. By providing developers the opportunity to take part in focused practice, away from the pressures of 'getting things done', the coderetreat format has proven itself to be a highly effective means of skill improvement. Practicing the basic principles of modular and object-oriented design, developers can improve their ability to write code that minimizes the cost of change over time.

The event was very well prepared - enough of room space, enough of food (really good!), enough of everything. There were about 40 of us in Cracow. We had plenty of food, very nice t-shirts (blue & black), plenty of good food, and, the most important thing - time to code the way we want to. Thank you people, you did a great job!

Devs who attended were really friendly. It is just great to see some old friends, or people you know from blogs/emails and talk with them in person. It is also a great opportunity to discuss various IT stuff, hear about good/bad companies and learn about job opportunities. You can hear really interesting things if you join a discussion.

During the event, we also had a short video conferences with people other code retreaters in Łódź (Poland) and New York (guess where). Cheers! :)

4 x Java, 1 x Ruby

I took part in (only) five session - four Java (3 times TestNG, 1 JUnit), one Ruby. I enjoyed all of them very much.

The first session was with Marcin. We followed a no mouse rule - and it worked pretty well! Marcin taught me few new IntelliJ IDEA shortcuts, that I was not aware of. We also discussed the given/when/then pattern that Marcin uses extensively. It was a very good session, even thought we did not manage to implement the game of life. In fact we were nowhere near, as we took a bottom-up approach and started with Cell class. Anyway, it was real fun.

During all next sessions I took different approach by starting with Board (World, Grid, or whatever we used to call it). We got rid of Cell class completely, and it turned out to work much better.

All my peers really liked TestNG, especially the way you can write parametrized tests with it. IMHO I think this single feature is a good enough reason to drop JUnit right now, and start using TestNG. It really changes a lot, because you can test many possible cases with ease. My peers seemed they simply do not try to do, because (it is my guess) they perceive parametrized tests as being hard to achieve. And it is normal if you use JUnit, which offers a really crippled implementation of this feature (via a constructor, which is ... eh...).

My single Ruby session was also interesting, even though I do not remember touching keyboard at all. :) My peer - Sebastian - was coding with blazing speed.Gosh, was I also coding so fast at his age?! Well, I doubt it. I was really impressed by Ruby's expressiveness, however, I wouldn't like to maintain the code we created. This session was kind of chaotic, even though we managed to implement a great portion of game of life (if not the whole). I was happy to follow my peer, and from time to time even correct our approach. This was a good session, and I enjoyed seeing how Ruby simplifies all collections traversing and stuff. However, I felt like it is a very artificial situation, not really related to the kind of code I work with on daily basis.

During all my 5 sessions we coded without using mouse, which slowed us down a bit, but was fun. Well, during Ruby session we used vim, so not much use for the mouse anyway. :)

See You Next Time!

It was the first time I attended code retreat session, and I really enjoyed it. I will be happy to take part again, if only I have a chance.

Good experience on code retreat session

This is a good experience for you. By code retreat, we can improve our code style. But I don't like java anymore. Recently, i have changed from C code to python. - scholarships for african students

This used to be my blog. I moved to long time ago.


Please comment using