Ben Northrop


Decisions and software development


Why are our Programming Gods so Unkempt?


(2 comments)
December 17th 2007


I love our field. If you're in software and you haven't seen The Programmer Dress Code, you've got to check it out. It's pretty hilarious...but I think it also begs an interesting question: why are our programming gods so dissheveled? Truly, I have no idea...but I like this Theory of Finite Will-Power. A rough sketch of the argument: each of us has bank account of mental discipline from which we can spend every day. Note that this is a special use-it-or-lose it account that replenishes every morning when we wake up (so maybe it's more like an allowance...but anyway...)

Now...everything we do that requires will-power throughout the day represents a withdrawl from our account. Make the bed? $10. Say "no" to desert? $15. The amounts we need to withdrawl for an action depend of course on the person (my act of will-power could be your act of enjoyment) and so does the starting balance of our accounts - some people are just built with more mental discipline than others (and according to this theory, there's really not much we can do about it). When we've finally blown through all our will-power cash account, we're just victims of our whims for the rest of the day, or so the theory goes.

Our goal, then, is to spend our will-power as wisely as we can throughout the day. For many of us, we can distribute our will-power wealth equitably across different facets of our life (health, family, work, etc.), but for those in fields of extreme mental rigor, they just can't afford it. If you're working through an intricate argument on Kant's metaphysics...or creating the Linux kernal, you need every last ounce of your mental discipline for your work - you literally nothing left over for shaving, combing hair, checking whether socks match, and generally making sure people don't mistake you for the homeless. This, then, maybe explains why our great programmers, philosophers, and physicists look so unkempt. They have channelled all their mental energy into their work, with none to spare.

Who knows if this theory is correct, but I love to use this at home with my wife anyway. Her: "Take out the garbage"? Me: "Nope, sorry, solved a really tough ClassLoader problem today." (and no, this has never worked for me)

But if it does have any merit (and I think it has some), then it means that it's a software company's duty to attend to any environmental, organizational, or ergonomic factors that suck will-power from its developers, so they can instead maximize it on things that help the business (like writing code!). Does this happen in practice? Not really. In some companies, it's possible for a developer to blow through their whole will-power account by noon with constant interuptions, endless meetings, slow machines, etc. This, of course, is the whole premise of Peopleware...

I believe that software development is fundamentally about making decisions, and so this is what I write about (mostly). I've been building software for about 20 years now, as a developer, tech lead, and architect. I have two degrees from Carnegie Mellon University, most recently one in philosophy (thesis here). I live in Pittsburgh, PA with my wife, 3 energetic boys, and dog. Subscribe here or write me at ben dot northrop at gmail dot com.

Got a Comment?


Sign up to hear about the next post!

If you liked this article and want to hear about the next one, enter your email below. I don't spam - you'll only receive an email when there's a new post (which is about once a month, tops). It's all low-key, straight from me.

Comments (2)

jason thiel
November 13, 2012
Eh, what do you know?
November 13, 2013
I think much of it, nowadays at least, is due to copycat behavior - we see this is how the unix masters look, and so we must emulate it to become one ourselves. And yes, I sport a unix beard.

BTW, your captcha appears to be static.