We were working on some customer issues the other day and it another customer was having problems, you know double whammy. What was interesting is that a more senior person started talking about the customer about “they’re such a problem” and then talking about strange things they did in the past. As we dug into their problem, yes they were using an API in a very strange way (20 seconds of runtime to yield 6 results), but what was more interesting is that the more junior people started talking about how this customer was bad/wrong – taking on the way leadership has framed them.
In software we have an expectation of how somebody is going to do things, but we don’t have the “customer is always right” ideals that Customer Service/Sales takes to heart. As wiser leaders we need to make sure that we frame how we talk about customers in ways that help people understand the basics of a customer centered development model (they’re always right). Since regardless of what we think, it is what they want to do which keeps them happy and keeps things going forward. Not only that but as we start to understand what they want to do, only then can we build systems that truly support their needs.
There is a whole different discussion about firing your customers, but thats an explicit option, not a cultural issue.