1. Takes feedback as a personal attack. Gives feedback as a personal attack. Up to and including getting colleagues fired who have had disagreements with them.
2. Process is for thee, not for me. They complain when others don't follow the rules. But they act completely independently of process and complains it holds them back.
3. They never take responsibility / never contrite or apologize. This. means when they cross the line, it's just the new unspoken standard of behavior. Not something they take time to repair and apologize for.
4. They see software development as a zero-sum game. If you are succeeding, it means its taking away success from me.
And no, I'm not talking about someone who's incompetent. Or someone who's a bit gruff.
Now the obvious answer is 'leave' BUT its been my observation that most jobs have had at least one person that fits this profile. And you may not know when you interview.
How have you dealt this person in the past?