Humans are Turing complete
March 19, 2021Any task we can automate can be performed by a human. This is probably pretty obvious, but has some interesting implications.
I want to propose an idea that’s so obvious that I think almost everyone misses its implications:
Humans are Turing-complete
What is Turing-complete?
[A] system of data-manipulation rules is said to be Turing-complete or computationally universal if it can be used to simulate any Turing machine.
We use this concept when describing programming languages, as a sort of litmus test for their completeness. Somewhat famously, CSS is Turing-complete, which I guess angers some people, but I digress…
The point I want to make about humans being Turing complete is this:
Any task we can automate can be performed by a human (albeit, generally more slowly). This is probably pretty obvious, but has some interesting implications, like the idea that we can do Continuous Deployment without any automated tests.
Don't automate all the things
Do DevOps. Then automate only what makes sense.
DevOps isn't about automation
Regadless of how much automation you have (or don't have), if you have hand-offs, you're not doing DevOps.
Should your builds run on autopilot?
Some projects obviously need automated builds. Others obviously don't. Where do you draw the line?