A standard tactic is to be genuinely nice to them. You don't have to like them, but being polite makes them look worse when they are not. You can even be generous to them. This might actually give you some insight to why he acts that way. I've had issues with some coworkers who insecure in a job they badly needed, or some who have a grudge against someone else in the team for a good reason.
If you do fight back, make sure you can land a solid hit. Argue when you're clear that you're right, and make them explain where they think you're wrong. A solid hit will discourage them next time.
The trick with office politics is that you also need more people on your side. Be friends with the people he's picking on. It sounds like you're isolated. Wolves avoid herds.
If all else fails, learn to be unbothered like your managers have. Sometimes you have to treat them like children, which is to smile and nod as they tantrum. Sometimes you treat them like an environmental hazard, like a puddle of urine in the bathroom where it's not your job to clean after.
What helps is not arguing via tools/email/chat. Just don't go there. It's a waste of time and just adds fuel to the flames. Lots of techies have trouble communicating effectively and keyboards generally don't improve things. Just because somebody is being immature doesn't mean they mean you have to take it personally. Escalating to your boss/calling them out in public is a last resort. Your boss will be annoyed that he/she has to be the grown up in the room instead of you.
Instead try to de-escalate and just walk over to the person and ask them to clarify and have a friendly chat about whatever it is that's bothering them and why that's bothering them and try to be constructive. "OK, you think this PR is not ready yet. How do I fix it?". You'd be surprised how often a friendly, informal chat can clear the air. Maybe you still won't agree with them 100%, that's fine. If so, ask yourself what it's worth to you to continue to argue or to simply do things their way.
Either way, don't quit because of this. It's far from what I would label "toxic" and it's likely that you'll meet people like this in most places so you're better off learning how to handle them early on.
If no, then how about you try talking to them, making them aware of the impact of their behavior on you? You could go like:
"Hey, I've been meaning to talk to you for a while but I didn't know how to put it best, I'd appreciate it if you listen to me until the end, I have observed EDIT: formatting
and I personally think of them as
, I'd appreciate it if you could express your ideas/talk to me/write me in a way that is more productive and constructive. I don't want our interactions to always end up being negative and I am actually looking forward to discussing a lot of your ideas in the future. What do you think?"
Not all jobs can be swapped out easily. Your situation matters. You may have to stay in that environment for whatever reason. Know your reason and the boundaries thereof. Be clear to yourself. Decide on what would cause you to exit and when. Be explicit in your reasons and why. You might have to remind yourself every day.
Maybe this environment isn't toxic or the situation isn't so bad. Get legal counsel anyway in terms of a bullying case. You may not have an actual bully in play right now but preparation for such might help. Even if you don't go the legal route, keep a journal, notes etc. If the manager is turning a blind eye to the situation that definitely isn’t good either.
Just thinking about this, this guy is so dumb that he cannot understand what others are saying. Think like that.
One thing what I see is that people spill shit all over the place are just people who are being filling & drowned in shit. What is you see is just the after effect of shit drowning him.
Why get excited by a "thumps up" & feel bad by a "thumps down"? Someone appreciating or disapproving is just based on their perception. Its not the final judgement. There are many variable factors effecting a person. Just because some shit happened to someone and that person just vented on you. Why ruin your day based on that? Let it go. Be like a lotus, surrounded by shit but no shit sticked on the lotus.
FYI: I know I haven't conveyed myself in the best way possible, but I am doing my best (this makes perfect sense in my head). Well, I dont have "the best of words - everyone knows it". hehe.
During my one on one with my manager, I mentioned toxic environment without naming names. My manager told me that management was aware of them but was not able to do anything since they never really crossed line and no one ever filed any complaints. He said if enough developers complaint then they can take action even without bullies crossing actual line.
Of course, I didn't want to rally anyone to file complaints. But my manager told me they were not untouchable. So I started holding my ground and eventually bullies left me alone.
That's how I'd try to approach it if the person seems like they can't be reasoned with.
If the person seems like they can be reasoned with, then I'll just go have a conversation with them and give them the feedback directly. If that fails, then I'd fall back to trying to distance myself from the impact as much as possible while delivering the feedback to people that can potentially help make the situation better.
The other thing to do is to ask for specific feedback to get to the root cause of the disagreement. I try to disarm them by agreeing that the code "smells" but it was the best you could do given the constraints. Does this developer "own" the code (is it their baby) or product you are working on? Ask what they would do... you can't mind read after all.
If you've built group consensus first then the negative reviewer has less room to maneuver as well.
Next consider proposing that the group create a code review protocol. This is similar to a coding style convention. Try to get consensus and sign off.
Lastly, check out the 5 secrets to effective communication, they really work. It's takes a lot of practice though.
https://feelinggood.com/2016/12/12/014-the-five-secrets-of-e...
I’d try to respond to PR comments/ talk or slack directly with the person and ask them to elaborate whenever they leave these negative ambiguous comments. You can even preface it with some humility - “I’m struggling to understand your point, could you restate this in another way for me?” You can keep going down this, and if they are just being catty, disrespectful, etc, you can potentially ask other developers to way in with their opinions, to help come to some consensus.
As for the mocking regarding production going down, I’d counter if possible in the thread acknowledging that even the most experienced developers write bugs, and this speaks to a system problem, not an individual developers fault. I’d try to remove blame from the individual.
Finally, I’d recommend trying if at all possible to get a little distance from the situation, whatever the comment is, etc that is bothering you. By that I mean trying to not let it get under your skin by focusing on your task at hand despite the negativity (be extra positive instead), maintaining identity outside of work and allowing yourself some self confidence in your skills and yourself.
Remember: a) this person might be or act like an asshole (maybe they are just really insecure? Who knows? Doesn’t matter?) b) management is complicit c) you maybe able to change behavior but may not d) you may not be able to control your understandable and appropriate emotional response to the person now, but if you practice mindfulness (pausing and keeping perspective), you maybe able to mediate your response and feel better about the situation.
Good luck! I’m feeling for ya!
The strangle method for dealing with a legacy code base can work for social situations. Create an overarching social structure, with help from other co-workers, where the toxic person has their own bubble of influence, make sure the structure is secure, and then slowly reduce the size of the bubble.
An overarching social structure looks like normalized communication channels (one communication channel as opposed to several, scheduled meetings instead of one-offs so everyone is invited), clear lines of responsibility, and a steady escalation chain. Formal review processes in particular, as long as they don't grow too much cruft, is the easiest way forwards to start shrinking the bad-actor-bubble.
Coincidentally, this idea can be used for bad purposes, and is often how programmers can get strangled (so to speak) within their own organization.
But in general I would just ignore him....
I'm not sure what kind of financial situation you're in so this might not be the best advice.
If you haven't already given management a chance to fix it themselves, then tell them to deal with it or you're gone. The cost for management to fix it is a lot cheaper than hiring a new person.
What do they really have to do? All it takes is them to tell the person to just stop it.
A toxic work environment is very detrimental to productivity so your hierarchy should take this very seriously.
Steer clear and look for another opportunity.
I also practiced putting myself into their shoes. I realized they might be struggling and stressed and tired, too. I know this doesn't justify their behavior but sometimes being understanding is the best way. When my toxic coworker actually went on a 2-week vacation with no one bothering him, only with his family, he came back so refreshed and positive that it was scarier than him being grumpy and critical all the time in the previous months.