You may someday find yourself in a position where you cannot continue to try
to solve problems over the phone. You need someone to come to your office to
look at the problem first hand. This is where the computer consultant comes in.
Sometimes consultants are called in to evaluate and analyze the current
situations and make recommendations and sometimes even implement these
Computer consultants are like lawyers. They often charge outrageous fees
(several hundred dollars an hour) and rely on the fact that you know little or
nothing about the subject. They have a service that you need and want you to pay
as much as you are willing to pay. Fortunately, all you need to do to see
whether a lawyer is qualified is to look on his or her wall. If the diploma is
from Joe's Law School and Barber College, you'll probably go somewhere else.
However, there are few laws governing who can call himself a computer
consultant. Therefore, you need to be extra careful in choosing a
I had one consultant call for a customer of his who was having trouble with
a SCSI tape drive. The consultant almost got upset when I
started talking about the technical issues involved such as termination, proper
cabling, etc. You see, he had a masters degree in electrical engineering and
therefore was fully aware of the technical issues at hand. I asked him how much
RAM his system had. He responded, "Do you mean memory?
Well, there is, uh, 32, uh, what do you call them, megabytes." (No, I'm not
making this up.)
Another time a customer was having a similar problem getting a
network card working. Again, it was the issue of the
customer not having the basic computer knowledge to know about base addresses
and interrupts. The difference between thin-net and twisted pair was foreign to
him. He had worked for many years on mainframes and had never had to deal with
this level of problem. After more than half-an-hour of trying to help him, it
became apparent that this was really beyond what tech support is there for. I
suggested he hire himself a consultant. In the long run, that would ensure he
got the attention and service he need. There was a long pause, and then he said,
"I am the consultant."
One of my favorites is a consultant in Texas who was trying to do
long-distance hardware troubleshooting for a site in Alaska. Despite the fact
that they had a modem connection, it is often quite
difficult to check hardware settings and cabling through a modem.
My auto mechanic has a PC running a DOS
written specifically for automobile workshops. Aside from the fact that the
consultant has them start Windows and then click on an
icon to start this DOS application, it does it's job
(it's the only thing the machine is used for). Recently they discovered that
they were running out of hard disk space and needed a larger drive. So, the
consultant came in put in a larger hard drive and things looked better. Because
it was not part of their contract, he charged them for two hours labor to
replace the drive, plus 10 percent more than the average market price for the
hard disk. Now, so far, this seems like an acceptable practice. However, they
took the smaller drive with them, although they charged full price for the
larger drive. It wasn't defective, just too small.
These stories represent four basic problems with computer consultants. First,
you don't have to have studied computer science or even a related field to open
shop as a computer consultant. Although electrical engineering is a related
field and the person may know about the computer at the transistor level, this
is comparable to saying that a chemist who knows what goes on at the molecular
level inside an internal combustion engine is competent to fix your brakes.
The next issue is that although the person had worked with computers for
years, he or she knew little about PCs or operating systems. I have seen
enough times consultants who assume that all computer systems are the same. They
worked for years on Windows so they are qualified to install and support
There is also the issue of the consultant not making house calls. They have
to. They have to be willing to come to your site and check the situation
themselves. You cannot be expected to shut down operations to bring a computer
to their office, nor should you tolerate them trying to do remote support (i.e.,
across a modem).
Lastly, if you do need to hire a consultant, make sure you know what you are
paying for. When you do decide on a consultant, make sure that you know
specifically what services are being provided and what obligations the
consultant has. These services include not only hardware and software, but what
work the consultant is going to provide. If the consultant needs to replace a
defective hard disk, the cost of the disk is included but the time to replace it
may not be included.
The best solution is to ask your friends and other companies. If you have a
good relationship with another company of similar size and product, maybe they
can recommend a consultant to you. Another source is the Internet and on-line
services like CompuServe. Ask people there what their experiences have been. Web
search engines, like Yahoo or Alta Vista, can give you names of companies that
specialize in Linux as well.
How to Get the Most for Your Money
Deciding that you need a consultant doesn't mean that you are throwing
yourself to the wolves. With a little preparation, you can be ready and ensure
that you don't make any costly mistakes. There a four basic steps to follow when
deciding which consultant to go with:
- Define the project.
- Find the right person for the job.
- Agree in writing exactly what the job entails and what is expected from both sides.
- Makes sure the job gets done correctly and on time.
When you think you have found the right consultant, you must treat them like
a telephone company: Get it in writing! This, along with finding the right
person, are the two essential factors in deciding which consultant to
Let's look at the right person first. There are several ways to go about
choosing a consultant. First, you can pick up the telephone book and find the
one with the fanciest ad. Personal referrals are also a way, but this can cause
a lot of problems. If the consultant is a friend or family member of the person
making the recommendation, you can get yourself into an awkward position when
you either find he or she is not the right person for the job or he or she is
not really competent and you have get rid of him or her. Personally, I think
recommendations from other companies are best. They have had real experiences
with the consultant and (should) know their capabilities.
Part of choosing the right person is making sure that he or she has the
skills necessary to get the job done. Never hire a consultant who doesn't know
the product or issue at hand but insists can learn it. You are paying for an
expert, so that's what you should get, not someone still in training. The
process is basically the same as hiring an employee. You can request a resume
and references and then call those references. Things to ask the references
should include the following:
- What did you think of this consultant
- What did you think of the consultants technical abilities?
- Did he or she interact well with your employees? <
LI>Did he or she follow
through with commitments? Finish on time?
- When the project was finished, were there any points of dispute? How well did the consultant react?
- Did you understand what the consultant did?
When you have your first meeting with the consultant, there is nothing wrong
with having your expert present to "test" the consultants knowledge. This is
the same thing as an interview you are trying to determine whether to hire this
person. Therefore, you have the right to ask about his or her technical
In one company for which I worked, we had a very bad experience with a
consultant. The company ran mostly PCs with Windows for Workgroups, but there
were several UNIX servers and workstations. We found a consulting firm that were
"experts" with Microsoft's Exchange because we were planning to implement this
on the company's intranet. We explicitly told the consulting firm that one of
our goals was to get connected to the Internet. We scheduled a three-day
workshop during which the consultant would go through the details of
configuration and give us guidance on how to implement it.
When the consultant arrived, we were pleasantly surprised that it was one of
the owners of the firm. However, the pleasure was short-lived when we
discovered that he had no understanding of Internet mail and therefore could
provide us no guidance on how to configure MS-Exchange for the Internet. We also
later discovered that he was no expert with MS-Exchange because he spent the
entire afternoon on the last day trying to get a basic configuration issue to
This taught us two things. First, just because someone is the owner of a
consulting firm does not mean he or she knows what he or she is talking about.
Unlike with doctors, few laws govern who can call him- or herself a consultant.
Second, we were not clear with what our expectations were or what the consultant
was to provide. Nothing was in writing other than that the consultant would give
us a "workshop." It was obviously up to the consultant to decide whether he had
achieved this goal.
There are many areas in which a consultant is necessary. You cannot hire
experts in every area. It would just be too expensive. Even if you do have
people in your organization who are experts, it is often useful to have someone
come in with a fresh perspective. As an employee, you often have emotional
responses involving your system or company that a consultant doesn't have. This
is helpful to get to the core of the issue.
Another aspect is the specialization. A consultant has a particular skill set
in which he or she knows almost everything (at least that's what you're
hoping). Being really good at this one subject means that he or she may not be
as useful to a company to hire the person full time. However, if the company is involved in
a project that requires that skill, it is cost-efficient to hire the expert and
get the job done more quickly. I think of setting up an Internet server as the
primary example. After I had done it a few times, it became a lot easier.
However, once I have done it a dozen or so times, it might become easy.
Potentially, I could hire myself as a consultant to develop Internet servers.
(But then again, maybe not.)
When you hire a consultant, you must know what you want out of him or her.
What information do you expect the consultant to impart on you or what project
do you expect the consultant to complete? What does "complete" really mean? If
the project is configuring a Web server and all the consultant does is hook you
up to the Internet, then the job is not done. If the project will take a long
time and you expect regular status reports, have the consultant define when
these reports are due. If he or she says every other Friday, then handing it to
you on Monday is not acceptable.
You may not be able to use the correct "buzzwords" to define what you want,
but you can come up with a clear idea of what you want.
Once you have the concept of what you want, you should work with the
consultant to define the project in the correct terminology. However, don't
let the consultant confuse you. If you don't understand, say so. There is
nothing wrong with not understanding something. If you were an expert on this
subject, you wouldn't need a consultant. One thing that our MS-Exchange
consultant did a lot of was talk in techno-babble. He would throw out a
technical word to make him sound like an expert. The problem was that he really
didn't know much about the subject and often used the words in the wrong
context. If you get the feeling that the consultant is trying to baffle you with
buzzwords and techno-babble, it's time to get another consultant.
When dealing with a consultant, you are bound to face concepts and vocabulary
that are foreign. What about the other way around? Will the consultant know
everything about your business? If the consultant specializes in your area, you
would hope so. However, you are probably hiring a computer specialist, not a
legal specialist or medical specialist or wholesale distribution specialist.
Therefore, there is a lot that you will have to explain to your consultant.
Do not assume that the consultant knows your business at all. Specify
every aspect of the project. One example is a wholesale soft drink
distribution company. When people buy large quantities of soda, they are most
familiar with buying by the case. A consultant you hire to develop a tracking
system may take this for granted and write the program to deal only in cases.
What if you distribute containers of cola syrup as well? These are not measured
in cases. If you assume that the consultant knows this and don't tell him or her
and he or she programs for cases, who is responsible for paying for the changes?
You said you wanted a tracking system and you got one. The project description
didn't mention the kind of units.
Don't let the consultant get away with estimates on anything. If he or she
estimates anything, it can be off. Just like the estimate on car repairs. The
more vague the job description, the easier it is for the consultant to postpone
or claim that something was never agreed on, in terms of time as well as money.
If the job will take a while and you have said you want status reports, you
can use these reports for the basis of payment. For example, the project is to
take 10 weeks with five bi-weekly status reports. Each time you get a status
report, the consultant gets one-fifth of the total fee. Another way would be to
set "milestones." Each phase of the project is to be done by a certain date. At
each milestone, the consultant gets a certain percentage of the total. The idea
of completion-based payment is important if you have deadlines to meet yourself.
The consultant must be made aware of these as well. It is not unreasonable to
make completion within the time specified be part of the contract. However, you
need to be clear in the contract what is to be done and by when.
The consultant may not be working solely on your project during the time you
contracted him or her. This is acceptable, provided he or she meets all his or
her commitments. Explaining to you that he or she couldn't meet the deadline
because of a problem at another site should tell you that the other customer is
more important. They might be, so find a consultant who will consider you most
Do You Get What You Pay For?
Well, that depends. Just because a consultant asks for a high rate does not
mean he or she is good. I consider Ferrari or Jaguar as examples. These are
very expensive cars. They have a "performance" comparable to their price in that
they go fast. If you buy a Ferrari consultant, he or she might be done with the
job in a short time. However, as with the Ferrari, you might spend as much on
repairs as on the cost of the car.
On the other hand, a consultant's rates will get higher as he or she gets
better. Not only does he or she have more technical ability, but he or she has
the ability to do a better job more quickly. As a result, you pay a higher rate
for his or her time, but you pay for less time. Therefore it comes out cheaper
in the long run. Even if it is not cheaper on your checkbook, having the project
done faster may save you money.
Some consultants are paid $200 an hour, some are paid $1,000 a day. Those are
reasonable prices. Your employees (probably) don't get paid that much, so why
should you pay a consultant like that? Well, first, a consultant may not be "on
the job" when he or she is at your site. Depending on the project, there maybe
hours, days, or even weeks of preparation. Plus, there are all the
administrative costs for the consultants office. You have to pay for the people
in your IS/IT department out of your own budget, but for not the company
receptionist. The consultant does.
Remember that the consultant may have complete access to all of your data.
Though I am not saying he or she is likely to be a spy for your competition,
you need to be careful. Even if the consultant doesn't have access to your more
precious trade secrets, having him or her sign a nondisclosure agreement is a
wise decision. This could be as simple as stating that the consultant is not to
disclose any aspect of the job to anyone, or it may go into detail about what is
and is not to be kept secret. Talk to your lawyers about this one.
When the consultant finishes the project, who owns the project? Well, you do
as far as the project within your company is concerned. The consultant is not
going to charge a license fee to use the program you paid him or her to develop.
(We hope.) However, what about the code itself? This was done on your time, so
like the code a regular employee writes, it's yours, right? Well, it may be the
case that the consultant does keep the right to the code he or she has written,
although the compiled, running program is yours. Make this clear in your
contract. If you want the right to everything written by the consultant, make
sure that part is written in the contract as well.
One important aspect of the contact is the default terms, that is, what
happens if the consultant defaults on the agreement. This is especially
important if you have deadlines and by not meeting them you loose money. It is
not unreasonable to deduct a specific amount from the total for going past the
deadline. Not only does the consultant not get paid for those days past the
deadline, but money is deducted from what is owed him or her for the other days.
I have seen consultants who intentionally overextend themselves just to get a
contract. They can promise to have it within a certain time, but have no
pressing need to unless they will be loosing money.
You have to be careful with this one. If the project is a feasibility study
and it turns out that the project is not feasible, did the consultant do his
job? Sure, he or she determined whether the project was feasible. Therefore, he
or she did his or her job. Also, what happens if the cause of the delay is not
the consultants fault? If you promised him or her certain resources that were
not available, you are at fault.
You might even get a consultant who has an attitude of all or nothing. That
is, if he or she doesn't deliver on time and what is promised, you don't pay
him or her. However, you can guarantee that this consultant will probably have
you spell out everything you want done so there is no room for discussion.
Points to Remember
When dealing with consultants, remember these general issues that will help
make things easier:
- A consultant is not one of your employees.
Don't insist that he or she arrive at a certain time or work until a certain
hour. Maybe part of what he or she is doing can be done at his or her office.
You're concerned with him or her getting the project done on time and not being
physically present at your site.
- Judge the price you pay by what it would
take you to do the job without the consultant. How many hours would it take? How
much money might you loose? If you would end up paying more than a "high-priced"
consultant, the consultant is cheap. However, comparison shopping is also valid
for consultant. Get a second or even third estimate.
- Insist on some kind of
proof that the consultant knows what he or she is talking about. A resume is
fine, but references are better.
- Make sure the consultant communicates well.
Can he or she express himself? Does he or she understand your needs and
- Be comfortable with the consultant. If there is something
about him or her that you don't like, you don't need to hire him or her, just as
it would be for a normal employee.
- Don't judge the consultant by personal
appearance. Then again, I wouldn't hire a slob. It's okay to expect him or her to
be clean, but don't expect a suit.