Writing code != understanding computer science. I know plenty of people who had coded some linear procedural code in matlab for school who I would absolutely not say that they 'understand coding'. I would argue that being CS literate is where you have a logical framework of how code work together to create software - knowing the general idea of encapsulation etc.
Technical managers at the front level get 'cut off' when a reporting chain immediately above consisted of someone who are truly non-technical. You can have 3 software engineering teams each under technical managers, but then they all report to an MBA grad with no technical history at all. Which anecdotally resulted in some decision making that I would characterize as strange from my software engineering perspective.
"practical understanding of software systems" != "understanding of computer since"
Through having done CS helps a lot in being flexible enough in how you thing about (technical) things. (Disclaimer: The last thing can be easily misunderstood, the thing is when you do CS you have to do a lot of brain gymnastic about all kinds of things like e.g. that one thing can be seen as two seemingly unrelated things but still be the same in a given context, but not in a other seemingly nearly equivalent context.)
The result was:
- No one really managed any software teams.
- The manager did just ended up as a proxy between higher management which create friction. (E.g. in aspects like what features are viable to add in this year and which are not.)
- The manager lost practically all authority (and later one all trust).
Generally a really annoying situation not benefiting anyone. Through then a lot of other things went wrong too in that company.