I'd argue that you need some of each - if your team if over-filled with product-focused engineers, not everyone is going to feel heard, which can tank morale. And/or you'll be having to build consensus with everyone before the first line of code gets written.
You do want a team who can kick ideas around and do what is right, but you also sometimes want the people who just sling code and love doing so, as they will keep the quality of the code itself high.