I have a soft spot for most software engineers. I think they are wonderful. They are our modern-day alchemists, turning dull bits of ones and zeros into shiny product gold (which has real value, unlike traditional alchemists). Some of my best experiences as a product manager have been those problem-solving sessions with a team of engineers. We are knee deep in a problem, wading through the various technological options and coming out with an elegant solution. In this post, which is part two of the Relationship Series, I unpack the relationship between the product manager and the software engineer.
The product manager, software engineer relationship is complex. It can be frustrating when communication is difficult, and it feels like you are talking different languages. It can be tedious, when it takes weeks to move a new feature forward and it can be challenging when disagreements arise about, for example, the priority of technical debt. However, this relationship can also be extremely fruitful. I have found, the more I listen to engineers the better I understand the various technology components of the product and that helps in both prioritising and explaining the product roadmap. When a product manager is in tune with the engineering team, great products can be developed.
Several years ago, our weekly grooming sessions were confrontational affairs. For a long time I couldn’t understand why. I would spend hours carefully crafting the solution in the form of a user story and presenting it to the team on a neat Jira “plate” only to be met with a wall of negativity. Then one day, halfway through grooming, I stopped. I closed the user story and we started to talk, and the engineers started to ask questions. We discussed how this user story had come about and why it was a priority on the product roadmap. We went into details about some legacy technology which would have to be addressed before we moved forward and together, we conceptualised a new user story.
So what do we know about software engineers? Of course I am generalising here, but what I have observed, is that good engineers are passionate about what they do and take great pride in their work. This can sometimes lead to disappointment, on their part, when delivery timelines or user feedback do not go as planned. I have found that engineers are really interested in the business, beyond the technology. Discussions around the business strategy or how new features will contribute to driving market share, often draw insightful inputs from software engineers. Also, and this may be an obvious statement but engineers like details. Ambiguity often leads to frustration. My final observation is that engineers want to be included in the development of solutions. They have more to contribute then just transforming requirements into code and they are not satisfied when this potential is overlooked. These qualities of a software engineer have led me to believe that they are a product manager’s most important solution partner.
How can we, as product managers, ensure this partnership flourishes? I have learnt that if I stop presenting fully formed solutions to engineers and I start presenting them with a detailed business challenge, both the relationship and the end solution are stronger for it. Therefore, we should put our effort into understanding and most importantly clearly communicating the challenge. In this way we no longer have a reluctant partner but a solution partner who is willing and able to create product gold.