All Articles
A product manager trying to write code and explaining it to a group of annoyed developers.

Why Learning Code Can Make You A Better Product Manager

October 31, 2019

How can you become a rockstar product manager?

Many people struggle to properly answer this question.
And there are a lot of articles on Medium that discuss this exact challenge, share relevant insights, and give advice. There are good ones, and there are bad ones.

So far, I have yet to come across one that deals with the importance of knowing how to code.
This might be due to the fact that most product managers lack this skill or because in many large setups, its importance is perceived to be quite low.

But I think coding is a skillset that enhances your value dramatically.

The Basics

There are many different job descriptions for product management out there.
They range from steering the development of algorithms to writing books. To be fair, there is no exact definition of a product manager because there’s not one template product that needs to be built.

Knowing that, it’s important to note this article is only about Due to that, digital product management jobs in a software (desktop or web) environment.

So, what’s the job of this digital product manager?

Andy Johns wrote a very cool article about this question and you can find even more on Medium.
Here is how I would break down the responsibilities of the digital product manager role:

  • Discover the needs of your (potential) customers — even if they might not already know about it.
  • Be the product roadmap, product strategy, and product vision hero. Tell the story.
  • Transform the story into product requirements.
  • Make sure those requirements move into the right technical features. From backlog management to developer sparring to testing.
  • Evaluate the results against the market, which is usually a data and statistics game.
  • Translate all of this (your findings and the tech details) into a shortened, yet complete story for the management and shareholders.
  • And, depending on the overall size and scope, lead your team and colleagues.

Essential Skills for the Job

Again, different people might have different opinions on this one — based on their individual experiences.
There are at least seven essential skills, even taking into consideration the varied experiences and opinions:

  1. Good business sense and knowledge: you need to convince investors/management. You should know how to read a financial statement. You need to understand how a CFO thinks and it is even good to know that IFRS are accounting standards and know new crypto coin.
  2. Analytical skills: beside the stakeholders, developers also admire logic over gut feelings.
  3. A creative mind, as well as a feeling for marketing and advertising. In the end, your product needs to sell (in a monetary and/or emotional way). It doesn’t hurt, if you have some design skills too. Only drawing ugly wireframes mostly never gets you the results you need.
  4. Empathy and knowledge about how to get into people’s heads. This is more about psychology and statistical analytics than talking a lot. Therefore, know statistics and at least the basics of market and consumer behavior research.
  5. Legal knowledge: in times where governments all around the world create boundaries and borders, you need to know how to bend your requirements around and through it.
  6. Know how to make complicated things easy to understand.
  7. Real leadership skills, which means leading by example, inspiration, creating a motivating environment, and being a role model. Get people to follow, not fear you.

There are plenty of product jobs where three of the above skills are enough, but this article is about becoming a rockstar product manager.

Coding Skills

Let’s dive a little deeper into the job description.

If you have worked in or near software development before, you know there’s often a gap between the business side and the tech department.
In those cases, the product manager sits with the business people and often also has some business background. Looking at the list above, this seems to make sense.

But more about the gap.

Sometimes there’s a feeling that developers do not understand what product or management teams want. Maybe they have some special unit role — elite and closed for everyone else. Sometimes they do not do what they should be doing.

From a developer’s perspective, the product team often misses out the daily reality.

In the end, this challenge can be solved two ways:

  1. The IT department should not be some mystery within an organization. Especially as a digital product manager, it is your job to build the bridge between tech and the rest of the business. However, if you do not speak the language of developers, you are usually just another business guy that pretends to know, but does not. This is about earning respect. And it is not only about the tech side. You should be able to provide at least a rough estimation to your business stakeholders when it comes to ‘we need this: here’s how long it will take and how much it will cost.’
  2. Product strategy, vision, and roadmap always need to be closely aligned with the tech strategy, capabilities, and basic possibilities. Do not misunderstand this: it is good to dream big. This is about product managers that require a feature with little impact, which takes one year to build — and put it over a high-impact issue that can be done in one day. Sure, in a good setup, the developers give you feedback. They tell you about the one year vs. one day thing. But wouldn’t it be better to have known this before (and save time and money)? Investors would love it. Not to mention that this often leads to developers no longer listening to you.

This is where coding steps in.

I am not talking about becoming an expert senior full-stack developer. That would be cool, but is not required.

You should be able to write simple programs, build a simple website, but with a state-of-the-art setup. You should also know about current tech trends, advantages and disadvantages of specific languages, frameworks and so on.

You should start with simple HTML (tutorial) and CSS (tutorial).
Add some JavaScript (tutorial) (maybe use some simple jQuery or React).
Learn some PHP (tutorial) or Python (tutorial).
SQL, of course, should always be part of your skillset — if not for the product itself, then for analyzing data.

You could even try Java, Go, NodeJS, Angular, or C++ (but this might go too far). Read a lot about the respective schemes, frameworks, and languages (Medium is a good source). Get into it and do not stop.

And maybe ask your developers to tell you more about it at lunch — even better if you’ve done your research and gained some knowledge beforehand.

Is this really that important?

Yes. And no. And yes.

There are many cases where you actually do not need to know any coding.

As mentioned above, if you are working with experienced (not remote) developers, they usually support you in a way where you do not necessarily need to know how to code. Some organizations have implemented some kind of tandem, where a head of development works closely with a business product manager. This also puts you more on the business seat. Still, you should have a good feeling about how code works and data flows.

Another important thing to note: When working on a junior or regular level, this usually is not part of the job description. I would even include the senior level here.

But if you want to make it to the very top, if you want to be able to evaluate all product areas comprehensively, if you want to become this rockstar product manager, then learn some code.

Conclusion

Digital product management is a tough job. Most people do not understand what you do. You need a skillset that is, in some way, contradictory. You need to work at the intersection of everything — and that’s often the place where all the trouble and anger happens.

There seems to be no place left to bring developer skills into the mix. You might even think that coding will be automated in future years. Still, at least try, because it almost always pays off.

Consider this: It is not necessarily about coding itself, but rather about knowing what you are dealing with. It is about technical understanding. People will recognize that you know code and that it gets business people excited.

If you do know how to code, then you should already realize that you’re most probably already a rockstar!