I'm an engineer-type (contributor/architect/lead/manager/director) who dabbles in product management from time to time, mainly to fill in the gaps and help cross the chasm between the two disciplines.
I've seen the breakdowns and failures on both sides. I love the "asking for the ROI model" person for engineering activities, but oh man if there isn't trust between them and the PM, progress and morale plummet.
IMO PMs need to embrace engineers as members of the team, bring them into the loop, motivate them and sell them the vision. Don't just handout a "roadmap", or worse yet simply assign tasks, then get all flustered when people don't understand.
On the other side, engineers need to realize their job is not to "write code" but rather to add value to the business - the PM is the resident expert in helping you figure out how to add that value inline with company goals.