Holiday Frame of Mind

Dog work

In many ways, Christmas is a gigantic pain in the ass. Scrambling to social events, buying presents you can’t afford, hurrying to finish projects before the holidays begin… it’s too much.

It seems to vary, but we at least have social permission to consider these last two weeks of December prime vacation time. Even those forced to work (and here I’m talking about office/knowledge work, not the poor souls who work retail) operate under reduced conditions.

In that way, the holidays are a special time.

It’s one of the only times that you can take a few steps back from the normal pressures of work, and really spitball on new features, new concepts, new ways to do things. I’m coming at this from a programmer’s mindset, but I think this applies to all creative endeavours that come with a commercial aspect: I normally operate under a deadline of OMG-We-Need-This-Yesterday, and being freed from that constraint feels like a breath of fresh air.

I don’t think I’m alone in this. On Twitter, my friends and colleagues are talking about their side projects. Ash Furrow, despite an impending move from Toronto to Amsterdam (the lucky/talented bastard) is playing with building a love child between Reactive Cocoa and unit testing. Rob Rix is doing things that only Rob Rix would understand. As he tweets, “I wrote a parser for block type signatures. Given an arbitrary block, it gives you a type object. Destructuring and boxing are up next.” Of course they are.

As for me, I’m doing what I love best: putting the finishing touches on my own product, feeling unburdened by the demands of clients and deadlines. I’m like a kid that got a tub of cake icing and six uninterrupted hours of Star Wars on the TV.

It makes me wonder, though. This is just a mindset: how can we export this to the rest of the year? Of course we have to do this work for others in order to get paid. But how can we think and feel in a way to give ourselves the time to enjoy what we do? It means slowing down, insisting on fewer commits and more consideration. Better code, in more time.

It’s quite possible that this slowing down will make me a better developer.

I’ll leave you with Rob’s version of a favourite tune.

Code drops on branches and partial committing.  
Static dispatching, type-safety permitting.  
Parametricity applied to strings.  
These are a few of my favourite things.  
When the code bites,  
When the bug stings,  
When I’m all caremad,  
I simply remember my favourite things and then I don’t feel so bad.  

Here’s my wish to you for an awesome 2014.