Answer by Edward Ho:
Alright, I'll give this a shot based on my experience working at Google with the best product managers I've ever seen anywhere. I am not a PM so these are based on my observation of the best at Google.
- Take ownership of the product and all issues related to it. This goes a long way, if you own the product, you are the first one looking for bugs, first communicating with users and first worrying about whether or not you got it right. You're always first to volunteer to do the many varied tasks that go along with running a product/team like taking notes, sending emails to customers, filling things out, triaging bugs, or doing a quick mockup. Always start with: It's not someone else's responsibility, it's your responsibility. When you do this, you'll find #2 to be easier.
- Be incredibly persuasive. (I don't really know how to do this one, but I see it done every day.) You want to get things done, but you are not in charge so to speak. None of the team reports to you and they really don't have to do anything you say. You need to be convincing rather than commanding to get things done at Google. If you are doing #1, this is easier because everyone knows you are going to be in the trenches with everyone else if the stuff hits the fan.
- Be an engineer. I don't mean that you actually need to be coding the product. I mean you should be curious about how the product is built as if you were an engineer. You should be interested in understanding how much something costs in engineering time, and why it costs so much. What algorithms are in use for that feature? Why is this page slow? Any engineer on the team will pay a lot of attention to big architecture decisions that affect the product and so should you. You should be able to explain the tradeoffs of major engineering decisions if you run into the founders and they want to know why something works the way it does. The best PMs at Google enjoy getting very technical whenever they can.
- Be endlessly positive. Your team is likely composed of engineers and some of us tend to be very cynical. A very positive PM can make a world of difference in the mood of the team. You may feel silly being so positive all the time, but it's infectious and your team will feed off of it. Remember that you and your Tech Leads (lead engineers) may know of a million things to get you all down, but the rest of your team is likely not exposed to all of that. You help them do their jobs better by not wallowing in your worries because as the PM, you are the team's window/messenger to the larger company. If you are negative, then that's how the team will think the rest of the company perceives their work.
- Don't self-promote. This should be obvious, but if you attempt to self-promote, it's incredibly obvious and poisonous. Celebrate others on the team, you and the Tech Lead(s) are already the primary contacts for the project and you don't need any promotion. If you are dragging around the hard work of others attempting to earn kudos for yourself, you're doing it wrong and you won't go far. Be inclusive. Whether it's a blog post, or a launch video for a new feature the best PMs promote their team members. Take a look at the blogs for some of the best products at Google. You'll find the blog posts are written by a very wide array of individuals and not always the product manager because they are actively promoting others. (Please don't confuse my usage of "promote" with actual job promotion which is a different animal. BTW the latter is highly dependent on peer reviews.)
- Fearless. A better writer could explain this better, but you must be blind to titles. The best PMs will speak to the founders the same way they speak to engineers or designers on their team. If you freeze up when questioned about your product decisions by execs, you won't be successful. Give succinct answers and be fearless when defending your team's ideas.
Hope that helps.