Last 18th of November, I lived my first experience facilitating a Coderetreat. We celebrated the Global Day of Coderetreat, an annual event in which Coderetreats take place simultaneously around all the world.
For those people who never attended a Coderetreat, it's a full day event where the same problem is faced with different constraints. It's a way to practice and improve our craft, experimenting, sharing and learning new things. Coderetreats started at 2009 and the current format came out at 2010.
Global Day of Coderetreat organization provides a lot of resources to prepare yourself as a facilitator: videos, blogs, online hangouts to solve doubts, ... In my case, I was lucky, because I also had the help of my awesome colleague Robert Firek, who accumulates a lot of experience facilitating Coderetreats and he gave me a lot of advice and ideas.
On the other hand, I like this kind of events, because it helps to create community among us. For example, I had the opportunity to meet people from Wallapop, who also organized the event in Barcelona. We had an interesting meeting in which we reviewed all the items for the event, filling a table with cards about:
Each session has a set of constraints to break comfort zones and make you think in a different way. We prepared this plan of sessions:
There were common rules for all the sessions:
The problem to solve in a Global Day of Coderetreat is Conway's Game of Life. It's a game which starts with an initial generation of living cells on a board and it evolves automatically to next generations with these rules:
Maybe you ask yourself: the same problem all the years? It seems a simple problem, but it has an infinite number of ways to solve it. I could check it that day, because during the first session, no pair made the same approach to each other. Besides that, constraints help to make this problem more challenging.
I helped pairs in order to realise about certain issues, for example:
My favorite session was the last one: swapping stations. Source code is not deleted at the end of the previous session and pairs write what they do and don't like about their code. Secondly, pairs move to the following station and then, they work on another pair's code trying to improve it. Among other things, they liked:
and for improving:
And I loved the moment 'Please! How can we compile Go code?'. Pairs not only faced challenging improvements, but also unknown programming languages. So, collaboration happened not only in pairs, but also between pairs. It was awesome.
One of the most difficult things for attendees was following the recommendation of deleting the source code at the end of each session. I encouraged to do it because of several reasons:
Most of attendees had never practiced pair-programming, so they found it difficult to change their pair when attending with a friend.
As usual, pair of friends were together during the first session, but they changed their pair the following sessions.
In order to have food for thought before the final retrospective, I provided green and red post-its to write ideas for the positive and improvable things, respectively.
The main answers in the closing circle were:
After the feedback received and my experience, I took this notes for the next event:
This event allowed me to meet awesome people. I would like to mention Meritxell Calvo and Daniel Carral, who I admire for their active involvement in the community. I hope to devirtualize them very soon!
Raquel discovered her profession when she was 12 years old, when playing with databases and DOS commands in the back office of a computer shop. She keeps as a treasure her notebook with a computer architecture and how data were stored in a diskette among other things.
She loves new challenges and finds it very difficult to choose a single favourite area in her profession. For the past 10 years Raquel has worked in different projects, with different technologies, and in different industries. She lives and breathes business and values from her software products, services and ideas.
Raquel is a constant apprentice who strives for common sense, pragmatism and simplicity, and also enjoys sharing her knowledge and learning from others.All author posts
Software is our passion.
We are software craftspeople. We build well-crafted software for our clients, we help developers to get better at their craft through training, coaching and mentoring, and we help companies get better at delivering software.