I failed a speed-coding challenge

This is inherently tough to estimate. People do collect statistics on how long job listings last or how often they go unfilled, but even the most complete data cannot imply the intent to not hire. Companies don’t announce their intent either, so we must mostly guess from trends and reputation. However, there have been surveys where groups admit to it at significant rates:

The numbers are all over the place, so there’s probably some regional or sector dependence on top of surveys being very removed from rigorous estimates. But I personally look toward the higher numbers because people tend to hide bad behavior instead of pretending to do it.

These are very small sample, cross-sectional surveys, they measure perceptions, not outcomes.

Labor statistics agencies, such as the BLS in the US, run much better ones, which not only ask about vacancies, but actually follow labor movements in a panel structure. A stylized fact is that while short-term fluctuations in aggregate vacancies correlate with short-term changes in aggregate hiring rates, vacancies are much worse predictors if you disaggregate, especially at the firm level (they also have problems with low-frequency movements).

The opposite phenomenon is also present: companies hire people without claiming to have open vacancies.

Intent and perceptions are hard to measure, much harder than actual labor market flows.

I did not know that this rule of thumb (“Never attribute to malice that which is adequately explained by stupidity”) has a name. Cool. I would perhaps modify the wording of the rule a bit by replacing stupidity by imperfectness… Of course, it is fine to complain about imperfect services/products/treatments and request their better versions. But still, the world will be a better place if we all do it by not automatically assuming malice or hostility on the other side.