Client Relations

I had an interesting set of interactions with one of my clients over the past couple of days. I had written a program to do some data analysis against a set of standards, which they provided. The client (or more precisely, one of the client’s employees) sent me the data I needed, I sent back the program.

I get an e-mail a few hours later that it’s not working. I checked the program, which I had tested earlier, and could not see any issues with it. So I paid a site visit, and determined that there was a configuration issue, which I resolved quickly.

The next day, I get another e-mail saying “It’s still not working”. I request that they regenerate their set of standards, as that may be causing the program to validate incorrectly. A few minutes later, I get a new set of standards, I update the program file, and send them the new version.

The next day, another e-mail comes in saying that the best match they can get through the program is 65% accuracy, which doesn’t make sense, as it should have been comparing the standards against itself (a perfect match). I then get a call saying that this is urgent, please investigate and fix ASAP.

I know that the client is waiting for this program, and that it will impact their sales if I deliver quickly. I take a look at what they sent me in the two versions of the standard, and realize something: The standard is missing some data – about 20% of the data!

I call the client directly and explain the issue. I manually generate the standard, validate it, and make a small change to the program to increase its error tolerance. I then send an e-mail to the 3 people I’ve been dealing with, and explain, in non-technical terms, what the problem had been (you sent me bad data for the standard).

I learned something from this experience. On the whole, the error in this case was not mine, but the fact that I did not have accurate information. Since this was a priority to the client, I worked quickly to resolve the issue, but that should not have been a determining issue. I paid a site visit as soon as I realized that I could not reproduce the issue on my end, so that I could see the client’s perspective. I found out at the end of the issue that I will be getting, in addition to the contract fees, an excellent reference and a well-written testimonial.

  1. Even when the client is supposed to be providing some data, check that it is correct if you can.
  2. Treat every issue raised by the client as though the contract depends on the speed and accuracy of your solution.
  3. If you can’t reproduce the issue raised by the client, don’t assume it does not exist. Pay the client a visit if you can, so that they can show you. Even if you are correct that there is no issue, show the client some respect and give them the opportunity to show you the problem.
  4. Every client can be the source of new leads. Treat the client with respect, maintain your credibility, and the client will recommend you to others if the opportunity presents itself.

Now I’m waiting for the client to validate the new version of the program, with the correct data, but my confidence is high that it will meet and possibly exceed expectation (always a good thing, promise low, deliver high). Then I will have a nice letter of recommendation, and a client who will laud my work ethic and competence, allowing my business to move forward into the growth stage.

Cover Letters

When applying to work at a company, take care to write your cover letter carefully. This is not the time to demonstrate your eloquence, it is the time to get them to give you a call. Unless, of course, you are applying for a position as a writer, in which case my statement makes no sense.

Your cover letter is an opportunity for you to make each application unique. You can talk about the company you are applying to work at and what you can do for them. You can show off some of the research you did when applying to the company. You can write about some of your soft skills, which may be difficult to present in your resume.

You should not, under any circumstances, write about anything that would give them cause to not want to hire you. It is too early for demands and negotiation. Leave that until the interview and later (in fact, don’t mention any demands or negotiations until you have an offer on the table). If you have an issue which is important to you, make note of it to yourself so that you can ask the interviewer about it later. For example, if working flexible hours is important, and you can’t find anything regarding company policy for this on their website, make a note to ask about that at the interview.

The person in HR who is looking at the cover letters and resumes will only spend a few seconds looking at your application. If they see something negative in the application, they will move you to the no thanks pile immediately. After all, in today’s economy, for the job you applied for, there are quite possibly hundreds or thousands of other applicants. Why would anyone waste their time with the guy who’s whining about the number of hours he wants to work?

Task Management

As a consultant with several clients, it is of utmost importance that each of my clients feels that he or she is getting the top treatment from me. I rely heavily on recommendations from my clients to fuel my business, and this in turn requires that I treat my clients well. Part of this is maintaining a rapid response time for all clients, so that they feel that I listen to them, and respond appropriately.

The problem on my end of this is simple. With several active clients, each of whom requires that I perform some task or another, how do I maintain a good relationship with all of them? Obviously, some tasks are more critical than others, but a client who has many low-priority tasks still requires a response, even if other clients keep raising high-priority items to be dealt with.

The system I use is fairly simple to implement, though the times I mention are meant as a general guideline, and can be changed according to need. Each client I work for, when they submit a task, is given an immediate response time. So if Client A submits a low priority task, I may inform him that the task will be completed within 3 weeks. This is based on the amount of work I currently have, plus some space for new high-priority tasks that might come in before the three weeks. However, if nothing else comes into play during that time, I may complete the task earlier. From the client’s perspective, since I have provided a time frame for the task, they are tolerant of a delay in getting their task completed, as long as I abide by the time line I provided.

On my end, I simply keep a list of all active tasks. I have some projects which are ongoing, and last for potentially months at a time. For those, I try not to provide an absolute date for the final product, but instead, give a range which is refined as we approach the end of the project. In order to be able to work on those projects, I designate about 50% of my available time to all my new projects (more if the schedule is light that week). The other 50% is divided among short-term tasks, fixing bugs, making small changes, and maintainance. As a new task is sent to me, I add it to my list of active tasks, either under the short-term work or under the long-term work. Within that group, it is prioritized and assigned a completion date (or range, in the case of long-term work). Any future tasks that are sent in are then prioritized without moving any tasks that are already planned.

I don’t use any special tools or software to keep track of my work. I find that a pen and paper work just fine, as long as you keep that information highly visible. What I actually use is Excel, listing each task, who reported it, the time to complete it, and the completion date I provided the client. I also mark the last date that I worked on that project, and what version of the project that particular item is meant to be included with. That allows me to group pieces of work together and bundle them into single releases.

If you have another system for prioritizing across multiple clients, I would love to hear about it. My process is a work in progress, so I am very interested in hearing other methods of managing your workload.

Networking and Following Up

I have, as mentioned in an earlier post, recently attended a networking event. I met with a few dozen people, and a few have tried to follow up with me, but most have not. Personally, however, I have not followed up with very many, and of the few who did try to follow up with me, I have only agreed to further a connection with one so far.

I will address the last part first. Two people in the same line of work contacted me, asking for a follow up meeting. Both said similar things, that they had been impressed by me at the event, and wanted to see if we could work something out together. The difference, however, was that one fellow stopped there. He did not mention my newly started business. He did not mention anything specific about me beyond my name. I turned down his request for a meeting. The other fellow commented on my new status as the owner of a business, on policies from my business that impressed him. He had clearly visited my website to find that out. Granted, that took him a total of two minutes to get that information, but at least we had something to talk about. I knew what he did, he knew what I did, and so we had a reason to meet.

This example has illustrated some of the criteria for arranging a follow up with anyone you meet at a networking event, or any event in which you meet new people, for that matter:

  1. If you have their card, you can get some information about them off the internet easily enough. Do it, and then when you follow up, provide enough information about them that they know you looked them up.
  2. Don’t make the follow up sound like a sales call. You’re not trying to sell them something (although, of course, you are likely hoping for a sale to come out of this). You’re looking to establish a relationship that will result in many sales, not just for you, but for them as well.
  3. Spend time talking about what they do, what their needs are, and how you might be able to help. Talk about their business, the types of people they likely deal with, and how you can help their clients as well. Talk about working together to help each other, and to help others. Don’t talk about your latest product that they really need. Save that for after you meet.
  4. Give them a reason to meet you. For example, if you’re in marketing, and they started a business in social media advertising, explain that you would be interested in sharing notes. Now they have a reason to meet you: you will tell them about marketing their product, and they will tell you more about the product. Both people gain.

Back to the original point, though. I did not follow up with very many of the people I met, because I don’t think most of us have anything in common. Many of the people at the event came to sell. I wasn’t there to buy. Others are in business that in no way connects to what I do. I don’t know people who might need their services. Or the impressions I got off them did not impress me (and in some cases, I made a note to avoid the person).

Image is extremely important at networking events. You need to convince the people you meet that working together can build a mutually beneficial relationship. If it seems like only one of you will gain out of the relationship, even if in the long run that may not be true, you will see the potential buyer run from the seller.

Asking for Help

I was called this morning by a university friend whom I have not spoken to in a while. He wanted to know if I could do some work for him, which happened to be outside my area of expertise. Without digging further, I gave him a referral to another friend who might have been able to help. A few minutes later, I got an e-mail indicating that this university friend wanted some work to be done, but either couldn’t or wouldn’t pay for the work.

To anyone who is thinking about contacting an old friend to do them a favor: if what you are asking them to do is something that normally costs, then offer to pay for the work! Just because you’re an old friend does not mean that they will do the work for you for free. Let them make the call on that count. If your friend says they can’t do the work for any reason, but gives you the name of someone who can, you should absolutely offer to pay for the work, as the new referral has no connection to you at all!

There is an old saying not to mix family and business. While people will bend this rule on occassion, it is almost always done at the discretion of the one doing the work. If you’re thinking about asking someone to do what they normally get paid for, then offer to pay them. Otherwise, you may find them cutting you off completely, and they certainly won’t help you out in the future.

Getting Started with Networking

As an earlier article I wrote mentioned, I waded into the world of networking a week ago for the first time. However, based on how networking has been described by people who spend much of their life networking, I have in fact been networking for many years.

Any time I talk to a member of my family, a friend, or a coworker about what I do, I am networking. If I establish a relationship with someone, whether professional or personal, I am networking. In the book Make Your Contacts Count the authors describe 6 types of connections, from what they term Accident at one extreme, to Ally at the other. Using their descriptions as a base, I will explain why I can claim to have been networking for years, and so have you.

An Accident is someone you meet by chance, such as the person sitting next to you on an airplane as you fly to Aruba for a vacation. While you may chat with them for the duration of the flight, unless you establish some common ground and exchange contact information with a reason to follow up, you would be hard-pressed to locate that person again.

An Acquaintance is someone whom you could locate again if you needed to, for example, a friend of a friend. You’ve met them, you know their name, and you know how you are connected. However, your knowledge of who they are and what they do is limited, as is their knowledge about you.

An Actor is someone who knows a bit more about you, for example, a friend or a coworker. You could probably describe what they do in general terms, and you see and talk to each other on occassion.

An Associate knows what you do. They can give examples of your work. You talk to one another regularly, and are in touch with each other’s activities.

An Advocate not only knows what you do, but they will volunteer that information to others. They can describe in detail what you do to a third person, and can and do recommend you to others.

An Ally is one who is interested in you succeeding. They share in your successes and failures, they give you advice, they push you to move ahead and succeed.

Using these stages as a baseline, you have been networking for a long time, just like me, except, also like me, you probably didn’t realize it. If you were to write down the names of 100 people you know, you could group them using the 6 stages mentioned above. For example, your parents are your Allies, as they push you to succeed. A friend who you meet for coffee once a week would be an Associate or Advocate. The guy you ran into at a friend’s birthday party last week would be classified as an Accident.

Every time you talk to someone, you have the potential to move them closer to you in your network. As you approach the Ally stage, you have fewer and fewer people in your network. Your goal, when networking, is to gain Advocates and Allies. The way you do this is by gaining the trust of the people you meet, and helping them to be informed about what it is you do.

This, of course, will take time, since people will not advertise you unless they have a reason to trust you. That means that they need to see examples of your work, they need to know people whom you have worked for. They need to know about some of the more spectacular successes that you’ve had. They are gaining an appreciation for your competence. This is something that takes time, but you can speed it up if you pay attention.

When you speak to someone, whether they are already in your network or not, figure out which stage of your network they belong to. Then decide how you are going to move them one or two stages closer to being an Advocate. Can you demonstrate your competence in an area they can relate to? Use examples that pertain to their area of expertise. If they are in sales, and you write software, talk about a piece of work you did for someone in marketing. If information is confidential, find ways to obscure who you worked for, and any proprietary information.

People will assume that if you do one thing well, you do many things well. If you talk to Bill and promise to send him some information on your latest project, and then do so, Bill will assume you are reliable. If you tell Mary that can refer her a competent electrician who is cheap, and that referral works out, Mary and the electrician appreciate you because you gave one person work and saved another some money. However, Mary will now trust your referrals and opinions more, because the first one you gave worked out for her. As time goes on, you can reinforce this trust, but establishing it in the first place is key.

First impressions are the most lasting, so plan on making yours memorable in a way that shows you in the best light. Find an Ally to help you work on your image, go out an prepare a few variations of a personal introduction, get some examples to back up your competence, and meet new people and reconnect with people you “already know”.

New Computer from Dell

I was just sent an e-mail advertising a new computer system from Dell: the XPS One 24 Desktop. I’m looking for a new development computer, and I prefer to use Dell, as I have had very good experiences with them in the past. Does anyone have any feedback on this system?

One of the downsides to this system I am already aware of, and that is that you are limited in terms of the amount of customization that’s available. However, I’m not quite ready to buy, and it will likely be another 6 months before I do, so maybe by then, that issue will have been resolved, at least somewhat. But are there any other issues with this system I should be aware of?

Best Practices

I’ve been hearing a lot about best practices lately, and came to an interesting realization. I’m from an IT background, so I will focus on that area, but what I have to say can be extended to essentially any professional area.

In IT, there are two kinds of Best Practices: those that apply to how we operate, and those that apply to our code. When I hear the term Best Practice, I tend to think of a new coding standard, or a particular step in our development life cycle, such as how we do peer code review. I’ve worked on writing some of these practices, and I agree that they are needed. However, there is something missing.

When you have a best practice, be it process-oriented, or task-oriented, make sure your customers know the practice. If your testing process includes 4 levels of testing, advertise it! If you use the Super Special Coding Standards, advertise it (and include a link so that your customers can find out more about that standard)!

While I’ve heard much about Best Practices at work, I only hear about them internally. As a consumer, I cannot remember the last time I saw a company advertise its Best Practices. As a supplier of a a product or service, you choose to use some practices because of some benefit you think it will have, whether it be improving the quality of your product, or make it simply easier to maintain, or some other reason. However, if you tell your customers what you are doing, what standards you use, they can appreciate the effort you are putting forward for them. Why are you wasting an easy opportunity to brag about your high-quality product?