Jake says yes, I say no... Primarily because we disagree about what a product manager actually does...
First, I think I should answer the question, what the heck does a Product Manager do all day long??? Most of the time when my wife tells people she's a "proDUCT manager" they think she's a "proJECT manager"... which isn't even close. I've met quite a number of Product Managers, in different industries, and I can safely say that most of them do significantly different tasks... And many of them disagree on what their main focus should be.
Why such contention? The best explanation I ever heard was this: a product manager is more or less the CEO of a product line. Which means that pretty much anything that will help your product, you should do... which means a million different things in a million different situations. In order to be successful, you need to know a little bit of everything -- what features to add, what new markets to attack, what sales people need to sell -- in order to be an effective Product Manager.
Rich Manalang did not like that definition, saying it was too broad... he preferred the idea that a Product Manager is responsible for just the "life cycle" of the product. In other words, vision, design, creation, testing, support, and end-of-life decisions. In my opinion, this definition is far too narrow... it's far too "developer centric" in that you focus mainly on new features, training, and support... but neglect such very important things like what effect does the existence of this new product have on the rest of the company? An individual Product Manager might not know this... but hopefully somebody on the Product Management team does! If not, then nobody is building the path between a successful product launch, and a successful company.
If the Product Manager isn't responsible for that critical task, then who the heck is???
Back to the original question... do technology product managers need to know how to code? I say, emphatically no... It's a useful skill to have, don't get me wrong... but I disagree that it's a requirement for everybody on your product management team.
Let's be clear -- programming skills are primarily useful to a Product Manager as a communication technique. A prototype speaks volumes about what features people want... but that's about the limits of it's usefulness to a Product Manager. And, of course, if you are a good communicator, you can certainly do without it.
"the three great virtues of a programmer: laziness, impatience, and hubris" -- Larry Wall, inventor of Perl
Now... what if you are a Product Manager in charge of lazy, lazy developers? This happens. Maybe you want a feature, but the developers don't want to add it. So the developers give you the run-around so they can go back to playing Halo. Well, in those cases it helps to know how to program, so you can call out your developers for being
lazy virtuous... but this only works if you know a great deal of the existing code base as well! Just because it works in a prototype, that doesn't mean it will work when integrated into the product.
"When it comes to understanding code, if you wrote it 6 months ago, it might as well have been written by somebody else" -- Ancient Geek Proverb
Knowing the code base is a pretty hefty requirement... even seasoned developers don't know everything about their product... so it would be nigh impossible for a Product Manager to do so. It's more important that their minions think they know the whole code base, to try to keep the
lazy virtuous developers honest. The best technical Product Managers know ho to "dive deep" into the product, and know well a handful of obscure but important details about the system... this inspires a healthy amount of fear.
Ultimately, Product Management is so important and so difficult, that it's almost impossible to find all of the skills you need in one person. Small companies do this, but as companies grow, they usually break it down into three teams... it's occasionally useful for the "technical" Product Manager to know how to code, but this rule does not apply to your whole team.
If you're looking for more info on this subject, I've heard great things about the Pragmatic Marketing Framework for designing a Product Management team.