A tech lead asks:
As an engineering lead, I'm struggling to come to a good working relationship with my product manager. We seem to overlap on who is doing what, but some things get dropped as well. I feel I am doing work that they really should be picking up - and I am missing having a product vision coming from them.
What are things I can do to get to a better relationship, and work more efficiently with the product team?
A struggling engineering lead
Anyone who has worked with product managers has probably been here. I have yet to see a truly harmonious relationship from the get-go, where both product managers and tech leads or engineering managers felt that everything was going well. And this is to be expected. There is a natural tension between deciding what and why to do (product) and how to do things (engineering).
What a healthy product - engineering relationship looks like
Everyone will have their view of how the product-engineering setup works well. For me, four traits are the must-haves for me to rate my relationship with product as "strong" are these.
1. Two people, one voice inside and outside the team. Teams, where product and engineering are aligned consistently, say the same thing. There's a lot of behind-the-scenes work to get here, but it's worth it. When engineering and product are aligned, they can fill in each other. This can happen in meetings, stakeholder discussions of when going on holiday. And every time you represent the other side, this bond grows stronger.
2. Frequent communication. Both PMs and engineering leads get exposed to large amounts of information. They both have to keep multiple stakeholders happy. For an engineering lead, much of this will be inside-facing, making sure engineers on the team are motivated and doing well. For product managers, they will often work more with the business.
For a strong relationship, the engineering lead and product manager need to talk frequently. I'm a fan of having a regular, weekly catchup in some shape or form.
3. Empathy towards the other person. The work for product managers and engineering managers is very different. It's challenging in different ways. You need to build empathy towards the demands of the job for the other person. For example, did you know most product managers can't make decisions all by themselves? Here's 14 other facts that might surprise you about product managers.
4. A clear understanding of where the roles start and end - and where they need to lean on the other person. There will always be some level of overlap between the roles. However, I have seen many product-engineering pairs not talk about what they expect from the other. This non-communication then led to frustration. People were expecting the other person to something that they never agreed on.
A setup that (usually) works well
In a fast-paced, product-focused engineering environment where product-minded engineers thrive, I've seen the following setup work well:
Product owns the "why" and "what," all the way to the product spec being finalized. They drive the product strategy, product roadmap, and all tactical parts to have a blueprint on what engineering should build. This itself will be a large bulk of work. It starts with working ahead with the business, ranking ideas, estimating their business impact - sometimes forecasting with data science -, building a business case, and coordinating designs with designers.
In the late phase of the process, pulling in engineering for finishing parts of the spec is their responsibility as well - making sure we don't define something that is needlessly challenging to build on the engineering side.
They formalize requirements with a spec, often referred to as the PRD (Product Requirements Document). In small companies, this will be a lightweight doc. At places with many stakeholders, it could be something larger that needs signoffs from teams across the business. Here's a list of PRD templates from companies across tech.
The engineering lead owns executing on the product ideas and ensures that the team stays healthy and runs well. There's a lot more to this than just estimating the product work, breaking it down, then getting it done via sprints. It also means owning the technical roadmap, and keeping engineering tradeoffs - tech debt - at bay.
It's a juggling act in deciding how much capacity to spend on product work, versus maintenance and keeping the lights on. How to respond to the odd "house is on fire" outage, or inbound engineering request that "only need two hours from an engineer". It's keeping tabs on people's motivation, wellbeing, and career trajectory, supporting them in their growth and promoting people to the next level as they progress. Not to mention collaborating with other teams and working ahead with the business. I'll stop here - there are books going deeper on what engineering managers do if you'd like to read more.
But who owns the work beyond the code being complete? The - often staged - rollout? A/B testing? Keeping tabs on customer usage and feedback? This will vary team by team, but you should clarify it. I've seen data science take this one, as have I observed the PM owning it. I also encourage engineers on my team to own this part, growing their product-minded muscle. Whichever you choose, just decide upfront, so no one will drop the ball.
Put your finger on the biggest problems
So we've talked about the ideal setup. You probably don't have this going. But what is wrong? Or, to put it differently: what is most wrong?
Figure out what the problems really are. Is it that the PM is not present with the team meetings? Is it the lack of strategy? That things they commit to don't get done? That things fall through the cracks? That scope keeps changing after staring work? Something else?
Make a list of the problems, and what the impact of these problems are. Then prioritize this list - like a good product manager would. If the scope changes mean that the engineering team is perceived as being slow, that could be a bigger problem to tackle for you than not having a two-year product vision. Similar, if it seems you cannot count on your product counterpart to keep their promises, that is probably more important to address than the PM not being on some of the team meetings.
Now that you have this list: work through them with your product counterpart. Assuming you have regular catchups, you can bring these up, one at a time. What if you don't yet have such a setup? Put one in place. Having a good relationship is not just important for you: it's vital for the whole team.
A checklist of activities
Here's a list of things I suggest engineering leads do if they are not doing so with their product managers. How many of these are you doing already?
- Have regular 1:1s with your PM that you both treat as important. Have topics you touch on, always. Have some agenda that mixes strategic topics and tactical things. Strategic things like how the product vision is going along or what the tech debt paydown strategy is. Tactical things like who is working on what the next week, and if the team have enough things scoped in the backlog for the near future.
- Agree on where each role starts, and where the other ends. Who is responsible for getting the spec together? Who owns rollouts? Who should communicate with business stakeholders? Who does project management with design, who with engineering?
- Lead the team together. When you're on holiday, can the PM step in to "lead" the team? And the other way around? Do you disagree in public or always say the same things, and discuss differences in private? How can you get to the two people, one voice setup?
- Build empathy. Read 15 things you should know about product managers by John Cutler. How much of this is true about your PM? Talk it through with them. Do you talk about the challenges of your PM and wins? Do you ever talk about their career goals - and how you might be able to help? Do you share the same with them: challenges and goals you and members on your team have?
- Do a mini-retro once in a while. How is your relationship going? How is the team doing? What is the thing that bugs you and them the most?
What if things don't get better?
You might find yourself doing all of the above, but things not improving. For example, because whatever you agree on, your product counterpart doesn't follow through with. Or does something different. This can be frustrating. What do you do?
Pull in help from elsewhere. If you've given what you have, and things don't work out, maybe you need advice from someone else. An obvious choice is to talk with a mentor - if you have one - or someone in your management chain. And have a chat with the manager of the PM, getting more context and sharing issues.
When talking with their manager, be sure not to go behind the back of your peer. Only share issues that you have already discussed with your product manager. Be clear on the problems, the impact it causing for the team, and what you've tried so far that is not working. Hopefully, you'll get feedback that you can act on, and that changes the relationship for the better.
Better product-engineering relationships, better teams
A strong product-engineering lead makes all the difference for great teams. The lack of this never ends well.
What are you doing to get on the same page with your product manager?
This post is part of the Ask the Engineering Manager series. Have a question on career growth, as a software engineer or engineering manager? Ask it here. Read other parts of the series here.
Featured Pragmatic Engineer Jobs
- Full-Stack Engineer at Farmlend. £85-95K + equity. London.
- Senior Backend Engineer at Farmlend. £85-95K + equity. London.
- Senior Full Stack Engineer at Perfect Venue. $150-180K + equity. San Francsico or Remote (US).
- Senior Software Engineer at AI Build. London or Remote (Europe).
- Senior DevOps Engineerr at AI Build. Remote (US).
- Full-Stack Engineer at Vital. $70-120K + equity. Remote (Global, within 5 hours of GMT).
- Backend Engineer at Vital. $70-120K + equity. Remote (Global, within 5 hours of GMT).
- Technical Lead - Platform at Vannevar Labs. Remote (US).
- Senior Software Engineer, Fullstack at Vannevar Labs. Remote (US).
- Computational Geometry Engineer at AI Build. London or Remote (Europe).
- Senior QA Engineer at AI Build. London or Remote (Europe).
- Lead Backend Developer at Cineville. €53-79K + equity. Amsterdam.
- Senior Software Engineer, Distributed Systems at Mixpanel. $200-270K + equity. New York, San Franciso, Seattle or Remote (US).
- Senior Software Engineer, Fullstack at Mixpanel. $200-270K + equity. New York, San Franciso, Seattle or Remote (US).
- Principal Engineer at Shoplift. $185-205K. New York.
- Senior Engineer at Sixfold AI. New York.
The above jobs score at least 10/12 on The Pragmatic Engineer Test. Browse more senior engineer and engineering leadership roles with great engineering cultures, or add your own on The Pragmatic Engineer Job board and apply to join The Pragmatic Engineer Talent Collective.
Want to get interesting opportunities from vetted tech companies? Sign up to The Pragmatic Engineer Talent Collective and get sent great opportunities - similar to the ones below without any obligation. You can be public or anonymous, and I’ll be curating the list of companies and people.
Are you hiring senior+ engineers or engineering managers? Apply to join The Pragmatic Engineer Talent Collective to contact world-class senior and above engineers and engineering managers/directors. Get vetted drops twice a month, from software engineers - full-stack, backend, mobile, frontend, data, ML - and managers currently working at Big Tech, high-growth startups, and places with strong engineering cultures. Apply here.