My answer, originally published on Quora.

Q: What level of coding experience should a good product manager have?

My Answer

Caveat: I'm assuming we are talking about software products.

In THEORY, actual coding experience should be irrelevant to the hiring decision of a product manager. As Steve said, a product manager is responsible for representing the market, not for slinging code. Moreover, being too familiar with the Engineering point of view might detract from your ability to represent the market.

That's the theory, anyway. I subscribed to it for a while when hiring product managers and product management consultants. But after getting burned a few times, I've changed my tune. I now want people who have spent at least 2 years as a programmer.

Why? Because spending time actually working as an engineer gives you a far deeper sense of how large software systems are put together, what it's like to work on a team of developers, and a better sense of how "big" a particular task or idea is. These things are invaluable for a product manager to understand, because they help you make better tradeoffs and better negotiate with developers.