Devs vs PMs. PMs vs Marketing. Marketing vs Sales. Fight!
No, obviously the post is not about the fighting. It's about respective differences in approach to product development between product managers and developers.
Product managers try to make their products successful. The definitions of success are plentiful, but the simplest one is: the successful product solves customers' problem in a satisfactory way and brings value to the company.
This last bit, about bringing value to the company, is arguably the biggest difference between PMs and devs approaches. Most developers I've ever met were creators at heart. They found pleasure and fulfilment in solving technically complex problems. Often, those solutions led to high-value opportunities for the business. Sometimes, they didn't.
Product managers, as a rule, are also a creative bunch. But we always need to keep our wild ideas in check because of this question: will they pay for it? We can't, or shouldn't, pursuit a problem just because it's interesting and challenging. It has to be the full package: real, big, painful problem AND pervasive AND people should be willing to pay for solving it. That results in many PMs getting stuck in their commercial viability paradigm. Quickly it becomes a habit and soon after, PM's might lose some part of their creativity.
Some businesses, those large, well-established ones, they might prefer their PMs to be less creative. That's because their goal is to keep their market positions, not to take big risks, play defensively. But startups and scale-ups out there, those folks who try to break into a market and get their slice of a pie, they have to take risks and therefore need highly creative PMs.
Luck is a major part of product success. We cannot manufacture luck, there are no frameworks or methods to get lucky. All we can do is to generate a bit of randomness here and there, take a slightly bigger risk, bet on something odd. This way we might get lucky.
Developers are more accustomed to this kind of behaviour while PMs are often discouraged to do unproven, risky, aspirational things.
Of course, no one is inherently better than anyone else. Both developers and product managers are vital to the success of modern businesses. Understanding our differences and blind spots is the key component of effective collaboration.