Practice: Balancing Engineering Limitations with Customer Requirements
Practice answering the question, "How do you balance engineering limitations with customer requirements?"
What the interviewer is looking for:
- Empathetic, thoughtful communication.
- Cost-benefit analysis.
- Ability to shield the engineering team from low-priority work.
Here's what a good answer looks like:
"As an engineering manager, I often receive a large set of customer requirements and requests and have to prioritize them effectively with the team. I usually take a few steps every time I get a customer requirement.
First, I always try to listen and understand the request. By better understanding what the requester is asking, I can understand if there are existing methods that can solve their use case, or if there are other teams who can help provide solutions for the specific requirement. I also often lean into curiosity to ask about the priority of the issue, and how it maps to the company goals and objectives, in case there are alternative, less costly methods that might solve the same set of goals.
Note: At a larger company, I might develop or already have a process for handling customer requirements or requests via a form and an approval process.
Next, after understanding the requirement, I think through and try to communicate the cost to our team to build the feature, and which aspects are harder vs. easier. For instance, if a customer requirement is to change our website to a different color, I might explain that it's easier to change the color on desktop than on mobile, and understand how each of those platforms might fall into the requester's priorities. I'll also communicate an overall sense of time investment (e.g. this will take about three days of two of our engineer's time to build this). When possible, I always also try to communicate time investments for alternative approaches (e.g. if we change the color only on desktop, this would take one day of one engineer's time). If I've seen several requests of this type, I may also try to think about infrastructural engineering work to make it easier to ship future similar customer requests.
Once I have a good assessment of the problem, a set of possible solutions and a cost-analysis of the project, I weigh this against the existing projects our team is working on. Is this higher priority than the set of projects we currently have on our engineering roadmap? If I agree, then I'll slate in the project. If I don't necessarily agree, I'll advocate for alternative solutions or explore the requester's desired timeline and try to find a compromise that works for us.
Ultimately, this process is about listening, understanding, and finding low-cost high-yield solutions that further our company's goals."
Explanation This answer describes how managers can help prioritize and balance incoming requests given business and product goals, illustrating cases where it may be useful to find compromises or say "no" gracefully.
Tips and pitfalls
- Focus on listening and understanding first before giving any push back.
- Strike a balance between being conciliatory and thoughtful about how to help the cross-functional partner while also being mindful of engineering costs.
Try it yourself
Record yourself answering this question. When you're finished, score your answer on the criteria below.
Great answers:
- Demonstrate a "listen first" approach.
- Demonstrate a deep understanding of the team, i.e. resources available and all relevant dependencies.
- Demonstrate communication skills required to effectively prioritize: listening and asking questions to gather enough context to make a decision, teasing out signal from noise, balancing the interests of multiple groups, diplomacy in saying "no", etc.
Grading Rubric
Listens first.
☐ Your answer shows that you collect all relevent information before beginning to make a decision.
Deeply understands resources available.
☐ Your answer demonstrates a clear understanding of the resources at your disposal, i.e. given a standard request, you can quickly estimate how long it will take depending on current workload.
☐ Your answer demonstrates that you represent your team well, by supporting and shielding them from unnecessary work.
☐ Your answer includes examples of your top considerations when evaluating a request.
Works effectively with cross-functional groups.
☐ Your answer shows that you're able to separate signal from noise, especially when communicating with less-technical stakeholders.
☐ Your answer shows that you're able to balance multiple interests and arrive at the best solutions in terms of business objectives.
☐ Your answer positions you as a team-player who thinks outside the box in order to , but who is also capable of saying "no" respectfully.