This is the biggest problem with stack ranking software engineers, the practice I had to endure while at a well known software company. All it does is create a zero-sum game, so I have no incentive to compliment anyone else. I needed to make sure that my rank was as high as I could make it, which really sucked during performance time. It was very stressful, even though I was a high performer, because it didn't foster…
The way this is achieved at my company is having no quantitative performance indicators and having your performance decided in a completely opaque process by leaders three levels above you in the organisation who you have never met.
As a consequence, we have all given up on engaging in the formal side of the performance review process because we know it is a waste of time. However, if you have a good line manager, you end up having a genuine conversation about what went well and what could be done better.
An odd situation, but infinitely preferable to counting up the number of fake "thank you" comments you receive (which just makes me vomit).