Customer Support as a Development Tool

We do everything here. Code, build, blogs, coffee. And support. Customer support, that is.

Customer support is part of almost every business. But we’re in a very special business. Our clients are people like us – developers. We all speak dev-ish. If you think about it, mostly that’s not the case. Usually developers are hidden in a corporate building somewhere inaccessible, away from the end-user.

This gives us a unique opportunity. Our customers tell us what hurts them, what they like, or don’t like. And this doesn’t go through 4 layers of translation.

So what does it take to be a good support person? Well, I’m still learning. Here are a couple of things I picked up:

  • Patience. Lot’s of it.
  • Listening and inference skills. Customer says X doesn’t work. But he’s trying to do Y.
  • Turning pain into opportunity.

The last one is the hardest. Well, for everyone who knows me, the first one is not that easy either. But let’s get back to our topic, which directly relates to the third one.

It takes a while, and we are constantly drive our team to identify opportunities. These come in a form of new feature that can help the customer, small fixes we can make that will make he’s life easier, or a grand idea for a new product. And here’s an example.

We had a support post on the forum. This beginner’s question comes up in many forms. Here’s already something we learn from feedback – our API is confusing. And we’re working on that.

Like many others before him, the guy misused Mock.Instance, because lack of understanding between Mock and MockObject. So we answered politely, directed him to the blog post and video on the subject. And then we took a creative 5 minutes of team work, convened by Eli, and came up with a “featurette”.

The problem is that what you see is a NullReferenceException when you use the Mock.Instance property. But we are actually chasing the wrong error. We should be directing the user to the original mistake (choosing Mock instead of MockObject). So what if instead of returning Null from Mock.Instance, we’d throw an exception, with the message “Use MockObject, not Mock!”

Would any idea become a real implemented feature? depends on the idea (we have some really bad ones…). But the fact is, the more we come up with these ideas, eventually we make a better product. Errors like that become infrequent. This translates to cost, better customer satisfaction and better business.

And did I mention we also make coffee?

  • Nick

    It would definitely make sense to throw an exception there, as I can’t think of any use cases where you’d want to use the Mock.MockedInstance.

    As for the customer complaining that X doesn’t work when trying to do Y; there’s a fine line between the customer not having taken the time to read the docs and trying to understand how the feature should work, and the customer having spent the time to do this but still not understanding how a given feature works (most often because the feature is not intuitive or the documentation isn’t clear).

    I can’t speak for others, but with Typemock I’ve found myself asking questions in the forums more often than when trying to achieve the same thing with Rhino or NMock. You probably get this a lot, but a fluent or otherwise more expressive API would probably help reduce the amount of support you have to do.

    This would be my main criticism of an otherwise great product.

  • Gil Zilberfeld

    Hi Nick,

    Thanks for the feedback!

    I wouldn’t say a fine line, more like a wide strip. The more complex a product is (and Isolator is complex) there are more pitfalls. The more complex it is, it’s less likely people know all the details and variants. This creates different levels of expertise, and we see that in the different support requests.

    APIs are where the rubber meets the road. Or where the customer accesses the product. And this is a main point we’re working on improving.

  • Anonymous

    Thanks for your post. I found it to be very interesting. For my own personal use concerning customer service skills, questions, answers etc… I go to w website by Mindshare It’s really been helpful to me! Check it out, it’s great!!!