40

I have a coworker who is vocal and very assertive when he thinks something is being done wrong. We're both mid-level developers, but he is a much more experienced developer than I in the language that we're using. Hence he often has a lot of critical feedback on my code reviews.

The problem is that I find myself feeling injured when I read through his comments. I don't usually feel like that when I receive code feedback from other coworkers. It's hard to point to specific examples, but his feedback is blunt and tends to have undertones implying that I don't know what I'm doing.

I read the question of How can I be assertive without being rude or offensive? and my question is the other side of the coin in that scenario:

  1. How should I handle an assertive peer who gives valid feedback, but comes across as overly blunt and offensive?

  2. If I can't prevent it, how can I learn to stop being so sensitive about it?

13
  • 5
    @c36, Can you ask other developers to see if they also get this kind of overly-assertive feedbacks from this same coworker ? If yes, then it is just his style, and you should let it go as other developers do. But, if he only applies this overly assertive style toward you and not toward other developers, then you can be a bigger person and try to find out what the root causes really are, and resolve them in a professional and non-confrontational manner. Aug 12 at 19:21
  • 19
    Is there a difference in cultural background between you and your colleague? People in some cultures tend to be direct and terse without malice.
    – mustaccio
    Aug 12 at 20:38
  • 3
    Like what Mustaccio said, cultural background would be helpful here. The people from whom I have received similar feedback from tended to be from a different culture than I , half American , half Northern European
    – Anthony
    Aug 12 at 23:36
  • 6
    Also be aware if there is a significant age difference that there may be a generation gap. In my experience gen-x and older are usually far more comfortable with more confrontational communication styles than millenials and gen-z. Aug 13 at 2:30
  • 6
    Is his feedback good and helpful and valuable? I'd much rather work with someone who is abrasive and difficult (to everyone, not just me of course) but actually, pretty good at their job (assuming - getting the job done collectively benefits us both), rather than someone very nice but pretty hopeless (unwilling or unable to be critical in code reviews in this case). You can get into a good mindset "we're both professionals here, not friends" and accept it in quite a positive way. Of course if he isn't particular good himself then that's not much use to you. ... Aug 13 at 12:09
64

I can think of four things, although I'm afraid they are obvious.

  1. Calibrate. He's blunt and shows weaker social skills. If you can, assume better of his thoughts. Try to equate his rude feedback with others' gentle feedback. It really seems this guy's dial is set differently. Set that expectation and do not take it personally. You wouldn't get offended if a dog barks at you, even if it makes valid points about territory. It's him not you.
  2. Give him blunt feedback. I think the blunt prefer blunt. Tell him, "Your feedback is good but your delivery sucks. You being a jackass distracts from your good points. Lighten up."
  3. Ask your boss or a senior colleague to intervene.
  4. Give him gentle feedback to the same effect.
1
  • Comments are not for extended discussion; this conversation has been moved to chat.
    – Kilisi
    Aug 19 at 11:36
25

Adopt an extractive mentality

If he is actually giving you excellent feedback, treat this as a boot camp for learning a ton. Focus on getting as much good learning as possible, even if at the expense of your regular work and performance evaluations, which will likely be under his shadow anyway. Then, if at the end he still gets on your nerves (or you just want a new job), use your newfound skills to go somewhere else where you can be the star and get a clean reputational reset.

8
  • 7
    Agreed. As Job_September_2020 mentioned in his comment, it may just be your co-worker's style and not a personal attack. Developers especially can often be quite blunt and short of patience. If there is good learning to be done, take advantage of it. Ask for more feedback if you can handle it. If you show a learning and adjusting attitude your co-worker's attitude toward you may even improve.
    – Caleb
    Aug 13 at 1:49
  • @Caleb, yep, speaking as a developer, we often didn't learn social skills in school because we were more interested in learning technology while others were more interested in socializing. An unfortunate side effect is being (overly) blunt and (overly) concise. We may even think a comment is praise or positive when it's actually not understood as such. I'll say that trying to be more social/attentive to the co-worker may, instead, cause them to be more blunt, as they may not like the attention or they may think you understand them and can continue their behavior. Aug 13 at 22:56
  • @computercarguy or possibly rather that they don't count being overly saccharine as "social skills" - but also re: the question, imo "overly blunt" is okay - if anything that means the feedback would be better, no? if it really is overly offensive though, surely you could at least bring it up
    – somebody
    Aug 14 at 11:56
  • Yes. Bizarrely, if he's tougher on you than others, it may be that he has a higher opinion of you! If you're worth bothering with while others are a lost cause, you may advance faster and earn more responsibility. Aug 15 at 19:40
  • 1
    @PowerCat, it's often not about "smarts", it's usually about what people have learned. Sheldon from the Big Bang Theory is very smart, but also an SOB. I can't stand him, probably because I've worked with people like that. He never seems to learn how to be social and thinks that his overly blunt extreme criticism is perfectly fine, even when told otherwise, often feeling insulted when confronted for it. It doesn't mean he's not smart/intelligent, but like you said, he could just be mean, unfortunately. Aug 16 at 16:38
11

I pick this part of your two alternatives:

If I can't prevent it, how can I learn to stop being so sensitive about it?

It is always hard, and often futile to change the the behaviour of others, especially peers. Also, chances are that you will meet such disagreeable persons again and again in your work life.

So I would really focus on changing your own perception. Accept that he is as he is. Ask yourself why it makes you feel bad that he gives blunt feedback. Ask yourself why you feel that he thinks that you are stupid.

I am not suggesting that he is not thinking you are stupid, but whatever he is thinking should not have an affect on you. This is a subtle but very important difference.

One tool that could help to be less sensitive (at least it did for me) is to be compassionate. That is, try to picture the person as a human with his own problems and issues. Understand that the spectrum of human characteristics can always naturally or through circumstances lead to such behaviour.

If you fear that his feedback makes you feel bad in the eyes of others, especially career related, then being overly defensive will not help you. Instead, be professional; if he points out errors, then fix them and be communicative about this (not defensive); if there is some criticism which you don't accept (i.e., he wants you to do some piece of work differently, but you think you are correct), then discuss this on a professional level with him - always objectively about the matter at hand, never about personal feelings related to it.

Obviously, if you simply cannot do all of that and it becomes ridiculous; if you feel you're burning out due to this, or getting ill simply from the thought of going to work, talk to your manager and let them help you.

5
  • 2
    You are not your code. Is he criticising code constructively, as he is supposed to and frankly the blunter and clearer the better ("loop is inefficient, if you arrange it this way instead it will be 10x faster because x"); unhelpfully and maybe unkindly ("this loop is rubbish, re-write it to be more efficient") - you can ask him to be more precise; or criticising you ("you need to learn how to code loops properly, this is very inefficient, do it like this:") which is rather harshly phrased (but consider - maybe you do need to learn more and other reviewers are too nice or dim to say it?) Aug 13 at 12:02
  • (Re-reading my comment - in case it isn't clear - I mostly agree with AnoE. I'm not sure it's valid to consider everyone you don't get on with as having their own problems or issues though. Being more blunt than you in communication style is not a result of a "problem or issue". Certainly making an effort to accept people as they are by default, (obviously some people are just unacceptably rude or unpleasant), I agree with, but being consciously compassionate seems to lead down a path of thinking, "everyone I don't like has something wrong with them, unlike me, poor them". Aug 13 at 12:20
  • 1
    If it's happening in front of others there can be times when you need to defend yourself, e.g. if you're being taken to task for code you didn't write but rather inherited, or if they are implying you're stupid for not seeing a bug that you have in fact already seen and have a fix in mind for. I do agree that you need to do so professionally, but just wanted to emphasize that if they are causing you to lose face, then you do need to work to protect your image to the extent that any of your coworker's public feedback crosses the line (vs. if you lose face for a mistake, then best to own it).
    – bob
    Aug 13 at 12:31
  • 3
    Thanks for your comments, @lessthanideal and bob. As far as I can tell from the question, it's mostly about the tone and not about the content (OP doesn't tell us that that guy is giving rubbish feedback like "you are stupid, fix your code"). Also, the fact that OP cannot really put a finger on what exactly rubs him wrong makes it hard to suggest anything else...
    – AnoE
    Aug 13 at 13:12
  • ("tought""thought") Aug 13 at 15:59
7

Unfortunately, words on a screen can often look much harsher than they are supposed to be, particularly in a code review, where the point is to be hyper critical. Supposing your code does suck? How can a reviewer express that in a way that isn't going to hurt your feelings? For the reviewer, it can become tedious when they have to go over every comment and find ways to soften it as much as possible; often it's a lot easier just to state the unvarnished truth - but this can come across as harsh. I would try and look at your colleague's comments in a charitable light and assume that they're not supposed to be unkind, particularly if the criticism is valid.

Personally, I think code reviews of this kind, when it's just an exchange of comments, are a bad practise. I much prefer reviews to be done in person, where people can use body language and voice tone to soften the edge of criticism. I think the way code reviews are done across the industry is broken - but that's a wider topic.

1
  • Also consider reading the comments as directed at the code and meanwhile you are the excellent programmer who's going to make the code better. "I don't like this code because XYZ. You should do ABC instead." Hey look, you've been suggested some more good useful work to do!
    – user253751
    Aug 13 at 15:00
6

If I can't prevent it, how can I learn to stop being so sensitive about it?

If he's giving reasonable feedback in a machine-like way (no padding, just the facts) then pretend that he is a machine.

My compiler/linter/etc. routinely tell me things that may seem overly blunt, but it doesn't bother me at all, try to think of him in the same way. You push a button and a list of warnings comes out the other side, but the box in the middle isn't judging you, it's just applying some criteria to your code and giving you the results.

The only thing you need to do differently is write down the explanation for any warnings that you're ignoring, but that's just a slight variation on normal procedure--you can think of it like the comment you would leave in code that was unusual but needed to be that way for some reason and you don't want someone in the future to be confused by it.

(Side note, it may also help to set up your IDE to run more static analysis tools automatically before you commit, if any of the things your coworker is commenting on could be caught by that, because it will be faster to change them before you even commit--plus then you don't have to hear about it from him. Static analysis is getting smarter all the time, and I find that it's really helped me catch small details that could have caused future problems.)

1
  • SonarQube DOES bother me a lot ,)
    – eckes
    Aug 15 at 17:47
-3

Being rude or condescending is being unprofessional. I would reply to a few of his review comments with a note that says something like, "No need to be rude. I'll consider your advice." See if he tones things down after that. If he doesn't apologize or change course then I just would ignore any unprofessional messages from him in the future. Unless ignoring it will impact your job performance.

6
  • 11
    Blunt != rude. Some people are very direct in their communication and could be a cultural thing. That doesn't mean it is unprofessional.
    – Mixxiphoid
    Aug 13 at 6:25
  • 2
    @Mixxiphoid I'm giving the op the benefit of the doubt.. that when he wrote "undertones implying that I don't know what I'm doing", more objective observers would agree. I also think that if he repeatedly does something in a way that is plain wrong then he's in the wrong. I've never seen anybody use code review to make personal attacks.
    – HenryM
    Aug 13 at 13:10
  • 1
    @HenryM: "implying that I don't know what I'm doing", that isn't rude either if the person is actually doing something wrong. How does one expect to learn the best way to do something if it is not socially acceptable to say that they are doing it wrong in the first place?
    – musefan
    Aug 13 at 15:42
  • Putting "No need to be rude" in an online professional forum where your colleagues and boss/supervisor can see it is generally considered rude and, at minimum, not wise or professional. A better way to handle this is an offline conversation, even if it still does include your boss or supervisor. Aug 13 at 23:05
  • @computercarguy If it's responding to an actually rude comment it's not unprofessional. On the other hand if the 1st comment was totally professional, you're right. Personally, I would just ignore the supposedly rude comments and make sure my work is on a high level but when I've said that on stackexchanege before, people tell me that's passive. So eh.
    – HenryM
    Aug 15 at 16:07

You must log in to answer this question.

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