Why we automate

Every post John D. Cook writes is worth reading; today’s post on automation is more accessible to a wide audience than most of his other stuff.

His main point is to counter the view, best expressed in this well-known XKCD panel, that automating tasks is all about saving time. It’s also about saving mental energy.

Suppose it takes you an hour to write a script that only saves you two minutes later. If that two minutes would have derailed your concentration at a critical moment, but it didn’t because you had the script, writing the script may have paid for itself, even though you invested 60 minutes to save 2 minutes.

My most-used pieces of automation are

What these have saved me, more than time—although they’ve saved a lot of that, too—is my concentration, exactly as Cook says. With these tools, I link to web pages with almost no thought at all. I don’t have to switch back and forth between Safari and my current app, I don’t have to worry about overwriting whatever’s on my clipboard, and I don’t have to remember how to construct a Markdown reference link. All of that’s done for me, so I can keep thinking about what I’m trying to write.

Another advantage of automation, one that Cook doesn’t talk about, is accuracy. No matter how simple a series of steps is, if it’s a dull, repetitive task, I will eventually screw up one of the steps and have to go back and fix it. I doubt that I’m unique in that way. Automation ensures consistency.

Finally, there’s the entertainment aspect. Automating a task is fun and it gives you a sense of accomplishment when you get it worked out. Cook hints at this in the parenthetical comment in this passage:

Write automation scripts when you have the time, energy, and motivation to do so and when nothing else is more important. (Or nothing is more interesting, if you’re looking for a way to procrastinate without feeling too guilty. This is called “moral compensation.”)

We all have a bit of the Puritan in us, and “moral compensation” is how we justify having fun at work.