xkcd has the classic comic on automation:
The comic checks out, but this is the point today.
There’s something worse that can happen.
Dr. Lisanne Bainbridge wrote the classic Ironies of Automation (direct PDF link), and it’s worth a read.
Whenever you separate humans from the work of the systems they operate in, they begin to lose knowledge or never develop a working knowledge of how the systems work.
Take the classic case of linters in software development. A linter is a tool that checks various aspects of code, sometimes pointing out superficial formatting problems and sometimes raising more serious issues. Some linters have the ability to automatically correct these kinds of mistakes.
But if your developers simply code to appease the linter, they can begin to forget why the rules are in place and disengage from the critical thinking necessary to keep a software project healthy in the long run.
Also, half of the benefit of automation may simply be that you standardized some process. For example, you may have automated your deployment pipeline and seen great improvements in your flow. That’s great! But if you went from what I call “artisanal” deployments, where every push in every project is unique to the much more boring “we all deploy things the same way,” you probably didn’t need to automate that to get a benefit.
But now that it’s automated, have your developers lost their understanding of how code goes from commit to production?
There’s no doubt that machines can extend human capabilities. Just make sure they’re not causing your human teammates to disengage.