07/03/2010 - Recently I had occasion to look for an air-conditioning installer, and was faced with the challenge of finding the perfect combination of price, reliability, reputation, and speed.

I've been using the same company for about 6 years; they have lots of trucks, a squad of repairmen and installers, but I know that I pay a large premium for the availability. I consider their expertise, my experiences with them to this point, and I now question whether the extra money I've paid has actually been worth it.

I've been giving some thought lately to what clients really want from consultants. As an extension to this line of thought, I've also come up with a list of what experience has taught me to be the most important qualifications to a successful developer.

EXPERTISE
I'll start with the most obvious one. The first thing that a potential client looks for is someone who has the skills necessary to provide what the client is looking for. In the case of FileMaker Pro, it comes down to knowledge, experience, and finesse: is the consultant up to speed on the latest and greatest from FileMaker? Has he or she developed enough databases to have learned from years of design?

Enough said, this one speaks for itself.

RELIABILITY
We all know brilliant people who are so eccentric that they have a hard time dealing with everyday people. I know of a guy in Missouri, for example, who won't return phone calls, won't respond to emails, won't reply to the simplest questions. For that reason, I would never recommend him to anyone, and I know of at least one large account that he lost as a result of his unwillingness to be reliable and responsive to the client.

So I give this one a high spot on my list of requirements for a good consultant.

ACCOUNTABILITY
I've given this one a lot of thought lately, because of things that have come up in my own work. Okay, I admit it, I don't always do things perfectly the first time; there was that time I didn't secure my outboard motor to the raft we built in high school, and the outboard ended up at the bottom of the ship channel in south Louisiana--where it remains to this day, I'm sure. There was that clubhouse we built as kids, where I didn't build the roof properly, and it leaked for months until I added tarpaper.

Mistakes are part of the human condition; what we do with them is another matter. These days I try my best to own my mistakes with my clients; if I overlook something, forget to apply something in a database solution, write a script that isn't quite up to spec, and then it has a less-than-satisfactory result (not to put too fine a point on it!), I admit it to my client. Experience has taught me that clients appreciate honesty about things like this; in fact, I've recently been told that one of my clients wasn't used to dealing with a consultant who admits when he makes a mistake. i took this as an extreme compliment, and this has encouraged me to continue to take ownership of my mistakes if they occur.

TIMELINESS
Each of my clients wants to believe that they are important to me, and in reality they ARE all very important to my company and me. Rather than making promises that I can't possibly fill, I give clients honest estimates on when I can get to the work they've requested; if I give overly optimistic timelines, it frustrates the client, gives the client the impression that I'm not totally truthful when giving time estimates, and results in my own unease and discomfort because I feel pressure from unrealistic promises.

A few months ago I had to tell a client that it would be several months before I could start his project; I fully expected him to find someone else to do the work. Instead he chose to wait for me, and I will be starting on his project in a few weeks. Not only did I retain the project, but the client hasn't been calling me every week because I've failed to deliver by a deadline that wasn't realistic.

COURTESY
This one is tough sometimes; I've had my share of difficult clients, but I've had an overwhelming number of clients with whom I've maintained a comfortable and friendly working relationship.

On occasion I've wanted to fire off angry emails to clients who perhaps rubbed me the wrong way. My friend Richard long ago counseled me to write my response, review it, and then have a friend read it to see whether it ought to be delivered. I can't tell you how many times I've had to edit a response because I wrote it in frustration or irritation, rather than as a level-headed professional whose job includes keeping a clear line of communication to the client.

These days I write the response, send it to my friends for review, and often throw them away in lieu of something much more cordial and conciliatory. I've learned from my local phone company to start my responses with something like, "I'm sorry you're having trouble with…", instead of heading off in a huffy, self-righteous, smarmy, wiseass direction that is fun to write but usually destructive in its outcome. I find that brief, focused responses, containing accountability where necessary, go a long way towards healing a possible point of disagreement between a client and me.

SHUT UP AND LISTEN
As anyone who knows me will attest, I like to talk and can sometimes suffer from open mouth and closed ears. I try to be a better listener, to respond rather than to react, to reflect what my client is telling me so that they know that they were heard, and to offer clear responses so that my client is left with the impression that we are working together on a solution for whatever issue is at hand. I also take notes while in a meeting with a client; being able to review what was discussed has saved me countless times.

Being a good FileMaker programmer involves much more than knowing how to write good databases. It's one thing to be able to create a great solution, but if there is no client to pay for the work, your business won't last long.