Automation - 自動化。


大学を卒業してまずつっこまれたマトモな仕事がautomationで、結局4年以上もそれに従事していたのだが、それでわかったことは「人間が介在しないシステムを構築するのはものすごくものすごく難しい」。


プログラムというのは人間がやりたくない面倒くさい事をやってもらおうというのが基本なんだけれども、それでもほぼ必ずと言って良いほど人間がどこかでアクションを起こすのを前提としている。それが入力作業であれ、入力内容の確認であれ、人間がそこに介在するのだ。


それと対極に位置するのが一定の作業の順番を覚えているだけでなく、エラー等があった場合に自己診断をして制作者のポリシーに一番近い事をしてくれるプログラムであると思う - しかも自動的に。もちろん全てのケースに対応できるわけではないのだけれども、考えられるケースを予測しそれに対しての応対を文章化し、ユーザーがあとで何が起こったか分かるようにしつつもgraceful recovery(優雅な復旧)を行う。最悪のケースでしか落ちない、停止しない。


それはとてもとても難しい。auto*系のツールも結構それに近い事をしているなー、と思いつつ作業している。難しい。