Be reliable
When you make commitments, honor them. If you can't honor them, swallow your pride and let your customer know as soon as possible. It's rarely what they want to hear, but the earlier they hear it, the happier they'll be.
Be available and responsive
Even if your customer is calling, emailing, or texting about a minor issue, be responsive and let them know help is on the way. It's the unknown that scares customers — even if you aren't available right then, take a moment to let them know you're aware of their issue and will be with them within such-and-such timeframe. The more frequently you provide this experience, the more likely you are to have a calm voice on the other end of the line when a true crisis does hit. Few things are harder than getting objective information out of someone in a panic.
Admit your mistakes
Everybody makes mistakes; it's how one handles one's mistakes that counts. Never sweep your mistakes under the rug of technical jargon. Never blame the “other guy” for your mistakes. Don't cross your fingers and hope no one will notice or that it'll go away. Be fair to yourself, but be honest. Focus on how you're going to make it right.
Go the extra mile — but be sure they know it
When you go above and beyond, don't go fishing for compliments — but do make sure it's noted. Bill the hours on your invoice, then add a line-item discount negating them with a friendly note. I often hear that no good deed goes unpunished. I disagree adamantly.
What will come back to haunt you is a good deed gone unmentioned, whether in the form of unrealistic expectations or being blamed for an issue that arose while you were doing good under the cover of secrecy.
Speak to your audience
This is easier said than done. I've been taken aback by biostatistics researchers whose cutting-edge knowledge of GPU computing performance put mine to shame. I've also encountered firmware developers who couldn't open a web browser without assistance. Identifying your audience's technical skill level is key: dumb it down too much and you sound patronizing; go too deep and you sound like a pedantic jerk. Be sensitive to the fact that not everyone learned English as a first language, and adjust accordingly.
Be comforting
Deep down, what every customer wants to hear when they call you mid-crisis is that it will be alright. That doesn't mean lie or be dishonest — be human. Be understanding. Empathize. The last thing anyone wants to hear from support is “You're really SOL — wow, how did you even do that?”
Details are comforting
Following from the point above — details are comforting, as long as they're details that make sense. A paragraph of technical jargon can scare away the wrong customer, even if the message was meant to be one of overwhelming success. A paragraph tailored to the customer's level of understanding with the same message goes a long way. “I fixed it” is very rarely sufficient to make anyone feel comforted.
If you have nothing positive to say…
Treat your competitors, both in hardware and support, as you would the dead. Excepting for, say, John McAfee or Hans Reiser, always present an objective perspective. Even Hans Reiser created an admirable filesystem. There are some exceptions — but only with customers you have a rapport with.
Ten years on, these still hold up — arguably more so in independent consulting, where every client interaction is unmediated by a support queue or a brand to hide behind. If any of this resonates with how you'd want a technical engagement to feel, get in touch.