I have been doing long-term software development with an out-of-state client. All of their dev work is done by myself and a handful of other freelancers, only one of whom I work with on a semi-regular basis.

This other guy, who I'll refer to as John, strikes me as painfully incompetent. He and I cover different portions of the front-end and back-end, so sometimes I have to ask him to do a task which I can't handle myself. When I ask him to do something, he says 'ok' and then does it in a different (usually incompatible, and always inferior) way than what I asked. Even when he tries to do it the right way, it's usually broken the first time (he never tests anything). He doesn't respond to a lot of my emails and often forgets to tell me when he makes a change that directly affects the work I'm doing.

Imagine having this conversation with someone over a two-week period:

You: I need you to make a function that accepts input in form X and returns output in form Y. [long explanation of why this is the case]

John: Okay, I made a function that accepts input in form A and returns output in form B

You: That way doesn't make sense and isn't what we need. The function needs to take in X and output Y

John: Ok, I changed the function to take in X and output B

You: No, it needs to take in X and output Y. [summarize earlier explanation]

John: Okay, I finally read all of the original email you sent me and now I understand what you are looking for. I changed the function to take in C and output Y

You: The function needs to accept input in form X and return output in form Y. The input and output cannot be in any other format

John: Okay, I did it the way you asked

You: It doesn't work

John: Oops, I didn't test it. It should be fixed now.

You: It doesn't work

John: Oops, I configured some things incorrectly. Try it now.

You: It doesn't work

John: Okay, I'll look into it...

When brainstorming a large task, he often proposes extremely low-quality solutions that would be impossible to maintain and aren't acceptable on a professional project; sometimes he even starts implementing these solutions without getting approval first. These aren't minor, "this could probably be refactored" design issues, but massive flaws that would have far-reaching repercussions if implemented in his way.

I've only complained about him directly to the client once, when he kept failing at the same simple task over and over for two weeks and was preventing us from meeting a deadline; I only addressed that single issue and not his overall ability. Since then, he's been better, but better is far short of competent. Working with him is infuriating, but I haven't approached the client about this because I don't know how to express my feelings in a professional way. He does many other tasks for the client that I am not involved in and I have no idea how he performs at those tasks; since the client hasn't fired him yet, it is possible that he is more competent on other tasks or that the client is very forgiving.

How do you explain to a client that one of their other freelancers is not competent at his job, in a professional but compelling manner?

  • 3
    It is none of your business to turn your employer against other person. Second, your employer might have a far greater experience with him in another topic you are not aware of, and by saying this your client might feel YOU are the one who is lacking credibility. What you could say is that the colaboration with him is frustrating you and you propose another plan Feb 18, 2017 at 10:33
  • I have seen your comment on Scotts answer and it is very probable that you come off as an 'arrogant bigotted nerd' by expressing the way you are. This will not do you any good. Maybe you want to rephrase your services as 'quality maintenance' or 'bug fixing' that allow you to express how you see the situation without getting emotional. Or get another client Feb 18, 2017 at 10:39
  • @user9589 Did you consider how you come across when you call another user an "angry bigoted nerd"? That's hardly helpful or constructive. Stack Exchange isn't my workplace and I won't be as formal here as I would when communicating with a client; what I say in a comment on an answer here does not necessarily reflect my professional attitude. Obviously I wouldn't go to the client raving and name-calling.
    – user45623
    Mar 10, 2017 at 19:49
  • Well, good that you dont express yourself as you did then. Because I know people who would do it, and would be perceived as I told you. But anyway, I am sorry if I ofended you Mar 12, 2017 at 0:28
  • My answer remains even after your edit here. -- Yes it sucks.. but it's not your place to complain about other workers. Just raise your rates.
    – Scott
    Mar 17, 2017 at 22:19

3 Answers 3


Short answer, you don't.

Longer answer ...

Speaking poorly of other freelancers will reflect more upon you than on them. Yes, that seems backwards, but it's not. If you complain about other people it is you who will gain a reputation as being difficult or not being a "team player". You're the squeaky wheel who will garner all the bad attention... not the other person.

When dealing with tasks that are incomplete or incorrect. Merely explain to the client, "I'll have to repair the issues with A in order to implement B." ... or... "Unfortunately, the way A is constructed, it won't be compatible when we build B. So, I'll need to rewrite A from the ground up."

The gist is.. .you detail the work you need to redo, fix, or otherwise address. You do not state anything about who completed the work or your opinion about anyone else or their competency. Stick to strict facts about the work. Essentially act as if someone you don't know is doing the other work. All criticism should be about the work itself. An astute client will eventually see that you are rewriting or fixing a lot of items inevitably costing them more money. Just keep records of why things are incorrect and why they need reworked.

Only ever mention "John" or his competency if the client directly asks you pointed questions regarding him and his abilities.

As for the emotional aspect, just be grateful that "John" is creating more billable hours for you and improving your income. You shouldn't be frustrated, you should be happy to earn more.

  • I like the "always" positive approach in this. Thumbs up! =) Feb 17, 2017 at 9:25
  • +1 although I disagree with being grateful for incompetence handing me a steady stream of work, as I'd prefer constructive work over totally avoidable bug-fixing
    – morsor
    Feb 17, 2017 at 9:47
  • I posted to be grateful for the additional income, not the incompetency :) Minor difference :)
    – Scott
    Feb 17, 2017 at 14:50
  • 1
    @user45623 First, I don't think you're an asshole. I can tell a bit "frustrated' perhaps though :) If you don't have a hand in "John's" work, then first I'd ask John --- "hey, I ran into a bug with X, [detail bug], any chance you could get this corrected? I need to move on with Y but can't until this is addressed." If the client asks, politely explain that "There's an issue with the X script that needs to be fixed before Y will function. Unfortunately, i can't rewrite X. I've asked John to address the issue."
    – Scott
    Mar 7, 2017 at 22:41
  • 1
    @user45623 I do feel your pain. Been in many similar situations. My experience tells me the BEST thing is to just grin and bear it. Doing anything else (which I've tried many times) only leads to you being seen as a problem.
    – Scott
    Mar 7, 2017 at 22:52

A related thing happened to me too, the difference was that the other part was a web agency, they tried to put me in bad light with the client also with sort of sabotage actions, trusting on the fact that the client could be technically uneducated.

It was a difficult moment between me, the client and that external company (you can read the story here if you are curious).

What did I do? I always kept a professional behaviour with the client and with that external company, I never blamed anyone or complained about other's actions, BUT when they tried to put me in bad light with strange requests or similar things, I produced precise proofs and detailed documentations about why that particular task was counter-productive and what should have been done instead, eventually I requested a meeting with the client to talk face to face about these matters and did so.

In my humble position of a single man company I just moved forward as a caterpillar with calm and professionality (even if sometimes I felt anger raising inside) with the tasks and jobs that I had to do for that client, respecting deadlines and the requested quality, and never letting anyone step on my feet.

The result is that the relationship with the client is very good and alive, we met last week and he gave me many different tasks to do in the next weeks, and that external company was limited to weekly produce one or two contents for the facebook page.

The bottom line is that you should go on with professionality and be clear with your client when you have production problems and why, and at most bring brilliant solutions and no complaints at all.

  • Edit suggestion: scratch "limited or no complains" and replace it with "and no complaints" IMHO that would be a great improvement to this already good answer. :-)
    – Elder Geek
    Mar 7, 2017 at 4:03
  • @ElderGeek suggestion approved ;) The meaning was that... if you really really want to complain do as little as possible or not at all which is even better.
    – Mario
    Mar 7, 2017 at 7:54
  • Bravo Well done.
    – Elder Geek
    Mar 7, 2017 at 12:54

Both the answers provided here are good. Here's my take.

We don't always get to pick the members on our team. In this context "John" is your team member. What you need to do is figure out how to help "John" help you! Since your client chose both you and "John" it is in your best interests to prove that you can function in this environment. Casting aspersions on "John" is a exceptionally bad idea.

Keep in mind that by insulting "John's" abilities you are also insulting your clients ability (by extension) to choose appropriate help. If the client takes it that way, they may begin to question if it was accurate to choose you!

Never bad mouth or belittle anyone. It makes you look worse than them (unless of course they are engaging in the same activity). But just as bad still isn't good. I've been self employed for the better part of 30 years and my best advice is to you is as follows:

Never insult anyone whether you think they richly deserve it or not.

Never complain. It sounds like whining.

If you feel a product is inferior offer a better one, detailing how your solution is superior is perfectly acceptable, negativity is not constructive.

If you can't offer a better solution now, learn until you can.

Being nice costs you nothing. The cost of being rude is incalculable.

For more general words of wisdom see my profile.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.