Realrates.com

How to Handle Difficult Client Employee

SITE MAP

WHAT'S NEW

REAL RATE SURVEY
View
Search
Rate Analysis
Contribute Rate Info

SALARY SURVEY
View
Search
Salary Analysis
Contribute Salary Data

TIPS & GOTCHAS

BOOKS
Answers for Computer Contractors
Computer Consultant"s Workbook
Computer Job Survival Guide

ORDER BOOKS

AuthorComment
Florida Girl
Unregistered User
(2/17/00 12:47:01 pm)
Reply | Edit | Del All
Trapped between a rock and a hard place
I just started a 1099 project for an owner funded startup company. The owner is trying to turn some proprietory mathematical models into industrial-strength software, however, he has no programming background and is therefore trusting his FTE's to get on with the job. The Chief Programmer is a great talker, he knows all the buzz words and was quite convincing during the interviews and initial meetings. Now that I have been on-board for a while I have had a chance to check out the C++ code base that has been developed already. It has lots of very basic problems, we're not talking stylistic, rather major, important issues. In other parts of the app considerable energy has been put into use of innappropriate fad technology. During one meeting with the chief programmer I politely pointed out some issues with the basic design. I received no satisfactory answer, when I pursued the issue I was basically told to leave it alone and just get on with my job.



I'm very dissappointed with how things have gone. I'm very experienced and my rate is at the high end. I am usually encouraged to dive in a fix things. At the initial interview I was told that my architectural expertise would be welcomed. It seems I have stepped on someone's ego, despite trying my best to avoid doing so. Anyone else been here?

BrianM 
Local user
(2/17/00 1:13:53 pm)
Reply | Edit | Del
Re: Trapped between a rock and a hard place
That is always a tough one. What is more important to you: the paycheck or your professional integrity?



I have been in that situation. The money was good, but I was asked to implement things that I did not feel comfortable attaching my name to. In the end, I explained the issue to management and told them that I would be leaving the contract since some of the requests could damage my credibility.



Your obligation is to your client. If you see things happening that will damage his product or cost him a huge amount of money then it is your obligation to point that out. Yes, you may step on some toes and you may loose the contract if these two are close. In the end, you are a consultant and they are paying you for this service. It is not always pretty, but that is why we get paid more than FTEs. They may be upset at first, but if they do follow your advice and look further then they may realize the mistakes that were being made. If they talk to other business owners the suddenly you become the "good guy" and will lead to more business. What goes around comes around.



An FTE may not get away with this since they are sheep when it comes to internal politics (no offence to FTEs here - just first hand experience). As consultants we absorb more risk since we do not play these types of games when it comes to power plays and egos.



If you continue to let this happen and management finds out then you know that the blame will fall on you since you knew of the problems and "ego boy" will point out that you have reviewed the code and you have the architecture experience. Then you will be out of a job and have the reputation of just taking the money with no concern for the client's needs. I say keep the integrity and do the right thing.



Brian



yankeedoodle
Unregistered User
(2/17/00 2:01:19 pm)
Reply | Edit | Del
disagree a little
I disagree a little BrianM. I do agree that one should point out obvious problems. But once you are certain you've been heard you need to keep your trap shut. Generally, contractors are used to slam out code....you can and should give advice but you shouldn't push it.

My current contract is the exact same. There are basic problems and I know the project will never work as they think (scalability problems). I let them know my opinion and left it at that. The FTEs who made the bad choices have tender egos and I'm not going to fight them. I'm going to do the best I can with what I have and move on to another contract.

So don't push it. You'll only be perceived as a problematic primma donna. If you can't bring yourself to work on garbage then find another contract. If they are asking to do something illegal or unethical then bail immediately. Remember, in this business incompetance reigns supreme; you can't cure it either.

Don 
Local user
(2/17/00 4:21:16 pm)
Reply | Edit | Del
Try to contain/bound your liabilities
Hi FL Girl,



I've worked in a situation that is almost identical to one you describe, except that the a**hole owner/scientist THOUGHT that his copious background ineptly hacking in DOS QuickBasic anointed him with supreme powers of SW engineering acumen. Every day working with this spoiled sack of excrement was an insult as he steadfastly ignored my years of accumulated SW design background to fiddle, hack, and goober things up.



Now, on to your immediate problem. Your mission, should you choose to accept it, is to make as much money as possible while not sticking your neck through the neck hole of a legal/liability guilllotine. The biggest legal problem with working on large multi programmer teams as an IC is that your piece of the system may be finger pointed as the source of problems that may really be architectural problems caused by the tender-ego'd FTE crybaby wusses you must deal with.



So, I would do everything possible to make sure that my own responsibilities were VERY well defined and bounded, at a subroutine, library, DLL, OCX, or executable program level. What I'm saying is, do everything in your power to make very sure that you can demonstrate that you DID perform tasks you were assigned correctly, with as little possibility as possible that nobody can point at far reaching problems induced by your stuff.



Given what you describe, if you CANNOT do this, you should give notice and walk. You stand to be sued or be denied payment if your good work is lumped with problems really caused by incompetent system design.

Email: donnnn@altavista.com

BrianM 
Local user
(2/17/00 4:38:32 pm)
Reply | Edit | Del
Re: disagree a little
If you are doing staff augementation work then you are correct. If I read the original post correctly one of the reasons why she was brought on board was for her architectural background. This sounds like more consulting to me. In that case you need to stand your ground because the business is relying on you (especially in a start-up environment) and regardless of the fragile egos, you need to let upper managment know that something is wrong.



Rearranging deck chairs on the Titanic does nobody any good.



Also, if you are in a large environment where there are a lot of politics then usually once or twice will help you gauge where the client is - mentally. Also, in a large environment it is not uncommon for them to thow millions of dollars in a failing solution just so a manager can look like there is progress in a group. In this environment most people are staff augmentation though.



You do need to approach this differently depending on the size of the environment and the scope of your job. My response was to this specific situation.



BrianM

Dinosaur
Local user
(2/17/00 6:06:58 pm)
Reply | Edit | Del
Re: Trapped between a rock and a hard place
Question is, who is your client? Who hired you, the owner/entreprenuer or the Chief Programmer?



Do you think you have anything to gain by going to the owner?



Do you think you can educate CP?



No answers here, just (I hope) food for thought.

Over what hill? I don't remember any hill!

Florida Girl
Unregistered User
(2/17/00 7:21:55 pm)
Reply | Edit | Del
Thanks everyone...here are some answers..
First of all, thanks for cheering me up. I just got back from another awful meeting. First thing I did was brew some coffee and sit down at my home machine to check for follow-ups. I read Don's story about the "spoiled sack of excrement" and I laughed so hard that I spilled coffee all over the white T-shirt I'm wearing. That's Don, the T-shirt was well worth the laugh, I'm still chuckling.



Here's the deal:



1) CP (Chief programmer) referred me to the owner. CP headhunted me via my web page.

2) The owner is very cool. Extremely intelligent but a little naive. I think he think programming is very deterministic i.e. hire any 5 engineers and they should reach the same solution in the same length of time. Kinda like bridge building.

3) CP has already had problems working with a 2 other employees. In each case the "problem" employee was blaimed and booted.

4) A lot of $$$ has been spent and not much code has been generated. CP blaims all the inept employees/contractors for this. Absolutely no personal responsibility for CP.

5) I think CP realises I know what I'm talking about and wants me to stick around to pull him out of the whole he's dug by not producing for 18 months. However, he doesn't want to change anything he has touched. I can work wonders but not miracles.

6) CP has mentioned that one of the other contractors was female. He told me that she was highly strung, as if to establish that all females are this way. I have ignored this so far.

7) Good news- I have managed to pick of a chunk of work for myself that doesn'y have too many tentacles into already designed code.

8) If I had to bet, I would say this project will fail based on current expectations and deadlines. This is my gut level feeling based on many years in the industry.

9) I have decided to stick it out for as long as I can being careful to exercise full CYA measures. I have a feeling that the owner is on to CP.



Thanks for listening. You guys keep me going sometimes!



Regards from Fla.

Don 
Local user
(2/17/00 8:17:03 pm)
Reply | Edit | Del
Sorry about that T-shirt :-)
It sounds like you're on the right track. It may be that the owner is 'grooming' you to replace the CP. Regardless, I agree with your strategy.



One interpretation (actually just a me-too):



Extremely intelligent but a little naive. I think he think programming is very deterministic i.e. hire any 5 engineers and they should reach the same solution in the same length of time. Kinda like bridge building.



I've observed that the "academic types" in the sciences or EE who have only approached SW on a dillatante basis tend to think of software just as you describe, as completely deterministic, obvious, menial pipe-fitting. That was most certainly the case in the instance that provided the mirth-factor to my last post. :-) I think this attitude is wholly an artifact of academic snobbery and ego, they consider that because they are in the physical sciences and can follow derivations of formulae, they are above CS or SW engineer types.



Frankly, I don't like working with "the type" as characterized by your client. A tiny fraction of knowledge is a dangerous thing when the person's ego can't accept that a subject area might be a bit broader than their ego can assimilate...



Good luck!

Email: donnnn@altavista.com

Edited by Don  at: 2/17/00 8:17:03 pm

1Aussie1
Unregistered User
(2/17/00 8:27:43 pm)
Reply | Edit | Del
CYA minimums
Here's a thought.



What is the opinion of the forum re CYA measures.



I expect that the thread originator has already got this covered, but my minimums would be :



1. Start keeping a diary of this project. Times, dates, who said what to whom, etc. I tend to keep this no matter who I'm working for.



2. Try to get communication in hard or soft copy. If this drongo of a CP is as cluey PHB-wise as he appears to be, he'll probably avoid documenting his boofheadedness like the plague, but one can but try. If he won't email his instructions, a follow-up email saying something like "These are my understanding of your verbal instrcutions" basically puts the onus on him to correct you, far as I can see.



3. Start looking for your next gig immediately, just in case.



Return to Realrates.com