rofl, look at everything you commented on. You're basically making my point. Also it sounds like you never worked with a programmer before, because "that's literally the job of programmers, to figure out how to implement something" is by far vastly underestimating how good programmers are when you give them fuzzy information. Maybe by year 7 or 8 they can get fuzzy info and work that into a well functioning piece. Before then they either will complain "why can't someone just tell me what to build and I'll build it" or they never push back on "do we need to build this? And as such?" and by god try to get them to estimate. Oh wait and try to get those estimates to be less than 300% off.
Just saying, you are over trivializing everything which in my mind leads me to think you haven't lead an engineering team or maybe oversaw one or two junior or mid level engineers.
A good PM should _not_ be advocating for the engineers to do whatever. If they are doing this I would be the first in line to recommend either re-adjusting their priorities and having a senior pm oversee them, or kick them out. A good PM is what creates the space for engineers to do their job, and a bad one will not wrangle the chaos into an executable situation.