Additionally, in my experience the best engineers have been part product manager anyway, just as the best product managers have been part engineers.
This compartmentalisation in the name of efficiency is actively harmful. Developers should get out more and get first hand experience of the environments they develop software for.
I once had a PM tell us to do a feature a certain way, despite engineers saying we thought it was dumb. We shipped and had lots of user complaints, and lost millions of dollars ultimately in lost revenue due to cancellations that we think were at least in part to this. We eventually reversed course but much damage had been done.
Afterward there was a witch hunt (which I staunchly oppose, but I digress). It turned out that the PM had taken the word of another PM who in turn heard from another that had gone on location and misunderstood what the customer was saying. To save a few thousand bucks the company only sent one person and expected them to brief everybody else on their findings. In hindsight I'm sure that skinnier travel budget wasn't so worth it.
“Well, no, my secretary does that...”
If you're not solving problems you're just a medoicre code jockey. I want to work with people who build iseful things, not people who stop and understanding syntax and think that code is a goal into itself.