The host shares a personal story from time when he was a cashier. The grocery chain measured performance as items scanned per minute and shared internal leaderboard.
Some items are hard to scan so the cashiers ended up skipping scanning them – so the store gave them away for free. But the managers were happy about their KPIs. (Look how many items are we suddenly selling per minute!)
[0] - https://www.npr.org/transcripts/669396192 (both podcast and transcript)
I love this podcast.
"Is there anything else I can help you with?"
And then immediately after that:
"No, ok I will close this chat."
Almost all call centres reward agents for short calls.
The supervisors were pretty swift and always looking for shrink. If you were letting dog food or whatever walk out the door, they would figure it out quickly and you would be gone.
The GMs were well paid and profitability and shrink were their metrics.
Maybe it's Goodhart's Law: "When a measure becomes a target, it ceases to be a good measure."
If velocity gets turned into a target, corners will be cut (less testing, poor code quality) in order to get those story points for that sprint. Code quality suffers and tech debt accumulates, reducing output down the road.
On the flip side, as time goes on teams could just progressively estimate a greater number of points to stories of similar difficulty during the planning process. So velocity goes up but actual deliverable features goes down or stays the same.
at my company, raises have more to do with the financial situation of the company than subjective reviews (although we do have these, they just don't factor into compensation that much). if the company is doing well, everyone gets a nice raise. everyone gets the same percentage bonus every year which is calculated based on the entire company's performance. maybe this makes us unattractive for very competitive people, but it leads to a very cooperative environment. senior devs don't really have anything to lose by spending a few hours helping newer people, so they just do it.
I think this theory may be true in some fields like hedge funds or heavy sales performance based businesses.
In software, I am not sure high productivity people care about this issue, as long as their compensation is high enough.
That circles back to the original problem of how do you identify the high productivity people to give them high compensation. It works when the person spending the money is close enough to evaluate employee performance. But when it's some middle manager spending Zuckerburg's money you run into the agent/principle problem. The managers will do what's best for them (raises for everyone!) and not the enterprise.
So high productivity people who don't want everyone else to benefit are a bit of an oxymoron.
(* or at least most others)
If you can find a dev who can do for your company what LeBron can do for the Cavs/Heat/Lakers, great!
The reality is that you should be shooting for Shane Battier.
Obviously metrics vs just manager instinct/observation will benefit and harm different people in different ways.
A combination would be better. But life isn't really fair or objective, end of the day I'd rather work with someone I like and can socialise with and know working with them is stress free (which means my work is better) and can be trusted to just do their thing even if their performance is lower than someone who's a pain to work with but maybe puts in more hours.
Making software is a combination of engineering + artistry, it's not flipping X burgers an hour, objective performance isn't important it's the contribution of the whole individual.
[0] : I did have a manager judge me on this before, all it meant was I'd stay up all night, go into work, sit there like a zombie doing close to nothing, go home then sleep. Doesn't matter if I was barely doing anything, by their bum on seat metric I was doing great.
Every year, and once a year, all the managers in the company submit bids to the employees that they want to work under them. Employees then select their favorite bid, and that becomes their new manager. Employees are free to accept/reject bids based on any criteria: Salary/PTO/On-call requirements, etc.
In theory, you have a list of things to check for each category of performance. If you tick enough boxes, you get a certain category. In reality, it seems managers stack rank, and then apply the required curve to the stack rank. If everybody on your team does their job as expected (or better), too bad, X% need to be flagged as poor performers as declared by the performance curve.
Which is more fair? Note that objective measurement of the wrong thing will reward people for stuff other than quality, and probably stuff beyond their control.
School is a prime example, in my opinion - there is so much I "learned" in school that I'll never remember, because I didn't take a proper approach to learning - I just optimized for grades. I had a 4.7 GPA and could hardly tell you a thing about US history or recite a lick of Spanish, because I simply did not care about anything but getting the A so I could get into the college I cared about.
In the work environment, I can see a lot of parallels to this. If I'm competing with my coworkers, my incentive is to outwork and outshine them. A common thing I see is when a coworker does a bit of innovative work - it's almost guaranteed some other coworker will intercede before a chance at applause is given to discuss its obvious flaws, the plethora of alternatives out there, etc., leading the developer to feel like their implementation was not good. (For the record, I'm not talking about general criticism - I'm talking about the general pattern of not celebrating someone's achievements and then discussing how to continue improving, but rather a "why did you even do this" mentality).