Are we really listening
I learned an important lesson about listening when I just joined KMS six years ago. I was in a Monthly Business Review (MBR) meeting with our orgâs Vice President (VP). I was driving a project on its critical path, so I prepared thoroughly in case I got picked. Then the VP asked: âJin, when do you think you can deliver this in region xxx?â Man, this was my moment to shine! âThe reason we had to delay the project was âŚâ I gave a long narrative full of technical jargons on why the project was at risk and how I was turning it around. The VP finally had enough: âJin, I was asking for a date. You can just give me a date!â âOh âŚâ I was embarrassed as you might have guessed. I didnât listen to the question. I just let out whatever I had prepared. If the VP was my customer at the moment. I wasnât Customer Obsessed. I was obsessed by myself, my ego. In Amazon, we have a guideline that when answering questions, start with: Yes, No, a Date, or a Number. Only give the details when you are asked and only give the details relevant to the questions. I did many interviews in Amazon. A common pitfall from interviewees is they just give the answers they so deliberately prepared, that have nothing to do with the questions being asked. There is another pattern of not listening to the question. That is when we stop learning about new things. Whatever the questions or situations, we just pick something we know well, then give that as the answer. This usually happens on people with certain amount of industry experience. We were in a meeting discussing a TCP connection capacity issue in our load balancer. In this case customersâ API requests were rejected before they reach KMS endpoint. A team member suddenly said: âwhy donât we redirect the TCP connections to a server and return 400 errors?â The room was quiet for a bit to digest this novel idea. âBut if customers canât even establish TCP connections with our server, how do we return HTTP errors to them?â I asked. âI was thinking we can return the code in the IP header, you know, like in IP tunneling protocol GREâ âErr, how do you think we can change the IP header on the load balancer? Even if we can, our customers are mostly Python, Java, Node.JS application layer developers. And their applications often run inside AWS server-less infrastructure. How do they sniff the IP traffic and read the error code?â ââŚâ It turns out the team member had many years of experience on VPN/IP tunnel product before. So instead of listening actively about the current problem and understanding the customersâ pain, he tried to bring the problem to somewhere he knew well - therefore the idea to return a HTTP error code (layer 7) to a TCP connection failure (layer 4), using IP header (layer 3). Listening is an art I donât claim to be an expert at all. But I am eager to improve. So listen actively and mindfully to others, let go the self!
Last updated
Was this helpful?