Which company do you work for that the product managers are opining on the software architecture, data structures, algorithms, and variable names? And what are your software engineers doing while the product managers are doing the aforementioned tasks? Did your company expand the scope of the engineers to subsume product management? Because a person without a technical background can not reliably take on these tasks. But if the engineers are doing all this, who's talking to the customers?