There's certain stories we tell ourselves about how systems are supposed work that aren't quite true in practice. The legal system pretends that people read the Terms and Conditions and form a meaningful meeting of the minds such that it is a Contract. The justice system pretends that you get a jury trial (in practice, over 90% of the time, they get a plea bargain, and a trial is risky). And the economic system pretends that, when a company employs workers to do various things (like make the company money) the agents will act with the company's interests in mind.

The difference between fiction and reality in that last case is what economics call the Principal-Agent problem. The owners of the company, whoever they are, would like to make about as much money as is reasonably possible, with some sense of urgency (a discount rate is applied to future earnings, per Risk and the Time Value of Money, and as it turns out this compounds rather quickly, particularly given the risk of an investment in any one specific individual firm). The corporate executive wants to meet the stock price targets, the middle manager wants his business unit to meet some metric he's being evaluated on, and the line employee wants to meet some goal herself, and all to get a promotion and a raise, or maybe get some shiny new skill on the CV for the next job, or even just have fun and not work that hard. If they happen to do something to make the firm money along the way, so be it.

The result of this in practice is that the firm should think very carefully about what it is going to incentivize, because it's likely to get that something good and hard. But not all incentives are something the firm puts forth knowingly and there are sources of friction in the business-machine.

For instance, one incentive the employee has is to get ahead long term by learning new technology, which isn't necessarily always the best thing for the business. This is behind a fair amount of superficial inefficiency at tech firms, but it's worth thinking about the alternative. There are still a few jobs out there which have totally thrown that prospect to the wind, and you can find them operating on the likes of COBOL, or Perl, or MUMPS (aka M). The employees that work on things there know it is in many ways a dead end position. This rather affects their hiring practices, the people who will work for them, the skills they can bring to bear, the rates they must pay.

Another thing a line worker might want to do is to make the job less miserable, maybe even to have an enjoyable time, and be proud of the work. In many cases, an tech employee will put forth a little extra effort just to know that he is not going to be miserable later when editing the code again, or when on-call, or the like. And in business, this is often at odds with short-term delivery, but this is actually fairly well-correlated with the future maintainability and usability of any particular project.

The tech business has long suffered from doing a poor job in investing in future capabilities. Nobody Ever Gets Credit for Fixing Problems that Never Happened, and instead of investing in capabilities for the long term, it favors shortcuts (delivering today at the expense of tomorrow's problems) and working harder instead of working smarter.

Image: Figure 5, the Shortcuts Balancing Loop, which favors taking shortcuts over investment in capability, as capability gradually erodes.

And I think that lot of what is propping things up in tech has long been that passionate developers are sick and tired of dealing with bad code, and write good code out of their own self-interest, ignoring the business's incentives and stated goals. In an ironic way, the business's future rests on those who are most defiant.

a world without line-worker-induced friction

Whatever balance this has supplied, AI has just destroyed it.Agents give developers who don't care so much the opportunity to please the business in the short term, and rapidly increase their velocity in the short term. These rational actors are rewarded for coding like maniacs and burning the future, while the more forward-looking are sidelined.

Maybe sometimes this makes sense. Maybe in the future capabilities are something that you can buy from Anthropic in the future; maybe it'll be cheaper to have Claude manage a gradual rewrite to Actual Standards under the principles that the serious engineers were advocating all along. Maybe you can win enough market share in the short term that it pays off in the long term to fix your stuff.

But it seems to me a risky way to run a business, because maybe not.

Maybe the transition is longer than you thought, and in the meantime, your software quality has turned to mush and you've run off all the people who actually cared about doing better. That kind of cultural shift is a heavy price to pay! If that's the case, your firm has incentivized slapdash work, and deserves to get it good and hard. It's incentivized lighting the brand equity on fire, and making the firm synonymous with mediocrity. It's committed itself to winning a race to the bottom, using only the same tools that everyone else is able to buy, and an increasingly uncreative talent pool to operate them.