I think that everyone should learn logic and workflows. It is one of those building blocks that is largely missing from core curricula. Probability and statistics is another; learning how to learn is another; and creativity/design/innovation is yet another.
But learning to write software is a craft, and I don’t believe the craft is for everyone. In time, I believe that programming will be replaced by higher level building blocks—just like IC’s replaced transistor circuits. It’s inevitable, and it’s important.