I have a real-world ethics dilemma to share. Maybe someone can offer advice, and maybe it will lead to a more general discussion of the ethics of consulting.
I have a long-term consulting/contracting gig. There is another contractor who is, let's say, not the most skilled person I've worked with. He may have some skills, but he is definitely not using them now. He has told me, in a "just between you and me" kind of way, that he doesn't know C++ or .NET very well, but is using them to do his work so that it will be easier to get his next gig.
So, knowing that this guy is clueless and following a ResumeOrientedDevelopment? methodology, should I let the employer know my opinions?
Reasons for:
Do you provide status reports to your client? If so, reference the amount of time that you're spending working with him in them. It's especially good if you include an approx number of hours spent on each item in the report. Not only are status reports critical to keeping clients happy and work within scope, I've found them an excellent vehicle for informing clients of issues in a politically correct fashion. -- MarkAddleman
Good suggestion, but may not work in this case. I do provide status reports, and time spent with this person is indicated. Providing assistance to this person is part of my job, but it is supposed to be high-level application- and domain-specific kinds of help, not "How do I compile and link a C++ program" and "What does NullPointerException mean?" kinds of help. The client is likely to see time spent with this person as a good thing rather than a bad thing if they don't understand the nature of the help I'm providing.
The idea of finding some "stealth" means of letting the client know what's going on without being too explicit is a good one. Maybe I should anonymously send them a link to this wiki page. Any other suggestions?
A thought: Ask, don't tell. Presume that your client actually knew what they were doing when they contracted this person, and that there was some other compelling reason to employ him. This gives the client the opportunity to ask about basis of your question if they're interested, and you don't look like a tattling schmuck if you're missing some critical information.
I haven't ever been a contractor, but I've worked with a number of clueless coworkers (both contract and permanent), and had some success in getting them out of the way. So, you can apply appropriate filters to the following:
In your status report, point out that that person needs far more support than was originally planned, and that this is slowing progress on your project(s). (A politically correct way of saying "This guy's a roadblock, please remove him".) If questioned about it, you can point out that he seems to be struggling with the C++ language, and you can give specific examples, like the two above.
LetThemFail? Also, remember, the longer this person works there, the less time (and the more mess) there will be to clean up. If you think it's appropriate, LetThemFail? as early as possible, to allow your client the best recovery possible. (I know this from experience, having cleaned up after half a dozen such losers).
If you don't have a problem with getting this person upset with you, tell him/her "They're not paying me to teach you C++, go look it up" when asked these kinds of questions. This will help them to fail faster, and if you are overheard and questioned by your client, you can simply tell them the facts about this incident, which will inevitably lead to your client questioning that person's C++ knowledge...
The world is full of bozos. It is the manager's resposibility to detect this, not yours. Nevertheless, I wouldn't do the guy's homework for him either.
I enthusiastically agree with this. I'd encourage you to spend your time and energy on your own contributions, and let the manager do his or her job. Meanwhile, perhaps you might look at your own feelings about this "bozo". Using one gig to develop skills for another is a time-honored way of building a successful consulting practice. Why not help your coworker out? My suggestion is that you consider asking how you and your team might benefit if you reframed your own view of this "moron" into something more constructive. If your coworker is talking to you in a "just between you and me" way, perhaps your coworker is inviting you to mentor him or her. You might ask yourself what stands in the way of that for you.
Nothing stands in the way of me helping him--that is exactly what I am doing now. I like mentoring him, and I'm the kind of "nice guy" who helps everyone out whenever I can. But my client is paying me to offer helpful advice, and I think that maybe the most helpful advice I can give is to find somebody else for this position. Should I be helping the other contractor or helping the client?
It seems to me that you are creating this dilemma, not your client and not the other contractor. If your client asks for your "helpful advice" about your coworker, you can certainly answer with a suggestion that, for example, the coworker might benefit from some C++ or .NET training. I don't think you help either the other contractor or your client when you suggest that the client "find somebody else for this position".
"Using one gig to develop skills for another is a time-honored way of building a successful consulting practice." Does everyone agree with that? Obviously, there is always some learning that occurs along the way, but should I start talking my way into jobs for which I am unqualified? Is it common for contractors to conspire to train one another while billing the client for their time?
When you use inflammatory language like "talking my way into jobs for which I am unqualified" or "conspiring to train one another while billing the client," it seems to me that you increase your own discomfort level -- not to mention those around you. Perhaps you might "try on" this wording, and see how it feels: "Is it all right for me to take on consulting engagements that stretch my skills? Is it common for consultants to support each other as they embrace new technology?"
Your coworker will ultimately move on to another position, where he or she will influence enormous numbers of your future prospective clients. Here are two stories he might tell about you to everyone he meets:
Well, clearly it is easier and better for me if I just keep my mouth shut and make the extra money helping this guy out. But I think this is bad for my client. Do I not have any responsibility toward my client? Should I always just do whatever is most lucrative for me?
This is the point when I reach for GeraldWeinberg's SecretsOfConsulting. There's a chapter where he points out that a consultant is retained to solve a particular problem. Solving a problem you aren't being asked to solve will make you unpopular and likely upset the client. After all somebody hired your colleague. They seem to be able to tolerate him. If you highlight his lack of skill then you're the one who will be seen as creating the problem.
As a consultant, I can't stress enough my agreement with the Weinbergian advice given above. In fact, its another way to LetThemFail? as advised above. I have yet to be on a project where I didn't see a person in the way described. If I am being asked to evaluate my peers, then I see it as my ethical duty to be honest about my opinion (and emphasizing that its my opinion). If I am being asked to do something else, that is what I do.
On a more general note, Honesty begins with being honest with oneself. I often see people who are just "being totally honest" who are actually just confessing their fears, doubts, and predjudices to the client as soon as they come to mind without reflecting on the reason they feel the way they do. Often when we do so, we find what is motivating us is not our ethics, but our fears. It might sound touchy feely, but only when you can compassionately discuss this person with your client will you know the right thing to say (and if you can't find it, you can't tell it without it rebounding on you).
Always keep in mind what it is you wish to accomplish. Confessing another's sins rarely results in others seeing them as you do, it usally results in others seeing you in a negative light.
Perhaps the answer is to find a way to suggest to the client that they might want to evaluate this person's skills. I'm thinking of an off-the-record sort of thing -- don't suggest that they are unqualified, just ask about their qualifications or suggest that the client check it out. This would be a much better suggestion if I could come up with a way of phrasing the question that seemed to work... but I can't. On second thought, I guess that doesn't work. Perhaps instead just set up an opportunity for someone from the client who is technically qualified to work closely with this individual for a day or two. Then they can figure it out on their own.
The consensus seems to be that I should either do nothing, or only do something very indirect that can't be traced back to me. The justifications seem to focus on what is in my own best interest.
This focus may be because the question is focusing on a small slice of the overall question. The reality of consulting is that you have to balance your interests with your clients, your peers, and your employer (if you are not an independent). The fact that you see it as a conflict of interest in itself might tell you something about how you are viewing the situation.
What bothers me is the misalignment between my interests and the client's interests. Favoring my own interests makes good business sense, but this is the first time where I have had to choose one over the other.
You are also assuming that if you express your opinion to the client that you will be acting in their best interest. That is not yet clear from what you have described. Finding and clarifying why its in their interest (and why it might not be) might help you in your decision. Most of the advice here is about not letting your fear of silence rebound on you (which could be worse for the client). The trick is to find the way that satisfies all constiuents (including the underskilled consultant, the client, and yourself.)
An alternative consensus is that I am an arrogant, uncooperative jerk who is a much bigger problem for the client than this other guy is. I'll have to think about that one.
Here is a reframing of the situation for you: dealing creatively and positively with this challenge is a growth opportunity for you. There are often difficult and under-trained people around. You will be a better consultant if you are able to consistently solve clients' problems under these circumstances.
The client is paying you to help this guy. Evidently they know you are more knowledgeable than he is.
Are they, then, also expecting any feedback from you on the progress or results of that effort?
Is an evaluation part of the deal?
Can this be determined?
An interesting (?) thought might be to arrange for such an evaluation to be done with the other contractor participating -- a kind of "state of the job" spot check -- where the other guy is encouraged to give insight into his part of the activity.
Depending on how driven he is by a need to cover his butt, the outcome of such a discussion is unclear.
I've been a consultant, on an off, for close to 15 years. The folks referring to Weinberg's advice are spot on. Heed it. You're assuming your client cares about your perceptions. Unless they specifically ask, then they don't. Indeed, I've been involved on many projects where my "job" was to "do nothing". I would come into my client's office and sit. Warm a chair. It was worth it to them to know that I was immediately available if the need should ever arise. It rarely did. I've mad a lot of money surfing the web. The point to all of this is: You're hired help, literally. If the company hired a plumber to fix a leak in their bathroom and the plumber witnessed all of the employees wasting time in the stalls, he wouldn't say a word to anyone except, "Excuse me, I have to get to that toilet so I can fix the leak."