“A coding dojo is a safe place to deliberately practice and develop your coding skills.”
I went to my first London Python Dojo last night and had a better time than I expected. I know a little Python (just enough to hurt myself). I was intrigued by this event where the idea was to learn together rather than just share knowledge.
The evening started off with beer and pizza, thanks to our hosts Fry-IT, and then moved on to two short presentations. The first was on FluidDb and the second was something to do with creating Python packages. Yes, both were over my head.
After that there was a short discussion about a problem to attempt. A blackjack game was suggested and we split into 5 groups of four and had a little under an hour to solve this. I didn’t have much confidence that we could do it. One person sat at a laptop, we spent about 5 minutes deciding on the approach to use and then the typing started.
I wouldn’t have been able to write the code as quickly as it was being knocked out, but I could understand it. And although we were all talking there were no arguments and we pushed through and got a working program done (with one easily fixed bug) just in time. Although not strictly pair programming, I can see why that approach can generate quality code quickly.
But that wasn’t it. Each team demoed their solution and showed their code. This was just as useful as writing the program in the first place. Because we had all been thinking about the same problem it was easy to understand the different approaches that were presented. There were class based solutions as well as functional ones (some had tests!) and we even saw the major development environments - Macs running vi, Linux machines with Emacs, and Notepad++ on Windows. We also saw a solution using Python3.
I enjoyed this more than I expected. It was nice to be able to contribute even though I’m not that experienced with Python, and I learned plenty just by watching and asking questions. It was a welcoming bunch and I will certainly be going again. And this time I’ll pay more attention to people’s names.
I don’t think anybody used version control, though…