Tuesday, June 4, 2013

Less Chatter...More Code

    Lately I have been struggling to find time to code.  As a lead on a team the size of ours my day is usually peppered with meetings, CI server shenanigans, process questions about blocked story cards and occasionally a really fun bug.  Every one of those things is enjoyable in it's own right and help the team move forward but I definitely enjoy the times when I can get my fingers on the keyboard.
    When I am given the opportunity to dedicate some time to coding outside of the job I like to make the most of it.  Whether it's the local user group meetings or the weekly lunch time code club, I genuinely look forward to sitting down for a bit and doing nothing else.  There is no substitute, as they say.  And these days it doesn't really even matter all that much to me what language I am writing.
    At many of these events, however, I have found myself disheartened by the number of people who are unwilling to take the keyboard.  Actually, that's not the whole truth.  I find myself disheartened by the number of people who will tell you at length how they would approach the problem, but don't seem to be doing much, if any, coding.
    I started to write a bit here on why I think this occurs, but in all honesty, I don't really care all that much and I am probably wrong anyway.  What I will say is that about six months ago I was at a Global Day of Code Retreat event here in Columbus, Ohio.  During that day one of the constraints put on me was to pair with another developer silently for roughly an hour.  And during that time my pair partner and I turned out some really decent, very expressive code.
    Afterward we both agreed that the silence limitation turned out to be quite eye opening.  We confused the hell out of each other a few times and rewrote each other's stuff more than a few times but once the debate in code was over and the dust settled, we had gotten further on the solution than with any of my other pair partners all day.  Even if we hadn't though I would still say being forced to express my ideas solely in code was refreshing.  As it turns out developers can have a perfectly fine discourse right in the editor and arrive at a very good end result.  Furthermore, we don't have to live with a busted idea for more than the time it takes to revert or refactor.
    So I say fight the habit to socialize every idea before you lay it down in code.  Resist the human urge to gain acceptance ahead of time and get your ideas written and compiled as fast as you can.  Code it.  If it stinks, recode it, or throw it away.  That's what git reset --hard is for right!?  Go forth and be awesome...or be wrong.  Who cares which?  Just be coding.

No comments:

Post a Comment