By not playing Go for a couple weeks, I seem to have lost about five stones in strength. Which makes no sense, because I only play a few games a week anyway. I would have to invest a lot more time to keep up with my clubmates, which is not something I have right now.
I've lately been pondering the relationship between output speed and output quality in various disciplines. Usually, for a given person, there is at least a weak inverse correlation; but I have encountered some Go players who actually perform worse when they have to match my contemplative pace, and I've noticed that a lot of my best programming is done in short bursts of a day to a week, whereas projects that receive more planning, or those already in maintenance mode, somehow get less elegant code. My editing process is a little obsessive, so writing prose is usually slow for me, even though the first draft comes out very fast, and the final still has a quite conversational style (by my stilted standards, anyway). This is a big part of why my journal updates are so rare.
In creative fields, we measure authors by their peak quality, not their lifetime quantity, and the two *appear* to be independent for writers, composers, painters, etc. (Who knows how much the masters throw away....) But this offers no strategic guidance for the person who is trying to maximize their own output quality. And certainly programming is not measured that way, despite whatever conceits some of us have about the creative nature of software. Mathematics, at least, seems to offer the right metrics here... volume can be impressive, but conciseness and novelty are valued most. Engineering would add reliability/safety and efficiency, I suppose.
Anyway, I'm starting to think that the key to improvement (on either axis) is to be able to turn off all the premature quality filters, and just make a big pile of experimental rubbish, which you can refine later. Certainly some writers find this useful, and it's easy with a computer-Drew says he just turns off his monitor and types. Coding demands just slightly too much rigor for this, though; in a declarative language with very lax syntax, I can almost, in short bursts, just say what I mean. I really have to make time for fiction one of these years....
Apparently someone
formalized a bunch of ideas that have been rattling around in my head for about five years. I knew they couldn't be original. Pity about the name, and the five incompatible implementations also make me sad.
I've been at my job for a year as of last week. In honor of this, my boss is taking me and the other programmer hired at the same time out for lunch tomorrow. I'll have to do my best to actually get there before lunchtime.
I'll soon post something substantive about my experience at the Google Code Jam.