Should Product Owners Learn Code?
The age-old question. How much technical knowledge Product Owners really possess? Should coding be something that is handled exclusively by the Development Team? Or should they focus on planning out sprints, deadlines, and managing the client’s expectations? On one hand, you could make the argument that the developer should be the absolute expert in their field, and should handle this aspect of the Product exclusively. But in the same breath, you could also argue that the more that everyone knows about the process, the better the product will be.
Knowing how to code (at any level) helps to better your knowledge of the products you are managing. The more technical knowledge you possess on HTML, CSS, DNS Records, and other elements of the build, you will better understand how it all actually works. If you know how the product works based on how it’s built, you will start to be able to troubleshoot situations without dev support and be able to bring them better information to help fix issues that tend to crop up. Say, for instance, a client gives you a call at a moment’s notice, telling you about a feature-breaking bug. You don’t have time to pull a developer into the conversation, and they are letting you know exactly how they feel about this broken feature. In those instances, it can be invaluable to have enough technical knowledge available in order to help diagnose the issue and relay the helpful information back to the developer.
Knowing code also helps you to bridge the gap between the client, and the developer. At times, it can feel like these two parties are speaking completely different languages. The client is actively trying to communicate what they want, what they like, and what they don’t like to the product owner. They will use non-industry standard terms since they don’t do this on a regular basis, and usually have trouble articulating what they want in the ways that we are used to hearing them from other industry professionals. They might use words like “crisp”, or “clean”, or “crowded” to describe things that we would use different, more specific terms for. Developers, on the other hand, also seem to speak a very different language at times. Most people would describe hearing this as if they are hearing a foreign language, but in reality are talking about the product in its truest, most technical form. They will describe to you the loops they’ve built, the CSS Files that were meticulously created then minified, or will vent about inline styles and media queries, and how those should never be used… But to most of us, this sounds like gibberish.
A Product Owner is meant to fill the gap between these two parties. It is part of their role to be able to translate the ideas and wants of the client into actual technical terms, and communicate this to the developers in an intelligible manner, that will allow them to turn that idea into a tangible product.
So should a Product Owner know how to code a website from start to finish, without any aid or support from a developer? Should they be able to set up different schemas and databases, and be able to manage and alter DNS records with ease? No. But, any knowledge at all on these technical topics will make you more valuable to your client, to your team, and to yourself. The more that you know and can learn in this realm, the better.