A Software Engineer’s Guide to Product Management
A healthy working relationship between product managers and software engineers is crucial to productivity and morale.
There are fine lines between no trust, too much trust, and just the right amount. It’s not uncommon to see a product owner who micromanages every ticket/feature/epic, because they’ve been burned before. But often, without the necessary technical knowledge, they go so far down rabbit holes that very little gets done.
The opposite can also be true, where the product manager trusts too much and no one is keeping an eye on the developers (which yes, needs to be done from time to time!). A lot of really cool stuff might get done, but it’s not as likely to match the business requirements.
Ideally, both sides approach their roles collaboratively, understanding that everyone is on the same team and willing to communicate and compromise. Sometimes, however, engineers and product managers can feel as though they’re not listening to each other and/or working against each other for different goals. There’s equal responsibility on both sides to make the relationship work to ensure the best possible outcome for the product. To build and maintain a positive rapport with your product manager, you’ll need to take some initiative, and here’s how.
The most important thing you can do to build a solid relationship with your product manager is to understand their role and the pressures that come with it. Their priorities are likely different than yours, so you need to put yourself in their shoes to understand why they might not see things the way you do.
Consider that a product manager’s job is primarily to ensure that features and products get delivered on-time, as promised to stakeholders. The people that product managers report to can apply a lot of pressure, and delays and slip-ups, even when unavoidable, can add a lot of stress to a product manager’s job.
Also, remember that while product managers are responsible for relaying communications up the chain to stakeholders, they probably only meet with those higher-ups on a weekly or monthly basis. Whenever you feel like they may be hounding you for answers or responses, it may simply be because you’re available and they value you as a collaborative team member.
Rest assured that your product manager wants to learn and help. Explain your work and any challenges in clear, non-technical language whenever possible. Have regular check-ins so they never feel like they’re in the dark, and give them all the resources they need to relay information to other stakeholders at any time.
Of course, explaining your work in a non-technical language is much easier said than done. Even when you have a pretty technical product manager, it’s unlikely that they have the same level of programming/development knowledge that you do.
Make an effort not to talk down to your product manager, since that can only exacerbate the problem. Have them explain something back to you when you think they’re starting to get it so you can get a better sense of their understanding. Above all, try to keep a positive attitude.
While communication tools like Slack are great, for explaining technical things, there’s no substitute for a verbal conversation. Get in a room together and whiteboard, or get them on the phone. Generally, they’ll want to understand the details, and you can help!
It’s also important to make an effort to understand how your product manager communicates back to you, and it’ll probably be different from how you might expect another engineer to communicate. Product managers tend to be very direct in their communication, due to the pressure they get from their stakeholders and clients, and their need to gather information to make a business decision. Don’t take this personally — they’re not being rude. You can respond in kind, with direct answers, but sometimes it may be helpful to offer more information so the product manager knows the “why” behind something, and not just the “what”.
Of course, while you can help product managers improve by imparting some of your technical knowledge on to them, the opposite is also true. Dig into the business requirements, user insights, and get a feel for your product manager’s interactions with stakeholders. As you get a better understanding of their knowledge (both technical and about the project/product in general), you might find you’ve learned something too.
Finally, you can make your relationship with your product manager easier by helping to create and stick to some kind of process. This allows both parties to understand the other’s expectations, and in particular, it can help product managers feel more comfortable knowing when things will be done.
Of course, as an engineer, you know that delays are often inevitable in software development. Your product manager probably does too, but because of the pressure they get to meet deadlines, they may be far less accepting. You may want to challenge yourself to meet tough deadlines, but if something comes up that makes hitting that deadline impossible, your product manager is the one who will hear about it from angry stakeholders.
Control for this by offering realistic (or even conservative) timelines for your work that you can match, and let your product manager know as soon as it seems like a deadline may not be doable so they can adjust. Work within whatever development process you’ve chosen to help the product manager understand when tasks will be completed, and hold yourself accountable.
If you do miss deadlines, ask yourself why and see if it could have been avoided. Should have you padded the timeline a little more? Perhaps a little more research/grooming up front could have saved time in the long run and given a better estimate. Estimating engineering work is art. Practice it and hold yourself accountable when you miss the mark.
Usually, a product manager would rather give a longer, less-desirable timeline upfront to stakeholders than come back after a shorter timeline and ask for more time. Remember, they’re trying to plan months or even years in advance, so accurate timelines are crucial. A few blown deadlines can cause delays/issues that far in advance and lead to tarnishing the trust in your relationship. It’s better to be ahead of schedule and get less done, than constantly refiguring an annual timeline.
Finally, make retros a standard part of your process. Constantly look back at how effectively your planning and development worked together so you can adjust for the future. Your product manager will appreciate it!
Forming and maintaining a positive relationship with your Product Manager will pay dividends throughout your career. Being straight and honest with them is always a good idea. Be consistent with timelines for features/tickets, and try to be as accurate as possible, even if you have to pad the timeline considerably. Many product owners want to know/learn the technical side of things, so try to get in a room with them from time to time to go over tickets, issues, and features on the whiteboard. Everything you learn from them about the business of software development can help you further your career, whether you choose to go into management yourself or stick with engineering.