As a late adopter of CodeMash I can say that version 184.108.40.206 was a great event. There were hundreds of developers there ready to learn and try new things. The intelligent, interesting people sparked many worthwhile conversations. If you’re in the area around Sandusky, Ohio, I highly recommend that you attend the next CodeMash.
Not Your Everyday Conference
I was very pleased with how things were handled with CodeMash. It didn’t feel like the standard “sit in your seat while someone talks at you for an hour”. I really think that involving people is the best way to spread knowledge. One of my favorite quotes touches on this perfectly.
Tell me and I forget. Teach me and I remember. Involve me and I learn.
I can’t say what it was like at every session at CodeMash, but the sessions I attended tried to include the audience when possible.
Software Craftsmanship Workshop
CodeMash has a precompiler the day before the event. The precompiler is a day with two time slots of four hours each. Steve Smith and I ran a workshop during that timeslot. Our Software Craftsmanship workshop went very well. We started by introducing everyone to the concept of Software Craftsmanship. At the end of the day I like to boil this down to people caring about writing good, clean software.
So how does one get better at writing good, clean software? Practice.
- Write something small and write it well.
- Try new approaches to a known problem to see if you can improve upon it.
- Follow along with a known good solution and understand how someone else solves things.
- Take some bad code and refactor it again and again.
In case you haven’t guessed the goal of our workshop was to give people some practice as well as show them how they can practice on their own in the future.
We started with the Bowling Game Kata from Uncle Bob Martin. First we went through the slides discussing at each step what he was doing and why he was doing it. This is a great exercise because it lets you see what Uncle Bob does when he hits a wall and needs to back up. At one point in the Kata he realizes that the path he is going down is not correct. This shows you how to identify this situation and then how to resolve it.
After this quick introduction we had everyone dive in with their favorite language attempting to calculate the score of a bowling game.
We continued on with some other exercises including: discussion of followed by implementation of a Supermarket Pricing system and we ended with a bit of fun with FizzBuzz.
I hope those who attended enjoyed the experience, and I welcome everyone to come by our Hudson Software Craftsmanship meetings which meet on the third Wednesday of the month in Hudson , Ohio.
This year CodeMash also had a Coding Dojo dedicated to these exercises. Instructions were provided explaining the requirements of the exercises. Some are katas like the bowling game and others exercises to challenge you with creating a good, clean solution to a relatively simple problem.
We recommended people work in pairs with someone they didn’t know, but we had a few people working solo.
Sara Ford stopped by the coding dojo and it seems had a beef with my overuse of the word “kata”. If you’re interested, Steve Smith wrote an interesting response discussing coding katas. The bowling game is a kata to be followed along with and matched exactly. The more closely and exactly that one can match how UncleBob does the kata the better. Some of the other challenges presented there I probably should have titled as “exercises”. Next year, I’ll make sure to have more time to prepare the coding dojo. I hope to see you there.