Why Automate?

| | Comments (2) | TrackBacks (0)

The latest post at Rands in Response started a bit of a heated discussion with a group of friends, and I thought I'd touch on a few of the reasons I think it is absolutely imperative to automate, even if the automation only saves a second.

The concept of automation is an old one. In fact, automation is the reason computers were built in the first place. They were used to automate processes that were too complex or laborious for humans to tackle themselves. In early days, these complex tasks were simple by today's standards; "discover the trajectory of a bomb" or "calculate one plus two". However, as computers have become cheaper they've started to automate everyday things. This is painfully obvious to anyone who lives in the 21st century, but it's a fact that programmers shouldn't forget. A good programmer is someone who's always looking for redundant tasks that can be automated; both to save time and to reduce human error.

Saving time, however, is a concept that carries with it many externalities. The day of writing this post, I have been working on a fairly complex shell script with many moving parts. This itself is not a problem, but the fact that I've been asked to respond to a few emails at random times during the morning provides a significant complication. As "sufferers" of N.A.D.D. will understand, taking 60 seconds to send off an email may well torpedo 30 minutes' worth of productivity. Extrapolate that to 3 separate yet short tasks, and I've lost about half of my morning. This is an important measure to bring into the cost/benefit ratio when discussing automation. Typically, the equation used to calculate a processes' automated value is the following:

a = Amount of time for task (un-automated)
    * Number of times task performed
b = Amount of time for task (automated)
    * Number of times task performed
    + Amount of time to automate the task
If b is less than a, then the task should be automated.

However, this simplistic equation misses the issue entirely. If my automated task is short enough to keep me from getting sidetracked by any of the hundreds of windows on my desktop, then it's paid for itself after two uses.

0 TrackBacks

Listed below are links to blogs that reference this entry: Why Automate?.

TrackBack URL for this entry: http://blog.jdhuntington.com/mt-tb.cgi/2

2 Comments

It seems to me the main issue you bring up isn't one of automation but one of managing "N.A.D.D." which you've solved with automation. Are there other solutions for N.A.D.D. besides automation?

I think it's more than just that though. If you're a hacker, you have to cultivate the notion that manually doing automatable things is an anathema. It goes against your fiber at a very basic level.

So if you allow yourself to manually perform menial tasks, it wears away at your healthy level of disdain for such tasks. Even if you wouldn't end up saving *that* much time by automating them, it helps you maintain the mental state of, "my time is too valuable to be spent doing things a computer could do for me." If you start to get used to it (and thus less irritated by trivialities) you'll be much less likely to spot other more important things that could be automated.

Aristotle describes a certain set of capabilities that humans have that animals do not, and he goes on to say that it's when we exercise these capabilities that we set ourselves apart from animals. We become "more human" by doing things that only humans are capable of, like creating things or savoring beauty. I think the same thing holds if you replace animals with machines.

Leave a comment

About this Entry

This page contains a single entry by JD Huntington published on April 23, 2008 12:08 PM.

Round 1 with AppEngine was the previous entry in this blog.

RailsConf and CabooseConf '08 Recap is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.

Pages

Powered by Movable Type 4.1