Ghost Engineers: The Latest Bullshit Moral Panic

Hot off the presses the week while the US celebrated Thanksgiving, we’ve got a new report that a Stanford researcher has found that as much as 10% of software engineers may be “ghost engineers” who are allegedly around 10% as productive as the median engineer. In other words, this researcher claims to have discovered the corollary to the mythical “10x engineer”.

And executives love to eat this shit up. They love this kind of boogeyman that is leeching company value and they love having something that looks like hard data backing this up, because executives love to come off as being data driven (except, you know, when they’re not).

It doesn’t take much digging to realize the researcher here has produced a more convoluted version of how dumbass managers in the 80s tried measuring developer productivity by lines of code written. The methodology in this research involved taking Git repositories and analyzing the code written to see how many changes developers were making, and it attempted to compensate for things like small changes that were of some complexity (it’s unclear whether AI-based tools actually can do that, but whatever). Even if you assume it’s perfect at this, the entire methodology hinges on the assumption that the only thing of value that developers can do is write and change code.

And get this: there are other important ways engineers contribute to a company’s success that aren’t writing code! 🤯

Some engineers benefit their team by being catalysts. They may not specifically be prolific by writing a bunch of code themselves, but instead they produce ripple effects throughout their team. They’re writing up documents and starting discussions about important big swings. They’re mentoring more junior members of their team. They’re reviewing pull requests and providing feedback. They have these serendipitous conversations with people, making connections between different teams and kicking off really useful relationships.

They may accomplish a week’s worth of work in a one-hour pairing session by getting a colleague on the right track or unblocked from a vexing issue.

And if you’re sitting there like a dipshit counting their pull requests and noticing that the number is smaller than the number of other engineers’ pull requests and thinking that counts as meaningful analysis, you might miss that.

If you want to build a team worth a shit, you fill it with people with different strengths. That engineer that’s always cranking out pull requests is awesome, but if you look more closely you’ll see that engineer looks productive because they set aside tasks that look too deep or complex.

But that’s not a problem if you have another engineer who doesn’t crank out nearly as many pull requests, but instead finds those issues that got passed around by half a dozen other engineers on the team over the past two months and then do a deep dive into it, spending weeks to eventually solve a complex problem that is deeply impactful to have solved.

Your engineering team should have a big enough variety of engineers that the ones producing the most code produce a large factor more code than the ones who produce the least, and you should have variance like that among all the other kinds of characteristics you can imagine. But the one area where these engineers should all be uniform is that they should be great human beings, and they should understand and appreciate that their teammates all contribute in different ways.

I would love to say that leaders who are actually buying this “ghost engineer” nonsense will fuck around and find out by firing these so-called ghost engineers because they’ll quickly find out the quiet ways those ghost engineers were actually contributing. But sadly, shit’s hard to quantify. What’ll more likely happen is that there will be a drop in morale and things will just feel shittier, but it’ll be hard to see that in a metric.

I’ve seen a lot of shitty decisions get made in tech companies in my career, never to actually cause real consequences for those decision-makers precisely because it is very elusive to take the work of real humans and turn it into pure numbers. Even jobs that seem super quantitative are almost always more than that. A salesperson might have great sales but be a net drain on the company because they’re pushing customers who aren’t right for the company’s product, eroding the company’s reputation. Another salesperson might have very low sales but they’re taking extra time being attentive to customers’ needs.

There are two lessons here:

  • It’s dehumanizing to try to quantify human beings.
  • It’s really easy for upper management to hear a narrative like “10% of our engineers are just skating by doing nothing” because once you’re that high up the org chart, your material contributions to the company actually are a fraction of your median engineer’s.

Leave a Reply

Your email address will not be published. Required fields are marked *