Yesterday was my first opportunity to attend a Coderetreat. I am so glad I did. What an amazing day. I think every developer should attend a Coderetreat. Using the closing circle format, allow me to share my experience as an attendee of the Salt Lake City event.
What, if anything, did you learn today?
I learned that I need to slow down and focus on writing code well. The mute session taught me how hard it is to see an architectural vision from the code. It felt like I was painting a picture using the stippling technique and my pair could only see the dots, not the image. I learned that the idea of intention-revealing, self-documenting code cannot be judged by the author only by another developer. I also learned that Amber Smalltalk is pretty sweet. Thanks, Johnny T!
What, if anything, surprised you today?
The biggest surprise for me was how many developers said the Coderetreat inspired them to go out and actually do TDD. I had expected that most of the attendees would be rather dogmatic about testing and TDD. I know that at several points, I had to remind my pair to write a test before the code. I was surprised at how far we got and how many tests we wrote in the mute session. It takes a lot of tests to reveal the intent sometimes. We had close to 40 tests when we deleted the folder. Also surprising was how hard the last session was. We were allowed to pick our own challenge and we really struggled with that. We kind of lost focus and switched challenges midway and by the end, I think we were just coding trying to get as far as we could in the problem.
What, if anything, will you do differently in the future?
I will try harder to value the ideas of others and explore them more deeply. In the last session, my pair told me that was his first session with a bounded world. My pairs and I created a bounded world (array, list, matrix, grid) in every session. I need to open my mind more to alternate ways of accomplishing tasks. I also need to recognize how attached people can become to the code they write. I had no problem deleting the code I wrote, but more than one person expressed anxiety about it. When others change or remove the code I write, I assume they are improving the application in the best way they understand at that time, so I don’t resent the changes. I need to remember that this is not a universally held belief and that changing another developer’s code could be considered an insult or attack on them and their abilities.