Should a Product Manager know how to code ?
In most cases : no. When I wanted to become a Product Manager, I went through a free online ruby course. Disclaimer: it has never been useful to me as a Product Manager… Of course, there are exceptions — if you want to become a Product Manager for a technical product (such as Sqreen), or on the tech part of a product (working on APIs for example), then it’s definitely a plus.
However, in most companies I know, the product teams are split 50/50 between technical and non-technical backgrounds.
That being said, you still need to have a minimal understanding of several technical concepts in order to be a great Product Manager.
Before I list these concepts, let me explain why this will be useful. I see six main reasons:
- Making technical tradeoffs. Having a basic understanding of the tech architecture of your product is key in order to make these tradeoffs as a PM. One example — let’s say you’re working on an Analytics feature. Should the analytics be realtime? What is the “acceptable” refresh delay? These questions have huge technical consequences, and in order to make these tradeoffs, it’s important for you to understand how it works.
- Technical feasibility. As a Product Manager you will always face tons of opportunities that you need to prioritize. Obviously, in order to prioritize, you need to know the technical load. Some will say this is solely your tech team’s job. I believe that as a Product Manager, you should be able to make hypotheses on this tech load, in order to avoid going back and forth ten times a day with your tech team. The idea is not to estimate the workload yourself all the time, but rather to eliminate yourself the opportunities that are “moonshots” in terms of tech feasibility.
- Technical Debt. A typical mistake is to tell your tech team “You have 10% of bandwidth for technical debt. Do as you see fit.” As a Product Manager, you’ll need to prioritize technical debt like everything else, looking at the impact and the load. It’s obviously very difficult to prioritize things you don’t understand at all!
- Debugging. This is not the funniest part of the job. Having a rough understanding of how your product works technically will help you here. The idea is not to find the root cause yourself, but rather to be able to say “I don’t know the fix, but we know A happens. So it might come from B or C”. This will save you, and your tech team, a lot of time!
- Data. As a Product Manager, your role is to understand problems. Analyzing product usage data is crucial there. If, like in many cases, you don’t have a data analyst available 24/7, it’ll be very useful to be able to get data insights yourself. Having a basic knowledge of SQL is a great way to be autonomous on that topic.
- Delivery. During that phase, the tech team will work on shipping your team’s projects to production! As a Product Manager it will be essential to understand the principle of coding environnements (staging, pre-prod, production), as well as the concepts of branches, pull requests for example.
So, as a Product Manager, what should I know about tech?
Below is a non-exhaustive list of concepts that should be within your technical reach:
- The concepts of front-end and back-end
- The main differences between mobile and web in terms of product architecture and development
- iOS vs Android: impacts on design, rollout possibilities, app store submission rules, etc.
- Basic understanding of your product technical architecture — be curious! Every chance you get, ask your tech team how it works.
- What’s an API? What’s a webhook? You should be able to read and understand an API documentation.
- DevOps: very basic understanding of the concepts of coding environnements (staging, pre-prod, production), as well as branches, pull requests
How will recruiters assess your technical knowledge?
There are several ways for companies to assess your tech knowledge — including:
- Having a “live brainstorming” on a given feature with the Lead Developer of your future team, during an interview. I’ve seen this many times during the “case study” step of the application.
- Questions like “how would you explain what’s an API to a five year old kid?”. NB: these also assess your capacity to explain complex stuff in a simple way, which will be key in your future PM job.
- Recruiters can also test how curious you are about technical stuff. For example, they’ll check if you‘ve had a look at the API documentation if there is one.
What about companies with technical products?
Lucas Cerdan, Lead Product Manager at Algolia, gave us his perspective on this topic at Algolia. Below is a transcript of Lucas’ insights!
Algolia is a “search as a service” product. It is an API and is therefore intended for developers. Basically, our product is quite technical indeed.
In our Product team, composed of nine Product Managers, there is a bit of everything. There is one former developer, four people with engineering backgrounds (not necessarily computer science) and three people with non-technical backgrounds.
There are several pieces of advice I would give to aspiring Product Managers:
- When applying to a Product Manager role, you should not only to look at “how technical the product is”, but also “how technical is the audience” for this product.
- If you want to become a Product Manager, you need to be curious about tech. It is actually fundamental for a Product Manager to be curious about quite a number of things : users, competition, tech, etc. Regarding tech, reading documentations or looking at tutorials is a good way to start!
- You should try the Product of the company you are applying to. If a candidates apply for the role without trying the product, that would be a no-go for me.
Lastly, the most important part:
Don’t try to check all the boxes on the job description!
Alexandra is a Product Manager at Algolia. Two years ago, I reached out to her to hire her. She told me that she had never applied to Algolia herself because it seemed too technical for her. She’s been in the company for two years now and everything works perfectly well for her!