On page 5 of John Siracusa's Ars Technica review of Apple Mac OS X 10.5 "Leopard" is a too-brief observation on Apple's kernel design philosophy (my italics):
Apple's focus is on system-level performance, not micro-benchmarks. The kernel team's job is to make the software at the higher levels look good. If improving the performance of some tiny aspect of the kernel tenfold does not provide a measurable performance increase for some user-visible feature or task, it's not an effective use of development time, benchmark bragging rights be damned.
The fact that some of the best and brightest minds at Apple put the user experience first doesn't surprise me - just as the fact that bright minds elsewhere will pillory them for being inefficient and inelegant doesn't surprise me either. There is an endless tension between wanting to make each component of a larger system as great as it can be with the knowledge that good may be all that is needed.
We all know that great is the enemy of good - but institutionalizing that realization is difficult. How do you set the bar for excellence lower and not have individuals feel that they are compromising themselves? When can you say you've done enough to make it better, and that any additional effort is a truly wasted effort?
On two occasions I've heard Guy Kawasaki pronounce in a keynote speech "don't worry, be crappy" - and on both occasions I've looked around when he's said that and noted wincing from both technical and marketing people. The fact that he follows up this exhortation with "churn, baby, churn" fails to dull the sting that we should ever settle for a release that isn't the best it could be, by gum.
A popular anonymous product management blogger recently observed that the two ways to earn the respect of development are (in order) to stop being an asshole and become an expert in the current customer base. I would argue that if you are an expert in what the customer wants, sometimes you have to be an asshole to get the point across to people who may feel a proprietary interest in making whatever widget they are responsible for better than it needs to be. Assholery is a useful skill when applied infrequently and selectively.
And what better time to apply this useful skill than advocating for the user experience, especially when some "you don't appreciate the power of my kung fu and I know better than you" developer decides to trump your requirements and spends a month on work that's the functional equivalent of painting the bottom of a chair.
Putting the user experience first is exactly what Barry Goldwater was thinking about in 1964 when he said, "I would remind you that compromise in the defense of the user experience is no vice! And let me remind you also that over-engineering in the pursuit of excellence is no virtue!"
And so - if you want to be a good product manager, put the user experience first. A famous former IBM chief executive used to say that you should tattoo "customer" on your forehead so that the customer would be the first and last thing you'd think about each day. It's fine advice, especially if you've been looking for a way to be more like Gully Foyle.
This is also my way of saying don't bother trying to become a great product manager. By the time you figure out how to be great, you'll have missed the opportunity to move on to a job in which your greatness is both more required and more richly rewarded.