Demián Gutiérrez and I have hosted and co-facilitated our first Coderetreat at Mérida - Venezuela, at the Universidad de Los Andes. None of us had participated in a Coderetreat before.
The day of the event 15 guys showed up (22 had confirmed). Almost half of the participants were Systems Engineering undergraduate students. Most of them used Java, a few C++ and Python.
At the beginning people were more focused on resolving the Conway’s Game of Life (GoL) problem, but during the retrospective of the second session, we began to stress the point that we were not interested at all on finishing the code, but on practicing some new ways of coding and working.
One of the practices that they felt were hard was to delete all the code between sessions, but for the fourth session after lunch, we explained the benefits of doing so, like leaving behind all the past experiences and starting new ones with an open and fresh mindset full of innovation.
They made the first steps towards good software development practices like:
- Pair programing; it was almost possible to feel the knowledge flow among people!,
- Testing; for a lot of people it was the first time doing unit tests and using a testing framework,
- Simple design; It was amazing to see how hard is for some programmers (even for some good programmers) go for the simplest thing that could possible work,
- Baby steps,
- Refactoring and finally,
- Test Driven Development.
All participants had accepted the rules and the challenges of trying new things. Those mind shifts were relatively easy to make, because we introduced them in a very soft way between the 5 sessions of the day.
It’s important to remark that as academics and professors we have been trying to introduce TDD to our students for the last year. It has been a difficult work mostly because we are trying to do it at the 7th semester in the Software Engineering course, very long after they have actually learned to program. By then our students already code the “old way” and there is a lot of resistance to introduce practices like TDD. Some of those students were actually at Mérida’s Coderetreat and we could perceive their mindset shifting toward TDD. It’s like the Coderetreat format has pushed them to fit the practice into their skill set.
We have to say that as facilitators we have learned a lot! It’s impressive the way people learns watching others people’s code and interacting with other participants in this kind of events. Also, the same way interaction among participants has moved their skills forward, our interaction with them as facilitators has moved our skills even further and gave us a broader perspective of practices like TDD and pair programming.
In conclusion, we’ve used strictly the recommended Coderetreat format, and we think it’s a great format. The GoL problem it’s very well suited for this kind of workshop and the participants confirmed this. They were surprised by the fact that such a simple exercise provides so many possibilities of improvements and experimenting new ways of addressing the problem.
It was a great day of work, having fun, learning and managing knowledge through pairing and mentoring. And of course, it was a great experience for Demián and myself.
Thanks a lot to all the global and local sponsors. People appreciated all the giveaways of the sponsors. Thanks Ely for all the help behind the scenes. Big thanks Jim, Corey and surely a lot of more people.
We look forward to participate the next year with more cities of Venezuela !