I hadn't built customer empathy early in my career. I'm not proud of this, but I even assumed some customers were stupid. Transitioning from that to making frustrated customers happy was a significant level up for me.
Today, I will share one such story and provide takeaways that can help you.
⚠️ The Problem
Context
My team builds and maintains an internal control plane, enabling engineers to run their services in the internal cloud.
The internal customer being discussed today is a high-stakes team that has a complex, unique setup.
I was already operating as the tech lead for my team at this time.
Day 1: One fine day, this internal customer reached out with a seemingly trivial question. Their API requests to our system were getting throttled. My team's oncall explained the issue and shared a wiki for the next steps. The customer seemed "ok" with the response.
Day 5: Someone else from that team reached out to the oncall again, asking for higher limits. My oncall responded that the current limits were already at maximum. They seemed "ok" with the response.
Day 10: Yet another engineer from the customer’s sister team stated how their workflows were suffering due to our throttling. My oncall asked what kind of limits they wanted. They didn’t have an answer. They just didn’t want to get throttled. To be fair, we are an internal control plane system so most engineers don’t think of throttling limits with our system.
They remained upset but didn't let us know. I saw a series of fragmented questions and brewing tension in their group. As this customer was important to the company, I stepped in to understand more.
❌ I tried but failed
I messaged each person to understand their concerns. However, each person was only responsible for different pieces within their broader team, so I didn't get satisfactory answers.
I examined their attempted requests and found them to be extremely large, beyond what we could safely support. This perplexed me. So, I created a document to summarize my understanding and pose my questions.
My immediate goal was twofold:
Understand the source of their requests and was it justified?
I wanted to help them kill unwanted requests.
Communicate that a limit increase was not an option
One of our ongoing projects would help them, but only after 6 months.
The document didn't help. I still didn't get satisfactory answers. It became clear to me that I wasn't working with the right point of contact. So, I reached out to their broader group (org) with a description of the problem (as I understood it), constraints, and next steps. I also used my manager's help to find the right tech lead from their side.
🏆 Success
A senior tech lead got back to me. Although he didn't have all the answers, he knew how to find them! It took us a few days to fully understand how their complex system interop’d with mine. During that time, he utilized area owners from their system to fill in the gaps. I learned how their business goals were driving up the traffic. I explained our constraints and how it would take at least 6 months to increase the limit.
He didn’t push for a higher limit anymore. Instead, we brainstormed short term solutions. I came up with a creative way to batch their requests and change the request pattern. This would reduce the load on my system. While it meant a few compromises for them, it was an acceptable trade-off.
This was a major win and became a highlight for their org. Also as promised, 6 months later, we gave them higher limits. A sweet side effect of this interaction was that my org built a great relationship with this customer, which helped in subsequent interactions.
🗒️ Takeaways
You don’t need to be an expert of your product to help your customer. Ownership mindset and a helpful attitude puts you in a problem solving mode which goes a long way.
Here is what you can do to convert customer frustration to satisfaction.
Help your customer frame the problem
Complex problems can be difficult for your customers to explain. They don't know the internals of your system. You and your team have tackled many customer problems and know the common pitfalls. So, find ways to convert their vague concerns into concrete problems.
Seek help
‘Never seen before’ problems need more eyes. You may also want more information from the customer. I have had better luck by documenting what we don’t know and more importantly what we already know. Don’t hesitate to leverage your manager and tech leads.
Think like your customer and be on their side
Understand how the customer’s business goals are impacted. Think about all possible ways your team can help fix the problem. After all, your success depends on the success of your customer.
Say NO very clearly to what you cannot support
If there is a middle ground then suggest that. But, if they are wrong then say it or if there is no solution then articulate that. That way, they can plan alternatives on their side.
Give them frequent updates and fulfill your promises. This will build trust.
As a junior engineer, I was naive to ignore my customer problems. When I learned the importance of building customer empathy, it helped me focus on impactful problems. That fast tracked my growth and I am sure it will do the same for you.
🎤 Shoutout
Guide to Leading Meetings for Software Engineers by
Engineers, joining an early-stage startup isn’t financially worth it! by
Engineering is more about people than tech by
Next week my newsletter turns 6 months old! I couldn’t be more happy to have 12K+ readers getting value out of what I share.
I want something in return to keep me going: I would love to hear how my articles have brought real value to you. Also if something is bothering you at work then let me know. You can reply back to this email or send me a message. I will get back to you! I promise.
Interesting read, Raviraj!
I'd say your efforts of talking to people increased your "luck surface area". That senior tech lead wouldn't have found you if you didn't move yourself first!
Now you may have a better "map" of how orgs are structured so you know who to talk with. But I guess you only learn that with time. For those who don't have the understanding at first, move yourself!
I loved the story! It’s crazy how different things would have played out if you didn’t take the initiative to understand the root cause.
One funny thing I’ve noticed is that when your customers are engineers, you tend to judge them much more harshly, and with less empathy.