This is a good point but I think under-discussed. Ultimately what separates a well intentioned person with terse communication, (perhaps) poor empathy skills (i.e. lots of programmers), etc, from an asshole, is intentions. If we could read minds, it would be easier. But we can't, so we read words (and facial expressions, when available). If those signals line up with "asshole", whether or not its true, the person will often be taken as such. Moreover, its possible to be correct and / or on the moral high ground and still be an asshole. Nobody likes being around assholes. And to be clear, I don't know much about this person, so I have no idea if they are one. But I wanted to add on to this comment, I think firing someone for being an asshole is a fine thing to do, regardless of their status or contributions. Which presents an odd situation if a person is not actually an asshole but just seems like one.