Don't get me wrong. My managers were (are) extremely smart. They did know how to "code" for the most likely definition of the word code. But that doesn't mean I would trust them to write a feature or to review what I wrote. They just didn't have the day-to-day knowledge to know what did and didn't work in the code base I was in.
And do I know if what is true 100% of the time? Asking coding questions in a SDM loop? I have no idea. While I was there, I was only on TPM and SDE loops.
In my experience, similar time there, three managers, none of them knew how to code, and their managers varied- one was decent, one was a DMV reject.
But when I say they couldn't code, I mean that literally-- for one example degree in criminal justice, no knowledge of software practices, etc. This isn't another way of saying they were "bad programmers". No bad programmers can make great managers.