(I don't believe this is a dupe of What can I do to make a coworkers lack of effort more visible? because that question is about effort, whereas this one is about ability.)

I'm a contractor (UK) but not a consultant. In my current placement there's a permanent guy doing the same role, who is effectively the main guy and has by far the most product knowledge etc.

The problem is, he's not that great at the core skill we're employed for. There's another contractor who very much agrees with me on this (and who I believe is not renewing his contract if asked precisely because of this guy's limitations). Perm guy gets things done but not always in the best way and his work often needs tweaking or fixing due to being a bit odd. He's not very good at internalising feedback either; we've tried to help improve his skills but he seems pretty slow on the uptake.

Our motivation is not to get permanent roles or look good or secure further contracts; our motivation is to have everyone turning out decent work that doesn't need fixing and who can follow basic industry standards.

This perm guy's skills aren't that visible to management since our manager isn't close to our core skillset and he doesn't review work (or have the skills to).

Should we say something to management about this guy actually not being that great?

On the one hand, we feel like it's a bit irresponsible to not say something, given that this guy in a small team is a limiting factor on how good the end product can be.

On the other hand, we're contractors and maybe we should mind our own business and not rock the boat.

Additional info: another perm is considering quitting due to this guy's standard of work apparently being considered acceptable. This might not be the first time that's happened either. In other words, this guy might be contributing towards revolving door syndrome at this place. Wouldn't the boss would want to know if this sort of thing is going down?

  • 89
    That they brought contractors in with the very same skillset might be an indicator that they already know.
    – nvoigt
    Commented Mar 30, 2016 at 10:11
  • 7
    There is nothing wrong with a contractor bringing up a concern like with his manager. Make the focus about the product and not about the employee and keep it professional.
    – John
    Commented Mar 30, 2016 at 10:15
  • 11
    I think contractors being brought in is more to do with it being hard to find perms in this area of expertise, plus they want extra capacity for a while but maybe not forever
    – J Bramble
    Commented Mar 30, 2016 at 10:20
  • 10
    @gnat I'd disagree this is a duplicate. The situation is politically very different for a coworker and a contractor. Commented Mar 30, 2016 at 12:26
  • 18
    Folks, please don't answer the question in comments. Comments are to improve the question, answers should be in an answer. Commented Mar 30, 2016 at 14:26

12 Answers 12


Should we say something to management about this guy actually not being that great?

That depends on your role.

If you are a contractor brought in to work on specific projects, then you put your head down, get your own work done, and ignore the company politics and the abilities of the people around you. That's what you were hired to do.

On the other hand, if you were brought in to assess the company/department and make a recommendation (usually written), then you must include your assessment of the skills of the people. Sometimes that includes assessing individuals, but often you are being asked for an overall recommendation regarding how to make things better.

In your case, you have indicated that you are being "paid for work, not to evaluate others", so I think your path is clear.

As @s1lv3r states, sometimes that's the difference between a "contractor" and a "consultant".

Basically, if you aren't being asked for your opinion, tread carefully. At least in my part of the world (the US software field), contractors who badmouth employees can ruin their reputation quickly.

And if you still choose to convey your opinion regarding the lack of skill of one employee, you had better make sure that your own work is entirely perfect. This employee and his friends may very well want to retaliate and point out your imperfections.

  • 26
    +1 That's the difference between a contractor and a consultant - at least in my part of the world. ;-)
    – s1lv3r
    Commented Mar 30, 2016 at 11:58
  • 4
    We're contractors, not consultants
    – J Bramble
    Commented Mar 30, 2016 at 12:07
  • 18
    +1 The role is all important. If one was a welder, for example, and brought in on a contract, it is his responsibility to weld, not to comment on other welders, their skill, or their technique. I think we tend to forget that when we deal with more technical fields. Commented Mar 30, 2016 at 12:35
  • 12
    @JBramble Yes, but if they are often having to devote time to cleaning up after this other guy, that is something they need to bring up.
    – corsiKa
    Commented Mar 30, 2016 at 16:29
  • 7
    @RichardU In contrast to that, if the perm workers technique/quality is an HSE risk, then a contractor should bring it up. It's not always black and white. Commented Mar 31, 2016 at 10:23

As a contractor, and assuming you're an hourly contractor (in the US you almost certainly would be), there is really one, and only one, place that you can record this. However, it's somewhere that a good manager would take note.

In your timesheet, make sure to separate the hours worked developing new processes, and the hours worked fixing the issues. Then clearly mark them in a non-passive-aggressive way.

45 hours worked this week

  • New Development: 25
  • Keeping the Lights On: 10
  • Updating XYZ process to follow ABC standards: 5
  • Modifying DEF process to fit into core framework: 5

As a manager, that timesheet would tell me that you spent 10 hours on the company dime updating code that someone else wrote to fit into the standards we expect people to follow. There are a few things that could come of that.

One - perhaps I would contact you and ask for some more details. In that case, you'd professionally tell me exactly what you saw, what was wrong, and what you did; and then what could be done in the future to avoid needing those 10 hours. Then I would take action by working with the other employee to meet those standards, possibly involving your help.

Two - perhaps I already know that this employee isn't really meeting standards, and I've decided it's worth more to keep him on than to let him go. Perhaps that's why I have the number of contractors hired: so that you can do this afterwards follow-up.

Three - I might tell you not to do that in the future; fixing this guy's problems perhaps aren't in your job description. You may tell me that would mean the rest of your job is harder, but that's my call as a manager. In that case, a new contract seems like a good idea.

Four - things just keep on going as they had been. You're in no different of a place than you are now, and you keep recording on the timesheet the same details. Again, a new contract seems like a good idea after several months of this.

Beyond that, though, unless you're asked I wouldn't say a word - it's not your job, and it's not necessarily desired. It's entirely possible management is more aware of the issue than you think; they may not have anything they can really do about it. It's also possible they don't, but it's their job - and prerogative - to ask. If they aren't capable of managing this sort of thing, regardless of their ability to understand the code, they're not going to be terribly successful in the long run, anyway - so move on to the next job, keep a note of this company so you can remember not to sign on again if the problem isn't fixed (if this is a big enough problem, anyway, it's unclear how much you really object to this), and be glad you're a contractor!

  • 4
    Interesting idea! However, the timesheet/billing system has no field for the details of what is being charged for. Just hours worked.
    – J Bramble
    Commented Mar 30, 2016 at 14:38
  • 1
    A possible variant on Two: perhaps I already know that this employee isn't really meeting standards, and I've wanted to take him off this project, but until now, I didn't have any specific data to quantify the impact of this quality issue. I won't tell you about this, of course, but I'm compiling this information together to back up a recommendation I'll be making at the next quarterly review. Commented Mar 30, 2016 at 15:00
  • 2
    @JBramble Maybe a simple end-of-week email summary to your manager? So long as the language isn't too technical and the tone is purely routine/matter-of-fact I can't imagine any manager not being happy to have a simple, clear, short, concise account like this. Commented Mar 30, 2016 at 19:22
  • 3
    @JBramble - You can always ask the manager if they would like a better breakdown of your time.
    – Bobson
    Commented Mar 31, 2016 at 13:30
  • 2
    @JBramble Or, make a note of how you're using your time for your own purposes, so that you can say to your next contract, "Yes, I worked on that and what's more I got existing code to fit it as well." You could offer that to the manager, since you're [now] doing it anyway. Commented Apr 1, 2016 at 9:04

Ultimately like others mentioned it isn't your job to make this recommendation. I've been in the same position you describe. A key difference between my position is management actively told us that the permanent employee was:

The only developer they've ever trusted because he never let them down.

Furthermore this developer had veto rights on my commits. This meant that I was required to continue applying bandaids, and following his anti-patterns. Based on management's complete trust in the developer, I knew approaching them was out of the question. Instead, I tried to encourage the developer to move towards best practices. Eventually the consulting firm I was working for lost the contract. While it wasn't explicitly stated I'm certain my efforts to improve the code base were a major factor in the decision.

A couple things I learned from this experience are:

Only try to solve the problems you were hired to solve. A more colloquial version of this is "Don't try to teach a pig to sing. It wastes your time and annoys the pig." You were hired to contribute code to the code base in the style of the code base. While I fully support trying to improve the code base incrementally over time, you should be realistic in what you can accomplish.

Always try to solve the problem in a way that makes the client feel like their actions were vital to the solution, and that they receive the praise for the solution. This is nicely summed up by the quote "You can accomplish much if you don't care who gets the credit." Until you figure out a way to make removing the under performer a clear win that results in praise for management's skill/talent/intelligence/etc. this is a non-starter.

I would also recommend you read the book Secrets of Consulting. This is a great book chock full of wisdom. If I would have applied the lessons in this book wisely I believe I would have benefited more from that consulting gig, and I think I would have been more effective helping our clients.

Finally, I think you should seriously evaluate whether you should look for another job. Life is too short to stay in a job that is frustrating, and it doesn't appear as if this company is one you want to have a long term commitment with either.

  • "Only try to solve the problems you were hired to solve." - No, in my experience the mark of a senior developer / consultant is that you add value beyond what you were hired to do, and to mentor and improve your team. That said I probably wouldn't fight too hard if they're not receptive, but I would try.
    – Rup
    Commented Apr 1, 2016 at 20:20
  • The singing pig quote is from Robert Heinlein, by the way. Not 100% sure which of his books, but I believe it's in "Time Enough for Love."
    – Wildcard
    Commented Apr 1, 2016 at 20:24
  • 1
    @Rup I agree but you have to do it in your purview. If I was hired to write code then I shouldn't be coaching the sales staff on how to close a sale. If my job is to sling code then I can make some recommendations on related process like adopting continuous integration or teaching coworkers other best practices, but hiring/firing personnel isn't part of the arrangement. If you were explicitly hired to train people then it would totally within scope to say "XYZ is really struggling to keep pace with everyone else," but I wouldn't recommend they keep/fire that person until I was asked directly.
    – Erik
    Commented Apr 1, 2016 at 20:32
  • @Wildcard I've heard both Heinlein and Twain attributed. One thing is for sure it is more clever than something I could come up with by myself off the cuff.
    – Erik
    Commented Apr 1, 2016 at 20:36
  • @Erik it's definitely in Heinlein; whether it also appears in Twain's works I cannot say. It certainly matches his style and sense of humor, though.
    – Wildcard
    Commented Apr 1, 2016 at 20:51

Take a look at the perspective of the person who would be receiving this message. This wouldn't be the first time a set of consultants--who are paid well for being experts in an area--believe their skills exceed the local talent. It also sounds a bit self-serving for consultants, who either want more work or to get the perm position themselves. So with the best intentions, you may be summarily disregarded as self-serving.

Perhaps another approach is to work with the perm person. Have you shown him the tweaks? Have you proposed better methods? As a consultant, you've been called in because things aren't going well and people are aware of that. By bringing best practices and solutions that exceed and extend the knowledge of the locals, you increase your value as a consultant. If the perm was already effective, there may have no need to hire you in the first place, or they may have hired someone.

Sometimes consultants are a way of flexibly extending the workforce, but often there is more. This case sounds like the latter. There were certainly discussions in management before consultants were hired, and those discussions necessarily included what was not getting done. If, with the consultants, the work is getting done well, then the perm is being effective, just not optimally so. And future plans for his role may not include this type of work at all. It's hard to know.

As a consultant, you're proposing to drop a problem on their desk ("he's not competent"), but your real value is in dropping a solution. Is there something you can do there? "Replace him" doesn't say much. Maybe outsource all the work? Maybe move project management to a specific consultant you know? If you can list benefits to other solutions, you'll increase your value to this client.

  • Exactly this. We're not consultants, we're contractors.
    – J Bramble
    Commented Mar 30, 2016 at 12:08
  • 1
    Yes, we've pointed out ways to make his work better, and standard ways of doing things, etc. But they're not very good at taking feedback onboard.
    – J Bramble
    Commented Mar 30, 2016 at 12:14
  • 4
    @JBramble to be blunt, often the attitude towards contractors who speak up is "who the heck are YOU to say anything be careful Commented Mar 30, 2016 at 13:05
  • I wouldn't fixate too much on the the distinction here--sometimes a contractor is a consultant without a fancy title.
    – jimm101
    Commented Apr 1, 2016 at 22:19

I would suggest to keep to the "mind your own business". It is the task of the management to see that. If they don't ask you directly, I don't think you should go to them. What do you want to gain? Take their place? At the end of the day, you are contractors coming to reinforce a team. Whether the original team is the best or not, is not your responsability.

  • What we want to gain is to have a product that can be better. Neither of us contractors have any interest in permanent roles at this place.
    – J Bramble
    Commented Mar 30, 2016 at 11:57
  • 4
    The overall quality of the product isn't your responsability. You are not paid for that either. So you don't have much to win, and more to lose. Commented Mar 30, 2016 at 12:04
  • Agreed. But one of our responsibilities is meeting deadlines, which is harder.
    – J Bramble
    Commented Mar 30, 2016 at 12:12
  • 2
    @JBramble if the deadline is for what the whole team is doing, then it's really the manager that's responsible for meeting that deadline. Each team member can, at most, have deadlines for individual tasks. If you complete your assigned tasks by the deadlines your manager gives you, and the permanent employee doesn't, the manager will see that. But if the employee's work actually prevents you from making your deadline, you should say something to your manager about that. If that's the case, it might also be worthwhile to post a separate question about how to have that specific conversation. Commented Mar 30, 2016 at 14:50

I personally think you ought to see if there is a polite way to say something about their lack of quality.

Why? Well, because your name is also on the project and, as a contractor, your reputation for high quality work is what keeps you employed. The difficulty of this situation is that it's entirely possibly that if the product fails down the road, you will end up being blamed simply because management is unaware of how bad the perm is. And if the perm is apt to defend himself, and management is apt to believe him and then goes about telling your potential clients that you "screwed up the big project"... That's going to cut into your bottom line.

When I do contract work (as a photographer, so, perhaps a different industry with different rules...), I insist on turning out the highest quality work, even if the client is pressuring me to "just get the product out because we don't care if it's good". I know each photo I release is a potential portfolio piece (intentionally or not) for my next client. And as a freelancer, my reputation is really all I have. So I maintain it vigilantly.

If the project has your name on it, and you feel you can mention your concerns politely, I would recommend saying something.

  • 4
    I agree with this answer though I think it is all in how you address the problem. Rather than point out the person, point out problems which require rework. Rather than say "this guy is doing poorly", phrase it as "training opportunities for the team to keep up with changing industry standards". If you can address the problem but de-personalize it, it will raise a red flag as to the "what" but let the boss draw conclusions as to the "who".
    – user48276
    Commented Mar 30, 2016 at 17:13
  • @Dank I'd agree with that. I honestly wasn't 100% sure on how to address it, but I think your solution is a very good one. Refraining from pointing fingers and offering to simply help "bring the project up to standard" may work out well.
    – Jae Carr
    Commented Mar 30, 2016 at 17:45

Arguably more comment than answer, but I need the space.

I would consider a few things:

  • Is he really good at things outside your skillset?
  • How much is this impacting your ability to deliver?
  • Are you trying to deliver more than the client needs?
  • Is this guy going to be either giving or drafting your reference?
  • How connected is he politically [1]?
  • How easily can the client get rid of employees in general?
  • Is there a danger of accusations of discrimination? [2]
  • Could this wait until the contract ends?

[1] Since other perms have quit over him, I suspect very. Then again, perms have to worry about references too.

[2] At the start of my career ~20 years ago, I worked with someone who should have been fired for arriving late, leaving early, incompetence, and bringing pet projects in from home to do instead of his job. He was also posessive over 'his' PC, despite the fact is was the only one with a tape drive for the network backups. He had job security because his ethnicity made him a minority of one in the company, and his verbalised opinion was that all of society was racist.

  • Thanks, these are good considerations. Though if it's too long for a comment and doesn't answer the question, it may not help the OP. Consider adding to this to directly answer the question.
    – mcknz
    Commented Mar 30, 2016 at 18:35
  • 3
    I agree with the above. Often times I had employees come to me saying (paraphrased) "Do you know that Mr. X isn't very good?". Well it always turns out that the employee reporting this, while he/she has a point on a technical level, is far from seeing the big picture. It can be what I call the cheap burger effect. Ask yourself: do you have the best car in the world? The best house? Sometimes, you just need or can get along with something cheap. It might be what this guy is. If you really feel like he is a problem to the company, try to get a bigger picture first.
    – Alexandre
    Commented Mar 31, 2016 at 3:23

The answer is clearly, no.

I'll tell you why.

Whereas it might seem at the time like I was performing a great service by reporting someone that doesn't do their job to the standard that I expect, I would later regret behaving like an asshole to another person.

None of us are perfect, and during our short lives on earth we shouldn't be expected to be perfect either.

What I'm getting at is, that while I'm allowing myself to become so distracted by the problems of others, I am depriving myself of giving more thought to how I can take better control of my own life by improving my own strengths and weaknesses.

I have learned that I am better off keeping criticism to myself, unless:

  • The person in question is breaking the law
  • They are going out of thier way to or allowing their ego to spoil things for everybody else
  • If a senior in the company had specifically let me know that it is my reponsibility to report the people that I work with whom are breaking a clearly specified set of rules.

I believe that the key to satisfaction and life success is to utilise this skill solely to better people's lives, so I would purposefully avoid using it to cause upset in others.

However. Similarly to how driving in the dark with a full-beam headlight is fantastic for me, it is a hazard for everybody else. It is important to criticise considerately and with care.

To make it easier, I imagine my critical eye as a spot light, and I make every effort to keep that spotlight on myself. If I notice it shining on another person then I point it back towards me or switch it off.

No one's life is improved when a person feels they made a mistake by asking another person to criticise their character. Everyone just ends up feeling sore.

I can't think of a single thing that's more important than happiness.

"Opinions are like assholes, everybody has one. Take care you're not rubbing someone's nose in it."

  • "I believe that the key to satisfaction and life success is to utilise this skill solely to better people's lives" A lot of this can hinge on how you define 'better other people's lives'. We should avoid hurting people's feelings whatever the cost elsewhere? To put it another way, I could counter that I'm being an asshole to my boss and my client by not telling them what I'm thinking.
    – J Bramble
    Commented Mar 31, 2016 at 13:20
  • I'm going to be extra clear on this, because in circumstances where I witness a person doing wrong then I am certainly responsible enough to report them to an authority and I would urge anyone to do the same. In this case however, the proposal sounds like an intention to report someone for exhibiting human frailty. Commented Mar 31, 2016 at 14:27
  • How does frailty come into this?
    – J Bramble
    Commented Mar 31, 2016 at 15:41
  • It's what psychologists call the human condition. Being slow on the uptake is an example of human frailty: Weaknesses that a person is born with. E.g. If I was to punish or unemploy someone for exibiting human frailty then I would find myself in a lot of trouble, and deservedly so too. There are many people that don't understand why these laws exist, but they soon would if they spent a day in another person's shoes. In civilised society, we're all in this together. We condemn the weak at all of our peril. We help people so that they, and indeed we may recover. Grow strong. Commented Mar 31, 2016 at 16:20
  • So no-one should ever lose their job, because they're just showing frailty?
    – J Bramble
    Commented Apr 1, 2016 at 14:50

In my own humble opinion I'm an excellent developer, and I've been a contractor for 35 years. I have run into the same problem on most of my projects, but the way I handle it depends very much on the culture of the team I'm working with.

Some of the comments to this indicate that you should be weary because your code isn't perfect -- I know mine isn't, and in some places this matters. In other places I'm being paid to compensate for the low skill levels around me and in others I'm being paid to bring every up a notch.

Sometimes I've had permies fired, or moved onto other, less taxing projects. Sometimes I've been so impressed I've had their salaries increased (in one case by 75%), by threatening to have them join my mates and I in our contracting gang!

What I'm saying is, there is no right answer. It depends on the culture of the organisation you're with and on the specific people you're talking to. I've had clients who outright ask my opinion, and others who hire me specifically to take the blame for the poor performance of others.

One thing that is important, and which is called out in other comments and answers is that you should be very careful.

In my experience, being quiet and nice to everybody is more likely to get a contractor extended than being noisy and grumpy, and getting extended is your goal on most contracts, which is usually achieved through hitting your deadlines, passing your tests, and not annoying anyone.


Another good reason to avoid saying anything is that they may well know his abilities, and his job is very different than yours. He may, in fact, be more a liaison and communicator than a programmer, and while he may spend some time programming, his main job is to make sure that everything is communicated correctly.

One of the reasons companies hire consultants is to get expertise they know they don't have in house. They likely are aware of his limitations and shortcomings, but he fulfills other needs, and maybe even for less than the consultants cost. For some companies this makes a lot of sense - keep a full time, lower paid person on hand to deal with small things and to be the connection between the experts and the company when they need more than he can handle.

As others have said, unless they've asked you to evaluate their company, employees, or process, it really isn't your place to spend time doing so.


First, I'm going to assume that your primary motivation(based on your question and comments) for reporting your coworker is a genuine desire to improve the team's quality. Some have suggested that you're taking more work because of your co-worker's incompetence; if that's the primary reason, take their advice and leave.

In general, I find that most people detest being given unsolicited advice; regardless of whether it is correct or not and a lot of the posts here agree with that. I'm going to add two more points that I haven't seen mentioned.

  1. You mention that your coworker still "gets things done, but not always in the best way ...". You also mention that your manager "isn't close to your core skillset" and may not have the skills to understand your work. This means even if you do bring this up to your manager; your manager may not even understand how the perm employee's skills are deficient. All they see is that the perm employee gets their work done and now the contractors are complaining about (what the manager may feel) is a contrived and worthless detail. Trying to press this further to make them understand will only make you look worse.

  2. You mention that another permanent employee is leaving because of the first perm's poor work. You imply that this has happened before. In other words, PERMANENT employees are leaving the company because of a coworker's poor work INSTEAD of raising it themselves. There is almost certainly some reason and it's something to consider before brining it up yourself.

Again, since you're a contractor it's not your job to provide feedback on the workplace and it sounds like actually effecting positive change(your goal) will be almost impossible if you try.


Office politics aside, what would you want the manager to do? It doesn't sound like he's terrible, so firing him would perhaps be over the top (quite apart from the implications of getting rid of someone, it costs thousands to hire and train their replacement).

Is there a way you can address your issues without it coming across as an attack?

Perhaps you could recommend a training course to address his weaknesses ("I've heard about this great course, I think John might find it really useful")?

Or as a team you could write up standards that cover the areas he is struggling with. That could be documented best practise UI patterns, coding patterns, business processes - whatever it is that is causing an issue. You can sell this as making it easier for new developers to get up to speed.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .