Skip to main content

Talking to customers

Earlier today my family was on the road returning from a family wedding when we decided to stop for lunch. Needless to say, it didn't go spectacularly well (my Twitter rants are rare, and only occur when something has really set me off):









Needless to say, we didn't stick around and eat sandwiches. In fact, I would hope that this establishment's ownership recommend the staff get some additional training on how to interact with people. If the same employees did this more than once (you should always cut people some slack), I would probably recommend they be fired.

But I thought this experience might provide a great opportunity to talk about being a professional when interacting with customers.

Regardless of what your occupation is, you will at some point have to talk to someone who would be considered a customer. The customer could be an actual paying customer or client, a manager, a professor, an evaluation team, or any number of people for whom your behavior determines whether or not you will be successful in your current endeavor.

When I speak to customers, there are a five things I always make sure to do:

  1. Be empathetic - Try to understand their position. If a project has not gone as well as they had originally expected, be sure to tell them that you understand their frustrations.

  2. Be honest - If you can avoid making the customer frustrated by being honest about capabilities, timelines, and costs up front, then you can avoid frustrating situations.

  3. Don't over-sell - This can be a difficult one, especially at first. You may think it's important to sell your customer on the idea of the moon. But if you can only deliver a wedge of cheese, then you have established a reputation for under-delivering. You can tout your skills and successes, but be sure that it doesn't spill into boasting or exaggeration.

  4. Never blame the customer - If you are working with a customer, never directly blame them. It really doesn't matter whose "fault" something is. If you are working on a software project, for example, you may not have come to full agreement on the project scope. Instead of saying "You didn't tell me that was what you wanted!" try saying "I didn't realize that was part of the project scope." This will keep the situation from escalating .

  5. Don't escalate a situation - This is the absolute most important thing to remember. If a situation becomes tense, never escalate by trying to prove your point, blaming the customer, devolving to the use of personal (ad hominem) attacks, or becoming aggressive or flustered. Remember, as a professional it's your responsibility to act like a professional in front of your clients. Always be sure to ask yourself, "is what I get out of doing this going to be worth it?" Most of the time, the answer will probably be no.


It's really pretty simple: be honest, be empathetic, and always be professional. And always remember that people are imperfect. Be sure to cut people some slack every once in a while. If you can do that, you will build a reputation for courteousness, reliability, and overall ability to get the job done - everything a client could want from a professional programmer!

As always, be sure to contact me via Twitter or LinkedIn, or feel free to leave me comments below!

Popular posts from this blog

Neural Network Dense Layers

Neural network dense layers (or fully connected layers) are the foundation of nearly all neural networks. If you look closely at almost any topology, somewhere there is a dense layer lurking. This post will cover the history behind dense layers, what they are used for, and how to use them by walking through the "Hello, World!" of neural networks: digit classification.

Arrays of Structures or Structures of Arrays: Performance vs. Readability

It's one of those things that might have an obvious answer if you have ever written scientific software for a vector machine. For everyone else, it's something you probably never even thought about: Should I write my code with arrays of structures (or classes), or structures (or classes) of arrays. Read on to see how both approaches perform, and what kind of readability you can expect from each approach.

Neural Network Pooling Layers

Neural networks need to map inputs to outputs. It seems simple enough, but in most useful cases this means building a network with millions of parameters, which look at millions or billions of relationships hidden in the input data. Do we need all of these relationships? Is all of this information necessary? Probably not. That's where neural network pooling layers can help. In this post, we're going to dive into the deep end and learn how pooling layers can reduce the size of your network while producing highly accurate models.