[consulting] Lessons learned from consulting
Sami Khan
sami at etopian.net
Tue Nov 24 19:01:11 UTC 2009
I have had my own bad experiences in the Drupal industry. The worst
probably being sub-contracted by a company on the West Coast of the US.
Involved attacking me personally in front of a non-profit client and
threats of law suits both from me and them. Frivolous claims such as
such as taking me to court for bad code, bug fixing, and hurting their
business, (this despite the standard GPL clause), it was all a ruse in
order to keep from paying me which was mainly due to the client running
out of funds, and them deciding that I should be the one who should bear
the weight for that. I settled with the for 1/5 of what I owed as at the
time I was not inclined to go to court and the facts were not very clear
on paper, i.e. lack of a solid contract, and it would make quite a bit
more of a mess then I particularly wanted to at the time.
Lesson learned from all of my experiences thus far to help the
community:
1) Never work without a contract, have a nice detailed disclaimer on
your contract to make clear what you will or will not do.
2) Refuse to do any work if there is no contract (and do not feel any
obligation to do anything), even if continuing a relationship.
3) Ask for a good portion of the contract up front.
4) If the company (SMEs only) is loaded with managers or people who are
the owners of the company and can't code worth shit, GTFO, as they are
simply adding cost for their dead weight... Further they are getting in
the way of communication with the client. In the end, this means that
they may get the specs wrong and blame you for the results, both
personally and in the eyes of the client. Unless you feel particularly
that they are adding something that you cannot add.
5) If the people involved are particularly good at debate, don't expect
to get anything done, and simply take them to small claims court with
the contract in hand. Do not attempt to argue with them any further, as
its a waste of time. They will make up all sorts of assertions and lies
and confound progress and might even try to get you in trouble with the
law, etc. Further, in court do not attempt to debate them, simply
present the facts, call attention to the fact that they are good at
debate, and that they are good at distorting the fact because of it.
6) If you wish to expose someone, simply do it, threatening to do it can
get you in more trouble.
7) If the company is filled with incompetent people who like to bill
hours for arbitrary things, sooner or later you are going to get
screwed. If it sounds too good to be true, it is.
8) Work directly with clients, never be sub-contracted (unless perhaps
by IBM or another big brand), as that's a way to add costs to your
clients, and potentially puts you at significantly greater risk than
working with clients. Considering how expensive IT projects can get with
even a single person, adding more dead weight to the mix is asking for
trouble.
9) If you give a solid estimate, then make a contract that says
explicitly what that involves, and then refuse to do any more work.
Needless to say this is going to lead to frustration both from you and
the client, and so either don't go down this path or explain to the
client that this is the case and that they are likely to be frustrated
in the future -- do this diplomatically.
10) Bill on time, and if you don't get paid refuse to do any more work.
11) There are plenty of douche bags everywhere, and people who think
they are managers are particularly good douche bags.
12) Look out for yourself, and never expect anyone is looking out for
you. This goes for any and all employees, and people participating in
our economic system.
If you have any lessons, please be free to share them too.
Sami
More information about the consulting
mailing list