Most HR data is bad data (2015)
hbr.org
hbr.org
This can't work without individual ownership, which is antithetical to "best practices" at many places.
What if there's a developer on the team who delivers 1/3rd the features as everyone else, but they offer such effective mentorship that their five teammates deliver features 2x faster? If you design your review process around objectively verifiable data, then it's almost certain to undervalue a developer who's great at mentorship because mentorship is hard to measure.
And it's not just mentorship. There are tons of contributions that seem pretty obviously beneficial but aren't objectively measurable: recognizing simpler ways of achieving business objectives, communicating clearly and effectively, being pleasant to be around, etc.
But if you go the other way and leave it up to pure human judgement, then you end up with promotion being based on favoritism, office politics, and irrational biases.
And my personal favorite: luck of the draw.
On the other side, most well-liked people I met were professionally superficial at best, masters of talking and networking, but not delivering much at the end of the day. They were promoted first, so that the entire organization was full of these people promoting similar ones.
That said, it isn’t _required_ for you to be a jerk; I’ve also worked with incredibly talented people who were generally kind. But they did not go out of their way to network and schmooze. IME, people who are concerned with what others think of them are the least accomplished.
I’ve seen this happen again and again. Nice people become jerks when they become good at tech.
It doesn’t always happen. Plenty of compassionate tech wizards.
I suspect it’s due to the fact that being a jerk gets reactions quicker. “You messed this up, fix it like I tell you or I’ll ruin your reputation” gets more effect than “Let me show you how this works.”
I also suspect that programmers are often so lost in their heads, they don’t take good advice when it’s given.
I’ve been guilty of this. I’ve decided a problem is from X part of the stack, that when an expert in Y says to look in Y I’m like “but that doesn’t effect X!”
- they try their best, they need help, they ask for help, they get it
- they don't put any effort, they go to the expert with the most idiotic questions waiting for solutions to be served. The expert runs out of patience, becomes grumpy with these people
So the experts are not jerks. They are short on patience with super-lazy, super-incompetent people that waste their time.
I haven't really encountered this. Generally speaking people who can teach others to be much more productive like that are unsurprisingly themselves, more productive.
This fictional person would be better suited to a people management or coaching role as a individual contractor they only achieve a third of the average.
Now with the major objection to objective performance review gone we can do that for the actual individual contributors.
If the people near the top of those leader boards are near the top of the comp leaderboard your job is done as that makes sense by the numbers, if not you need a really good justification as to why* if you want to keep those literal top performers for long.
*or crossed fingers nobody discusses comp before you exit
> Lines of code (not just in main but in branches)
IMO, the best devs can end up with negative LOCs per measurement period. Neophytes will never have negative LOCs. Mediocre devs who copy and paste a lot can have really high LOCs.
> lines of documentation written
And the more documentation you have the more out of sync it is with reality.
You can come up with superficial ones: lines of code written, tickets closed, hours seen in office, but I doubt those are strongly associated with effectiveness. Everyone in has probably had weeks where they “did nothing” because they were working on a tricky problem or doing work outside of what was quantified.
Did they ship the features they were responsible for? Did those features turn out well, with a low defect rate? Did they promptly address bugs? Any manager paying attention can answer these questions pretty objectively.
You say this and then go on to do the exact opposite in
> Did those features turn out well, with a low defect rate?
And likely in this
> Did they ship the features they were responsible for?
So which is it?
Is the objective measure of “well” a low defect rate? Because it sounds like you’re leaving a substantial amount of the value of an experienced employee on the table if your measure is “does it do exactly what we asked for it to do” rather than “does it solve our problems”.
Here we're saying "okay, our case is n=1 samples, no control, we're going to need to lean on our gestalt experience and knowledge based on the virtues of this company saying we're good at managing and/or our HR credentials" (this type of thinking also exists in medicine and is equally unsettling - usually wielded by people with experience AND power so it's difficult to disrupt due to the latter)
The lack of control means you can't compare Peter to Paul because maybe Peter likes to stick his neck out and/or take one for the team as a show of teamwork and humility, maybe Paul is cautious and wants to maximize revenue from this position and loves to play politics. Peter is willing to go the extra mile for the company, but Paul will be the one with the perfect record. Now, if there were decent controls for either, they would show Peter is outperforming a control given challenging tasks, and Paul is underperforming by minimizing work done.
My proposal is that we allow managers and reports to shift around much more fluidly to find a good “fit”. How to implement that? No idea.
At startups with <50 people, there may not be a runway for all that. I've been summarily let go after 1-2 months at a startup for lack of culture fit, and it made sense to me -- they simply didn't have the resources available to mentor me and help me get my head in the right place.
Perhaps there's an approach where we tell an employee to rate everyone, and then use those values only as a self-assessment of the employee.
My own experience has been that performance reviews really just end up being alignment reviews, which is it's own sort of useful. I think this is possibly the most accurate signal one can expect out of these processes.
* success of the company,
* success/happiness of the team, and
* societally beneficial service
(I assume this works best if your company also genuinely has those values. But if it does, no sense using the disproven methodology of sociopathic companies.)
People have an inherent need to be useful to matter. Mr cupcake decided to matter by making friends with food but if his performance was objectively that bad it should be fairly easy to set performance goals of some kind and term him when he doesn't meet them.
This seems to be how a lot of functional places work best. Motivated people working together with relatively soft guidelines that turn into hard limits to get rid of dead weight.
There are many ways engineers can create a dysfunctional culture, but this one is for management only.
Success and happiness of the team, like cooperating to help other people's work go well, not being seen as a slacker or incompetent, etc.
Societally beneficial, like doing things that are obviously good for society (e.g., improving health) and not doing things that are bad (e.g., investment scams, surveillance capitalism).
More to the point, objectivity may not actually matter much because so much of how a team performs is down to how individuals within the team gel, and you can't train someone into having a personality and work style that gels if they don't. Your coworkers can learn to handle criticism but they can't learn to be brash and assertive if it's genuinely not in their personality.
I like working for my manager, and think he is a very rational and no BS kind of person. However, I have butted heads with the upper management above him at times for what I believe are good and legitimate reasons.
During my last performance review, I had to fill out all the typical questions and surveys that us grunts are forced to answer. While reading/answering some of the questions, I just get this sinking feeling that it's all just a dog and pony show. So, in a moment of distraction while filling out all the questions, I decided to go talk to my manager directly.
I simply asked him to his face, "Is there any answer I can supply to these questions that will change the opinions of upper management about me?"
All my manager said back was a simple, "Nope!"
Most of that team left the org within the next 24 months, and none of the teams they joined got better. Some got worse.
Applying the “promote your best IC to be a manager” mindset applies to teams as well, and it’s a damn shame, because in both cases it usually results in the opposite of what anybody desires.
I think it makes sense to spend some money on this kind of charlatan "rigor" from a legal CYA perspective. But I think the amount of energy and time and resources spent on it far exceeds what is reasonable for CYA, and that money would only be spent the way it is if either/and/or 1) the people making the decisions to do all this extra analysis benefit from it personally in some way, or 2) the people making the decisions truly believe that the data/analysis will yield productive results, or 3) that the people making the decision believe that this much charlatan-rigor is actually necessary for legal "CYA" purposes. I just feel that #2 and #3 reflect such a broad lack of understanding that I'm surprised there are no major corporate leaders bucking the trend.
For hiring, specifically, I believe it's proven in mathematical theory that the best thing you can do is to have a two-stage hiring process:
1) only eliminate/select candidates based on provably strong signals. This will result in a massively large pool of candidates who "pass" the screening for each position.
2) use a random number generator to pick someone from that pool.
A lot of people would propose using the algorithm from the secretary problem[0], but that algorithm assumes that you can "grade" on a candidate's quality on a continuous scale. I don't believe we have the ability to judge a candidate that is "60% likely to be amazing" vs. "80% likely to be amazing", so that algorithm won't work.
We can, however, measure in a binary way whether we were happy or unhappy with a hiring decision, and determine which pre-hiring signals had any actual strong correlation to being happy with the hiring decision. Filter candidates based on that, then pick a candidate at random. Any additional filtering will result in systemically picking worse candidates at scale.
Metrics are a technical solution, and as organizations are social constructs HR is making the classic software engineer mistake and trying to solve a social problem(how do we identify high performers) with a technical solution(generate numbers and use those to identify high performers). The reality is that team performance doesn't yield to analytic techniques because it's so markedly a result of all of the people together and not specific individuals that it's not even funny.
HR defends the company against legal attacks from outsiders and employees alike.
Not all people working in HR have this as a prime motivation, but that's why HR exists.