A Product Manager's life: coding as a way to bridge the gap between management and technology
I consider myself a product manager. Beyond having built two companies, more than a few businesses and not being afraid to broaden my scope of responsibilities, I think what I do best is to build products and lead product teams.
One of the reasons I enjoy this role is that I am able and allowed to see business, strategy, technology and finance from a balanced side. Even though I don't quite believe in the "CEO of the product" thing, the PM is the person who needs to understand as much as possible everything that each area or department is doing around the product business to balance it out.
This means that in the last couple of years I have studied finance, content marketing, programmatic advertising, digital payments or data policies in EU and LATAM in quite a lot of detail. I needed to understand how each of these areas worked in relationship to the products I manage or help manage in order to make the best decisions.
(By the way, and this may be the focus of another post: so many books have still not been written that explain many of these areas in detail to non-experts. Finding reliable documentation and courses becomes a full-time job.)
In a product-focused company, the technical team is one of the most important ones both in terms of size, budget and pressure. Seldom does a week pass without being asked about "what the tech team is doing". Of course, a tech team usually has a tech lead that helps the PM understand how things are going. But just as tech teams are pushed to "understand the business" they're at (and I fully agree with it, as do most of the team members of any technical team I have been involved with), shouldn't business make a bigger effort to understand the challenges technology poses sprint review after sprint review? I think that's where a good PM must help.
I am not referring only to technical PMs. I have the luxury of having a technical background. I have professionally developed code in C, C++ or Java (yes, old times :D) and I acted as a solution architect for years. Even though NO SINGLE TEAM should ever want me to code professionally again, I know enough to have deep conversations about technology. But even if a PM doesn't have this background, he/she should treat technology the same way I treated finance or content marketing. Do I need to learn about it? Then, let's go for it.
Does this mean a PM needs to learn how to code? Not professionally, but it may be the only way to understand how wonderful, yet at the same time frustrating and challenging, bulding technology can be. In my case, I've gone back to coding, using Python, SQL, MongoDB and other languages and technologies to learn more about the possibilities my products can have. My strategy is twofold:
- Advance enough so that I KNOW that something can be done. That way, I can have more meaningful conversations with both biz and tech.
- Understand the potential challenges so I can better explain and defend our position to other stakeholders, bosses, etc. as well as to improve my analysis of new initiatives or products.
Seeing me code may look like a joke from the outside. Every line of code takes a life to work well. But at the same time, every hour spent there means I have a deeper understanding of the hard work my technical teams do every day, and I can explain it better.
Nobody said being a PM was easy.