A Code Retreat - Learning with Ensemble Programming
The Global Code Retreat this year is again conducted online, and described in more detail on the Nelkinda Software site.
We're usually busy with some deadlines or other personal things - sometimes it may feel like a hamster running in a wheel / switching among wheels, of getting something done.
The idea of a code retreat is quite intriguing...
"Coderetreat is a day-long, intensive practice event, focusing on the fundamentals of software development and design."
(Corey Haynes)
It presents itself as an opportunity for a programmer to step out, and with coding look at what's actually going on.
“We must never become too busy sawing to take time to sharpen the saw.â€
(Dr. Stephen Covey)
I'd registered for last year's Global Day of Code Retreat. I ended up actually feeling pretty privileged to be one of the participants, and the following is just a summary of my experiences.
Ensemble Programming goes beyond pair programming, and is working in a group, learning from each other, and also swapping roles. Its a way of training for a programmer, so that one can be prepared for real requirements.
The session had a little occasional discussion. Then we actually got into groups and solved problems - collaboratively. It was really cool interacting with new people, exchanging ideas towards a common constructive purpose.
The discussions revisited the very basics with a new spirit of questioning and learning. We strengthened core foundations, like Four Rules of Simple Design (by Ken Beck), and touched on topics like TDD and BDD, Clean Code (Uncle Bob - the affectionate name of Robert C Martin), and SOLID principles. It was an end to end discussion including questioning how we can automate - without over-engineering, exchanged perspectives on CI/CD with it also working locally.
The problem solving sessions were fascinating, very hands-on and practical. Instead of explaining the details, it may be better left to actually discover the day, just going with the flow as it unravels.
From freshers to experienced developers, some of us may feel "I already know". But its when unlearn - empty our cup (as a Zen story goes) - and practice, that we gain new insights.
“Learn and forget, learn and forgetâ€
(Morihei Ueshiba - Aikido)
Ensemble Programming is a fun way to strengthen our core foundation - revisiting our technical skills. We also visit our soft skills including very key ones - listening... collaborating... learning with an open mind. And with a lot of fun with new friends across the globe.