もっと こだわり

Is 'Done' Better Than 'Fun'?

Posted

The Tyranny of 'Done'

In professional software development, 'Done' is a loaded word.

Developer definitions range from the lazy ("It works on my machine") to the over-engineered ("It achieves five-nines uptime in chaos testing."). Product owners just want something customers can use (or will pay for) - a view that, despite my professional pride, I mostly share.

I've spent more time than I'd like in meetings debating the 'definition of Done'. So, naturally, this professional obsession followed me home, kickstarting my One Game A Month challenge.

A Done Deal

I started the challenge out of frustration with my pile of unfinished projects. I figured that finishing any of them would be a cure, replacing a history of abandoned attempts with a portfolio I could be proud of.

I managed 4 months, and I did get some value out of it:

  • I made some games that people other than myself can play - admittedly, there may not be many who are aware of this

  • I really enjoyed participating in Pyweek, and collaborating with my daughter.

  • I honed some of my tool code that I use across my projects.

  • I composed and wrote some music for the first time.

  • I generated content (satisfying another questionable motivation) for my blog by writing about my progress.

All Work and No Play

You know how they say not to turn your hobby into a job, because you will ruin your enjoyment of it? I should have listened.

I thought the monthly deadline and the drive to not break the chain would motivate me. "Working within constraints inspires creativity," I told myself.

But optimising for a monthly finish meant sacrificing the parts of gamedev I actually enjoy. Coming up with new ideas - mechanics, themes, world-building - was the first to go. I had to keep the scope manageable to have any hope of finishing. Elegant code was next for the chop. There was no room for spending hours on code that already worked.

I had turned my hobby into a joyless job.

When I don't enjoy something, I tend to avoid it. I'm sure you can relate. But then I beat myself up for not making progress, giving up, and being lazy. It left me in a funk for weeks.

Productive Procrastination

So instead of pushing on with the next game in the challenge, I procrastinated by messing about with Common Lisp, which is one of my favourite languages. I experimented with getting a game going and gave Raylib a try.

And it was fun.

It was an immediate relief. A visceral reminder: I am not trying to create products to sell, or hit deadlines, or polish to a certain standard, or even to finish anything. The pursuit of 'Done' had sucked the joy out of my hobby.

Horses for Courses

Getting things 'Done' makes sense for work, but it's poison for a hobby.

Not a great revelation, perhaps, but it's a vital reminder that the point of a hobby is to enjoy the process. And that feeling is worth protecting.