Shadowfacts

The outer part of a shadow is called the penumbra.

On AI

I’ve been watching a lot of woodworking YouTube lately. The trope of software engineers taking up woodworking as a hobby is well-worn, and the consensus seems to be that its parallels to building software—combined with the physical tangibility—are attractive after spending so much time staring at a computer screen. But I don’t believe that explanation wholly captures the phenomenon.

I don’t think what you dislike about programming for a living is necessarily that you spend all day touching computers. I’ve seen burnout described as being a result of a disconnect between what you’re actually doing—day to day, hour to hour—and the aspect of your job that you feel is important and that you want to be doing. If you’re building a coffee table with your own two hands it’s harder to be disconnected from your work than if you’re spending all day developing a headache trying to explain why introducing a second, parallel onboarding flow for a small subset of users will only precipitate further headaches down the road.


I’ve also spent a lot of time thinking about “AI” lately. Not so much because I want to, but because its looming presence casts a pall over the entire field of programming. Certain segments of the industry are so bent on making fetch happen that thinking about it is simply inescapable.

Predictions about how AI will impact software development run the gamut from, at one extreme, “in five years, literally nobody will be writing code” to “LLMs will be treated as any other tool, like autocomplete” and, at the other extreme, “the software industry will have given up the pretense that AI-assisted software development provides any value.”

For my part, I land somewhere in the middle: while I have yet to have a truly positive experience with LLM-aided programming (admittedly, that’s mostly for a lack of trying—the reasons for which I’ll get to later), the technology does seem like it could produce useful results.

But, that said, I think we need to be clear that there are actually two separate axes here: how capital treats “AI” and what it actually is. I would like to live in a world where we don’t have to worry about the distinction. Unfortunately, this is not that world.

The way large language models are currently pitched is, fundamentally, a form of labor arbitrage. LLM tools are force multipliers. Everyone can be a 10× engineer with help from AI. A solo founder with can crank out an entire MVP in a weekend. You have a new superpower. Go at it alone. Pay no attention to the unfathomable extent of the uncompensated-for labor behind the single most comprehensive work that humankind has ever produced. Substitute mere access to capital for the sum total of human effort required to produce Everything.


To a first approximation, all of the furniture bought and sold these days is mass-produced. It doesn’t need to be particularly fancy or especially well-made. Being mass-produced and therefore widely available without being exorbitantly expensive is enough to succeed. I make no value judgement about that, it’s just the fact of the matter. Just as LLM maximalists want access to capital to displace knowledge work, access to capital (in the form of economies of scale) has killed the furniture trade.

Or has it? Like I said, I’ve been watching a lot of woodworking YouTube lately.

The artisinal furniture craft is still… alive. It would probably be an overstatement to say it still thrives. But it does live, on the efforts of people who pay more for furniture because they care about it, on the efforts of people who work slower and with more deliberation at the expense of greater profits. It lives, fundamentally, because of people who care about the craft.


I said that I haven’t really made an effort to use LLM-based tools. There are two kinds of programming I do—work and not-work—and that is the case for both.

For work, I am in the fortunate position to not be in the sort of environment where output is valued above all else. I can work in the way that, well, works for me. And the way that works for me does not involve such tools. That’s not to say that using those kinds of tools couldn’t also work for me. But, right now, it doesn’t need to, and I have no particular desire to find out whether it does. There are things to be said about tying your career to your passions, but, for better or for worse, that’s where I am. I don’t need to use LLM tools to get my work done, and I care about how I get my work done, so I don’t use them. For not-work, it’s even simpler. I enjoy programming, and I don’t want to use tools that take that away from me.

I’m sorry to be the sort of person who’s going to make everything about class. But it only takes the slightest bit of class consciousness to see what’s happening, and where the industry is headed. To feel the glee with which the petite bourgeoisie imagine firing 90% of their workforce. To hear the loathing for labor dripping from Sam Altman’s voice when he speaks of impending job losses. To see the zeal with which technology giants impose layoffs and simultaneously bloviate about how AI will massively increase worker productivity.


So, after all of that, here is where I land:

I believe that people will continue to have the skills that capital claims AI will subsume. That I will continue to have those skills. That both of those will continue to be the case even as the labor market for software engineers contracts. I have to believe—I have to hope—because there is no other option. To be a pessimist is to cede your agency. I will not. The world is what we make of it and the world I want to make is one in which human labor is not entirely displaced by capital.

Even beyond that, I know that I care about building software and about making it good and about sweating the details. If there is no one left in the world programming for the sake of programming, it will be because I am dead. I will continue to care about the craft. Capital cannot take that away from me.


Comments

Reply to this post via the Fediverse.