Automation Should Be Like Iron Man, Not Ultron
Another way I’ve heard this put is “build mech suits, not robots.”
Iron Man’s exoskeleton takes the abilities that Tony Stark has and accentuates them. Tony is a smart, strong guy. He can calculate power and trajectory on his own. However, by having his exoskeleton do this for him, he can focus on other things. Of course, if he disagrees or wants to do something the program wasn’t coded to do, he can override the trajectory.
Ultron, on the other hand, was intended to be fully autonomous. It did everything and was, basically, so complex that when it had to be debugged the only choice was (spoiler alert!) to destroy it.
“Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” […] This is called the Leftover Principle. You automate the easy parts and what is “left over” is done by humans. In the long run this creates a very serious problem. The work left over for people to do becomes, by definition, more difficult. […] Taken to its logical conclusion, this paradigm results in a need to employ impossibly smart people to do impossibly difficult work. Maybe this is why Google’s recruiters sound so painfully desperate when they call about joining their SRE team.
- Obvious question in the “junior developers completely replaced” rhetoric: if all the junior developers get replaced, where will the senior developers come from? Likewise for other fields e.g. accountants.
- Absent a full Matrix / Skynet situation, there will always be, by definition, a need for skilled troubleshooters.