I "argue" constantly with my coworkers: they are savage in PR reviews identifying mistakes/improvements, and I give it back the same.

It's collegial, not hostile or insulting. Yet it's arguing nonetheless. We are exchanging ideas to create better software. Using steelmans and devil's advocate to evaluate new ideas / approaches.

Ego-less arguing is easier with engineering work because people are not emotionally invested in code the way they are on a political issue.

When you say you "give it back the same," are you saying you also are savage in reviewing their PRs, or that you are savage when replying negatively to their feedback?

If just the former, I strongly disagree that the two of you are arguing.