Support systems hocus pocus

Automation is easy. It's as simple as taking note of how you do a repetitive task and teaching some software how to do it for you.

The next easiest version is similar, but taking note of how other people do repetitive tasks. What happens when you do this is: (1) you learn some new and better ways of doing things that you would never have figured out yourself, and thus are worth stealing as they are; or (2) you learn some really backwards and awful ways of doing things, which are also worth stealing, but as a starting point to riff off of (and later they become things that you know your automations will have to prevent, like the protections we put in our airplane thrust controllers to keep pilots from accidentally putting them in reverse in flight).

After that comes improvement and optimization and teaching the software to teach itself and so on. I'm just skipping past that here because that part of the problem is fun—working on the function is visceral.

That brings up the hard parts of automation: finding ways to share the methods, making the human interfaces tolerable (never mind even good, just tolerable user interfaces are difficult I think), making the automations configurable for different users, finding abstract ways to store the inputs and the outputs and the automations themselves, validating that everything is working as it should, some guides on how to use the thing, and so on.

Basically, the hard part is the support systems. Those parts aren't fun and they don't get the same respect as the core functions—but without them, things fall apart. Software will also seize and die one day, or at least the nature of the problem will start to drift away from the automated solution.

Anyway, I guess I wasn't trying to teach or explain anything in this note as much as I was trying to motivate myself to work on the support systems for the more interesting automations I'm trying to develop at work. I'm trying to think of a list of what needs to be done after the so-called Real Work is done—because it doesn't matter if the software works if no one can use it.


"Another flaw in the human character is that everybody wants to build and nobody wants to do maintenance."
—Kurt Vonnegut, Hocus Pocus (1997)

Leave a Reply

Your email address will not be published. Required fields are marked *