Developing skills to be a great Product Manager

Finding a consistent definition for what a Product Manager (PM) role entails is no easy feat, as I have quickly figured out while starting to dip my toes into the product management world.  This is true even when try to narrow my scope to thinking about product management within tech companies in the San Francisco Bay Area. There seems to be as many definitions for ‘product management’ as there are roles out there, and a great deal of opinions around what makes someone a good product manager.  At first I found the many ways in which people thought about product management a bit puzzling and disconcerting, how am I supposed to find out what actually works well?  But after some thought, I realized that there is a common thread around most people’s perspective of what a PM is, and the variety of opinions about what the role actually is gives me the flexibility to explore where I would fit best based on how I would like to define my career.

One way in which the PM role has been described to me, which seemed to capture the essence of how PMs approach their work at BloomReach, is to see themselves as the mini-CEO of their particular product or features.  Putting it this way, it becomes clear that at the end of the day although as a PM you are not actually doing the product’s development, you are ultimately responsible for making the product successful.  This may mean that you should be well-versed in many different areas across the product development cycle in order to do your role well.  However, depending on the company size, product phase, and team size your responsibilities and areas of focus may be very different.  Here are a few things that have come up over and over as good skills to have.

Getting technical and knowing how to code

There seems to be a lot of discussion around the need to know how to code to be a successful PM, particularly given the success of non-technical/non-programmers as PMs in various companies.  That being said, something that Amazon GM Ian McAllister very succinctly pointed out is that not being technical is never an advantage for a PM.  That is, you may do well in the role, but knowing more about the technical side of how products are built is always advantageous.  I talked to various PMs so far and this sounds true to many.  They encourage non-programmers by pointing out that the engineering team will do the coding and thus you don’t necessarily have to be a great programmer, which would take many years of hard work, but I have always seen their heads nodding while discussing the benefits of knowing how to code when being a PM, even if knowing the basics and building from there.  Given this, I am embarking on a journey to learn how to code using a few highly recommended resources: Code Academy’s Python Course, General Assembly’s Dash course, and using the JavaScript & jQuery: The Missing Manual book.

A few other things I have been told to learn from a technical standpoint include scripting for data analysis (to get insights), learning how to scale products, what levers can be used to make products faster, determining the right database structure/schema, among others.

Learning about User Interface (UI) and User Experience (UX) design

Steve Jobs is well-known for his brilliance in having focused as much on product design as he did on functionality.  He pushed the boundaries of how a product should be thought about to include an end-to-end view that would not only be technically impressive, but also ‘really cool.’  This allowed the products to enchant users through its ease of use.  It meant that graphics and design were smartly and intently applied to create a pleasant experience and remove any layers of frustration with the product.  Great UI and UX can very strongly influence the user’s reaction to the product, regardless of its complexity or how impressive is features actually are.

I would like to continue developing my eye to catch what is it that makes a product fun and exciting to use, and look for ways in which to bring this into the development of the products that I may have the privilege to work on.  For now, I am simply going through and reviewing the products that I love, and determine to what extent it may be a function of smart design instead of just technically impressive features.  Are there any great resources I should look into for this?  Let me know.

Understanding user needs

Ruthless prioritization seems to be one of the most critical aspects of successful product development execution.  Where PMs are most impactful is in determining which of the many great product ideas they should implement first, which ones to defer, and which ones not to implement at all.  There are many complexities introduced by each ‘minor’ feature developed given the need to make it work well holistically with the rest of the product.  As such, a great product manager needs to determine which features will make the most impact towards achieving the product’s vision and value proposition, and resist the urge to try to implement the rest of the features that may delay these from getting out to the users.

Going back to Steve Jobs as a great example, I have included below the transcript of one of his conversations explaining the big difference between having great ideas vs. actually executing on the right things.  That is where the rubber meets the road, as people say.

Steve Jobs on the importance of great executino

Published by Omar Eduardo

Passionate about building great products; Product Manager @ Google; ex-consultant @ Accenture; MIT chemical engineering graduate

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: