One point I haven't seen so far in this thread: even if manager types make more money than programmer types, that does not imply that management is a more lucrative career choice.
To make the point, let me turn the question around: if management is easier and pays more, why don't more programmers choose management?
The answer is that it's not necessarily easy to land a management job, whereas there's often work for programmers to do (though programmers may need to do consulting and travel around or something).
What happens is that business types get comfortable communicating with specific managers, and then they don't want to spend time building rapport with new managers. Great if you're that one manager, but not necessarily good for the 5 that are stuck trying to apply as a manager while unemployed.
(I'm sure it's more complex than this, but I believe the above describes a significant factor.)
I think you're right. Becoming a [good] product manager involves a long path that starts as an intern/co-op in college to assisting project managers, becoming one and polishing your skills in order to get those bigger projects and ultimately a product manager and/or operations chief. Granted, at a startup, anyone can become the product manager overnight, but in that enterprisey world it takes considerable more time and you have the added problem of extended down time should you lose your job, which can occur at a moment's notice if you're on the mid-level business side. Any decent engineer with experience under their belt is usually last to be fired and first to be rehired.
Witchcraft exists on the business side and its mysteries remain the domain of tall, handsome people. It really gets to me that even smart engineers will fall for it, too. Having been on both sides of the table I can tell you that engineers who take the stance that they shouldn't be making up the business rules are doing themselves a disservice. Most business types are sitting around waiting to be prompted by the engineers and have no clue of how something is supposed to work until the actual work is done. /End rant.
To make the point, let me turn the question around: if management is easier and pays more, why don't more programmers choose management?
The answer is that it's not necessarily easy to land a management job, whereas there's often work for programmers to do (though programmers may need to do consulting and travel around or something).
What happens is that business types get comfortable communicating with specific managers, and then they don't want to spend time building rapport with new managers. Great if you're that one manager, but not necessarily good for the 5 that are stuck trying to apply as a manager while unemployed.
(I'm sure it's more complex than this, but I believe the above describes a significant factor.)