Summary of the day
There were around 20+ developers. After introductions and explanation of the problem (Conway's game of life), we started our first session. Throughout the day, we had 6 or 7 sessions. I can't even remember exactly because it was so enjoyable, intense and fun that even if it had been 20 I wouldn't have noticed. I've paired with some people that I knew before (although never worked with) and some people that I had just met. After each session, we shared what we have learned, approaches we took, problems we faced, etc. If I recollect well, different languages were used and tried including Java, C#, JavaScript, Ruby, Scala and I think Python as well (I'm sure I'm forgetting something).
The first two sessions we just sat down and tried to solve it, without any constraints, besides TDD, that was mandatory for all sessions. This was good so everyone could get familiar with the problem. From the third session onwards, we were asked to try different approaches, like not using if statements, TDD as if you meant it, OOP to the extreme and the best code we could possibly write. At the end of each session, the code is deleted.
We had a good break for lunch and went to the local pub in the evening.
Things I learned and experienced
- No matter how much you think you know, it is still not much and not enough.
- Pair-programming with other developers exposes you to different ways of thinking and opens your mind for new ideas.
- Seeing and using different languages, makes you see software development with different eyes, giving you a much broader understanding and helps clearing up misconceptions you may have.
- You are not alone. Like yourself, there more talented and passionate developers out there willing to share ideas and learn from each other.
- I definitely learned a lot and feel I got back from there a better developer.
- Besides all the technical learning, it was really great to meet so many talented developers.
Firstly I would like to thank Despo and Aimee for organising it and Enrique for running it (and the great chat in the pub). I also would like to thank all the developers that I paired with for helping to make me a better developer. Finally, I would like to thank all the developers that were there for reinforcing my belief that software development is a great profession, full of talented, bright and passionate people and that we can really make a difference in moving our industry forward.
I wish you all have a great long road ahead of you and I'm looking forward to meeting you again any time soon.
Links
Official site for the Winchester Code Retreat
London Software Craftsmanship Community - LSCC