Is there a standard breakdown between these two?
For some reason I have the feeling that Microsoft popularized the usage of these titles - does anyone know firsthand if this trend started at Microsoft?
So historically, program managers handled decisions about how to allocate resources to accomplish a mission. These days, program managers usually allocate resources over a portfolio of projects and decide whether projects are helping to achieve the program's mission.
Product manager has a responsibility for one or more products and associated strategic and executive decisions , around business plan, marketing, sales, research and development.
Do you run a spreadsheet loaded up with market data and demographics evaluating the potential revenue impact for all of the features you're thinking of including in the next release?
And so on and so forth. Product management is a full-time job on a substantial product. It may be that in small start-ups people wear many hats and you don't need it as a separate function. But if your team ever gets to the point that you can justify a full-time development manager, your team probably needs someone else with nearly full-time product management responsibility.
In addition to that, there are sometimes some benefits to separating product management from development management. Sometimes. Being a little divorced from the product's inner workings can provide a certain useful perspective. Hopefully, the product manager isn't wedded to the feature that a developer just spent three weeks building and can jettison it to ship on time :-)
Even if you work for yourself, you decide which market to be in, and the market decides what you must build and when.
Interestingly, the push to smaller start-ups and smaller teams does create more opportunities for developers to wear multiple hats. That's a good thing too.
That kind of growth probably has to happen. To be fair, most all the program managers had engineering degrees, and some had been successful developers. The project managers came from a different track entirely, and I think that was a more challenging relationship for a lot of developers.
Besides, for a great many developers, dealing with a PM is better than dealing directly with people in finance and marketing, or customers themselves.