Bored Cats And Software Development
Nature is full of lessons that we can profitably apply. Some of them can take surprising forms. Our Number Two Cat provided an insightful lesson on software development, although it took a while for us to recognize it.
We rescued Mugsy, a Siamese mix, from the Pound over a year ago as a kitten. We originally named him Mr Lucky, because his allotted time at the Pound was about to expire. Like all kittens he was very curious, which hasn’t left him now that he’s an ‘adult’. He was, and is still, very precocious, demanding attention and always wanting to be entertained or otherwise occupied. He gets bored easily. And nine times out of ten, when he gets bored he invents a game to soak up his attention. Over time we began to notice this, and then one day, watching how he corralled his latest game pieces, two things struck me about Mugsy: 1) He’s very intelligent for a cat; and 2) He handles boredom by keeping busy at something that cats do well: He keeps moving.
So, what does a bored cat have to do with software development? Two basic things: 1) Both activities take smarts; and 2) Both activities tend to be open ended. Particularly software.
As examples of the latter, I cite any of the open source ‘frameworks’, any framework. Whether .NET or a free javascript library, their two main characteristics are lack of documentation, and very large footprints. Often, reviewing their code is much like trying to find a straight path through the Winchester house. The free ones are the worst because the developers don’t have an incentive to getting something done within a deadline, it’s always easy to add another feature or hook or function, and doing all of this keeps the mind occupied, often entertained, and seldom bored.
Mugsy’s handling of boredom is in the nature of things, harming no one. For humans, particularly those who are software developers, boredom is a clear sign of too much free time, which is another way of saying that there’s no focus. It may be OK if the developer is doing it for love, or is a salaried employee of a big company, but is slow death for anyone who has a payroll to meet or time-based commitments to honor.
We dropped My Lucky in favor of Mugsy when he got older and developed markings, one being a kind of facial mask, like a mugger’s. Which, come to think of it, is something that bored software developers can become if they’re not too careful.
Tags: frameworks, open source, siamese cats, software development
