Forums

One of my programmers (a remote contractor, but FT) has taken to routinely criticizing my code whenever I touch systems that he has previously worked on, in ways that are reliably incorrect (you'll obviously have to take my word on it, but I'm pretty good as an IC, and while he is not terrible, he's just at the "passable junior programmer" level despite a decade in the field). And I mean reliably: I've never gotten a single code critique from him that has turned out to be correct or useful, and I've really tried to engage and give him the benefit of the doubt. A 0% hit rate on code feedback is almost unheard of.

His delivery is neither bad nor good, like many programmers he can be too strident and lack sensitivity, and there's a language barrier that has led to some missteps which resulted in feedback, but to be honest, if he was offering good critiques, I'd be fine with all of it, it's behavior that I encourage from others and it's extremely useful when correct. I've gone deep with him several times on the technical details, but the discussions don't lead anywhere, he doesn't appear to understand when he's wrong, or if he does he does not acknowledge it. It's never the same exact code or error that leads to his misunderstanding, but the pattern is very clear at this point, and it seems like what he really doesn't like is people touching "his" code. We've talked about how that can be a problem, to no effect, he claims it's not happening.

This happens frequently enough that it *is* causing my personal productivity to go down substantially, since it takes a lot of time and effort to evaluate and respond to his suggestions.

What is the move here? I feel like continuing to get into the weeds on the details and even spend time myself evaluating his suggestions is a losing strategy, and asking him to be more careful with his criticism has failed (he thinks he is doing that already, and I believe that every time he makes a criticism he feels like it's 100% valid). But something feels off about straight up telling him that his feedback is no longer welcome.

Do I just "your suggestion is noted" over and over until he gets the message? He has reacted badly to that in the past so I'm hesitant, but I suppose not accepting my decision is at least a concrete behavior I can address that is quick feedback rather than a drawn out technical discussion.

shellandflame's picture

It sounds like you've been very patient with this programmer.  The next time he brings up an incorrect critique, go through it as normal.  End the discussion with a very direct summary of the issue.  "This has been an ongoing issue and neither you nor I have the time to dedicate to incorrect work.  If this continues, it will be noted as a performance issue.  It is also damaging to our relationship as it undermines our ability to work together."

If it comes up after that, do the critique, but include a formal evaluation form with the discussion.  When your done, note what was discussed, what was incorrect, and the fact that the employee has been warned repeated surfacing of issues that don't affect the results/ output will be documented.  Have them sign/ acknowledge it and add it to the file.  Repeat as required. 

When it comes time for evaluations at the end of the year, this will have to be part of it.  In manager tools fashion, this is impacting both results (both of you are losing valuable time reviewing good code for no reason) and relationships (he's undermining your ability to lead over what appears to be a petty greivance). 

If you've addressed it directly with them informally, a formal discussion that impacts their evaluation at the end of the year (and maybe even pay/ retention) should be enough to get their attention.  If not, you've created the paper trail you will need to take more drastic action.

gregrowe's picture

[quote]

It sounds like you've been very patient with this programmer.  The next time he brings up an incorrect critique, go through it as normal.  End the discussion with a very direct summary of the issue.  "This has been an ongoing issue and neither you nor I have the time to dedicate to incorrect work.  If this continues, it will be noted as a performance issue.  It is also damaging to our relationship as it undermines our ability to work together."

If it comes up after that, do the critique, but include a formal evaluation form with the discussion.  When your done, note what was discussed, what was incorrect, and the fact that the employee has been warned repeated surfacing of issues that don't affect the results/ output will be documented.  Have them sign/ acknowledge it and add it to the file.  Repeat as required. 

When it comes time for evaluations at the end of the year, this will have to be part of it.  In manager tools fashion, this is impacting both results (both of you are losing valuable time reviewing good code for no reason) and relationships (he's undermining your ability to lead over what appears to be a petty greivance). 

If you've addressed it directly with them informally, a formal discussion that impacts their evaluation at the end of the year (and maybe even pay/ retention) should be enough to get their attention.  If not, you've created the paper trail you will need to take more drastic action.

[quote]

Awesome. Thank you I feel better I was worried

SETM22's picture

I'll assume your statements are true in that your coding meets standards and that this contractor is being incorrectly nit-picky...

You: Can I give you some feedback?

Contractor: Sure.

You: When you critique my code without doing a thorough investigation, and then I'm forced to spend a lot of time validating that the code was in fact correct, it slows down productivity and costs the company money. Can you do better?

I threw in the "money" comment since this person is a contractor and there are direct costs associated to these code review games.

Sounds like based on his personality that eventually systemic feedback will be in order.