Note: this article was originally published in the Mind The Product blog.
I have hired product managers for a while now, and worked with dozens.
And since I come from a tech background, I have been asked many times (and I asked myself) if product managers should have some tech skills. Should they know how to code, and how it would help them in their daily work? I’ve even been asked by seasoned non-technical product managers if they should take a coding course.
The question of tech skills is a hard one to answer. I recognize there have been many situations in my career where my background has helped me. For a product manager a tech background means:
- You find it easier to define what is needed in terms that a dev team can easily understand.
- You can discuss scope knowing what may have a bigger impact on effort
- You can build relationships faster with teams. It’s easier to speak the same language and understand how to transmit ideas in a way that will compel engineers.
But I also have two major concerns:
- While I was strengthening my developments skills, I wasn’t developing some of the other skills needed for product management.
- How much technical knowledge is necessary? I have been a developer for many years. How much does someone need to know about software development to reap some benefits?
The Tech Skills Scale
To answer that last question, I’ve created a benefits scale, based on observations of many product managers with different levels of tech skills.
Level 1 – The Enthusiast
Some product managers have never coded but are IT savvy. They like to explore new products and enjoy trying innovative solutions. They may also have been working with IT teams for some time.
- Aware of new technologies that can be applied to solve challenges in the product
- Interactions with IT teams means they are able to understand technical language and acronyms
Level 2 – The Non-developer Engineer
I include product managers who do not have coding experience but are involved in the development world in this group. Functional analysts are an example. These professionals (not necessarily engineers) are very familiar with development processes, how to define solutions in a structured way, and probably do understand a bit of programming language (for example, they can read XML or use JSON testing tools).
- Have the ability to easily transform “needs” into system requirements
- Have tools to express systems components, interactions, and sequences.
Level 3 – The Curious
Level 2 and 3 are not mutually exclusive. At this level, the product manager has some interest in coding, has taken some programming courses or even has completed a “home project” to try out their new tech skills.
While it does not involve enterprise-level coding experience, at this level a product manager understands how the systems work.
- Very high-level idea of the level of effort something requires
- Understands technical explanations of how things are implemented
Level 4 – The Experienced
This level is for those product managers who have been developers, but who did not like it or realized that they were looking for something else and decided to change careers.
This level of expertise implies having worked in a real project and working inside a development team.
- Much better idea of the level of effort needed to implement an idea
- Really understands the cost of technical debt
- Has more tools to slice big features in smaller chunks while keeping customer value
Level 5 – The Dark Sider
Someone who worked as software developer for years and has decided to switch to product management.
- Identifies great software developers from “not so great” ones
- Can discuss “cheaper” ways to implement a feature
- Knows the intrinsic motivations for software developers
|1 – The Enthusiast
No experience, but lots of interests
|2 – The Non-Developer
Worked with devs for years but not coding
|3 – The Curious
Took code class or did “hobby” programming
|4 – The Experienced
Short time working as developer
|5 – The Dark Sider
Many years as developer before changing
NOTE: Product Managers may have learned these skills without having gone through this scale. There are many different ways to learn things.
What you do Need
If you do not have the tech skills, what do you really need to know about software development to be a better product manager?
Most of the benefits listed above are not easy to obtain, but I believe they are also not that important. For example, being able to discuss “cheaper” ways to implement a feature is the job of the technical leader or the development team, not the product manager. If you don’t trust them, learning to code is not the answer.
What you do need is knowledge that you can probably gain within a few hours of talking to the dev team. How is the system organized? What type of requirements affects only a single part of the system and which ones affect many parts? How does it work?
Knowledge of the system’s architecture will give you enough information to better understand team discussions, and to better express your ideas in the same terms as the engineering team.
And finally, you need to have that enthusiast attitude mentioned in the first level. You need to understand what new technical solutions are emerging and think how they may affect your product. Can you solve a problem your customer has with chatbots? How would AI create value in your industry?
- Yes, a tech background may help with some aspects of the product manager role, as with any other background, considering the different skills this job requires.
- I feel there is a disproportionate concern with product managers having a tech background, compared with the concern with UX, data science, marketing, or general business backgrounds. All these give you other advantages.
- I don’t suggest taking a coding class unless you want to code. It may even be counterproductive: you may try to get more involved in technical discussions that are more difficult than your tech skills allow – and you should not be taking part in them in the first place.
But if you feel you need more tech skills, I believe you may in fact need to strengthen the relationship with your tech team. By finding out more about how things work you will get the knowledge you need for your product management activities, and you will probably become more confident about how the tech team handles its product work.