My reflections on the Global Day of Coderetreat
I like Global days of Coderetreat. This is a perfect opportunity to practice pair programming, polish your skills and share your knowledge, experience, and thoughts with other programmers. Usually, this is an event that consists only of pair programming sessions. But this year, it was something different and I want to reflect on it and share my thoughts.
Just in case, If you never heard of it, the Global Day of Coderetreat is a world-wide practical programming event that happens every year. This is a whole day dedicated to pair programming and coding the Conway's Game of Life. And this is a kind of event you must attend at least once in your life, especially if you are in programming.
This year I participated in the Global Day of Coderetreat in Barcelona. The event was organized by Trainline with the support of Code Sherpas. As usual, the event started with a thorough introduction to the assignment. Then, after a cool "breaking the ice" activity, the fun part started. It's important to note here, that this year event consisted of two pair-programming sessions, a live-coding workshop and a refactoring workshop (mob programming session).
The first session was focused on pair-programming and collaboration. The second session was focused on design and, especially, on the application of the Tell don’t ask principle. Then, we had an unusual live-coding session. Two hosts shared their IDE and started to code a Cell class implementation in Kotlin. That was a memorable part, because they shared their thoughts and way of thinking during the coding process. At the same time, one of the organizers from Code Sherpas gave the explanations about the processes that were taking place during this pair programming session (how the communication between a driver and a navigator happened, what they did write and wrong, etc.). It's very insightful to see those processes from the outside!
The last part was a sort of mob programming refactoring session. One of the participants shared their Game of Life solution and we were supposed to refactor this solution in mob. That was not only fun, but also revealing. I could clearly see which patterns the majority of people like to use, which techniques they prefer to apply during the refactoring stage, how they solve the issues, and resolve the disagreements.
So, the main point I'm trying to make is that the Global days of Coderetreat could be more diverse, than just the pair programming sessions. And this diversity can be beneficial to all participants.