It was Saturday morning, not a very ideal time to force yourself out of your coding comfort zone and absorb in the day full of learning. Yet, 30 passionate software engineers at e-Zest signed up for Global Day of Coderetreat (GDCR) 2018 to take part in focused practice, learn and explore. GDCR 2018 was hosted by e-Zest in collaboration with Nelkinda Software Craft on November 17th, 2018.
Coderetreat is a day-long event focused on the fundamentals of software development and design typically filled with intensive coding practices that have proven itself to be an effective means of improving software skills for developers. Practicing the basic principles of modular and object-oriented design, developers can enhance their ability to create good code that frees from the cost of change over time.
The event kick-started with the introduction about Coderetreat given by Bharati Koot, Software Craftsperson at Nelkinda followed by networking over tea and snacks where many developers shared knowledge and learned from each other. There were in total 30 software engineers who attended and took part in Coderetreat. Further, five groups were formed with two facilitators from the e-Zest present in each group. Each group had three teams of two members each. The facilitators present in each group were trained by Nelkindia to guide the teams towards the goal on the final Day.
Christian Hujer, CEO of Nelkinda addressed the audience about clean coding practices and shared the significance of clean coding along with TDD (Test Driven Development). The goal, he emphasized, was to write perfect code and in the process of doing so, learn TDD, unit testing, refactoring, and how to come up with better, simpler designs.
The problem or the challenge given to the coders was simple but non-trivial: to write Conway's Game of Life program in whatever language the participants preferred.
We conducted four sessions of 45 minutes each, swapped team members after each session which runs for 45 minutes. After each session, the teams deleted their code. The purpose of deleting the code is to keep a strong focus on learning. The short time-frame anyhow makes it impossible for the participants to finish Conway’s Game of Life. Since everyone is deleting their code after each session, it doesn’t really matter if the code is terrible or great. This leads to a greater liberty to experiment with different approaches to coding and TDD.
The participants enjoyed the opportunity to pair with different developers throughout the day using languages of their choice. The pairs coded Conway’s Game Of Life, following TDD and best practices. The key takeaway for most of them was to learn different methods of testing and analysis while doing clean coding. By the end of the day, it was a day filled with the atmosphere of fun, learning, and collaboration. Coderetreat also helped us deliver on e-Zest’s purpose to enable and empower developers to experience a more fulfilling and productive coding practice to further their software skills.