The second is that measuring individual performance among software engineers is very hard. I would say that it’s almost impossible and in practical terms, economically infeasible. Why do I call infeasible rather than merely difficult? That’s because the only people who can reliably measure individual performance in software are so good that it’s almost never worth their time to have them doing that kind of work.
Or, as former Facebook Director of Engineering Yishan Wong puts it: “[Non-technical] leaders are unable to tell when the technical staff is not performing up to snuff, because they cannot reliably differentiate between excuses for poor technical performance and true obstacles that arise when contending with difficult technical challenges. Performance management then becomes impossible, leading to mediocre work and eventually, outright and repeated project failures.”
This may come as a shock to developers, but there actually several ways to tell. They’re a bit tricky to learn, but ridiculously simple once you pick up a few tricks.