Consider the chairmaker
Now it is a good and desirable thing, truly, to make many pins in a day; but if we could only see with what crystal sand their points were polished,—sand of human soul, much to be magnified before it can be discerned for what it is,—we should think there might be some loss in it also. John Ruskin, Stones of Venice, Vol. 2, 1892
I worked with a team that used an accounting trick: they quantified the outputs of different offices. Engineers at the Chicago office, for example, might produce 30% of the value of engineers at the Mountain View office. This was not because Chicago engineers were worse (actually, every engineer who relocated from Chicago to Mountain View produced at the 100% Mountain View rate) but was likely due instead to communication gaps, time zones, and cultural differences.
I first thought this metric would be used for staffing — to get a feature at 90% Mountain View quality, allocate 3× the staff in Chicago — but that’s nonsensical. The Mythical Man-Month is well-known in tech circles and was well-known on the team. 9 women cannot have a baby in 1 month.
Instead, this metric seemed to be used for feature allocation. The Mountain View office would shunt to the Chicago office features that only needed a 30% chance of succeeding, or that only needed to be of 30% quality. Edge-cases, tiny compliance features & fixes, small refactors. Features that didn’t matter, or would be “nice to have” if they succeeded.
Not all code needed to be good.
Machines can code
We are faced with machines that write code at some percentage of human quality. Some argue that these machines write code that is barely 10% of a human, while others argue that these machines write code 90% or even 100% as well as a human. But it is immaterial: today, I can pay $10/month to rent a machine that codes some percent as well as me.
We are faced, then, with the world we desired. A world where anyone can code. I remember when Obama asked students to learn to code; I remember something like 10% of WashU students taking intro CS classes each year while I was there. I remember friends bravely trying to learn programming, desperate to stay relevant.
Now anyone can rent a machine that programs for them. That may be able to handle the work of the Chicago office. We programmers are faced with how to respond. But this has all happened before.
Consider the chairmaker
Consider the chairmaker.
It is the year 1851; we are well into the Industrial Revolution. Watt’s steam engine is nearly 100 years old, as are the commercial looms that supply your factory with sumptuous, uniform fabric — fabric with details that beggar description. Fabric with warp & weft closer and tighter than human hands could ever weave. Lumber — rich, bountiful, and exotic — brought by rail from faraway lands. And the thread! Oh! So strong, in dazzling colors, with no weak points. Leagues better than the uneven hand-spun stuff your grandfather used.
What do you do with that? You make chairs:

Chairs from the Crystal Palace Exhibition, 1851 (via Matthew Bird)
You make chairs, as you always have. One by one, artisanal. Each one unique, decorated with crows & lions & flowers as you fancy. With better materials, sure, but each still as bespoke as your grandfather’s. Matthew Bird, in his RISD lectures, quotes British architect Owen Jones, who described visiting the Crystal Palace Exhibition in 1851:
[In] the works contributed by the various nations of Europe there was everywhere to be observed an entire absence of any common principle in the application of Art to manufactures,—[…] from one end to the other of the vast structure there could be found but a fruitless struggle after novelty, irrespective of fitness, that all design was based upon a system of copying and misapplying the received forms of beauty of every bygone style of Art, without one single attempt to produce an Art in harmony with our present wants and means of production[…]
At this Exhibition, also, is an early version of this chair:

Thonet No. 14 chair, 1857 (via Wikipedia)
This is the Thonet No. 14 chair. The world’s first mass-produced piece of furniture. Still manufactured today, and so famous it has its own Wikipedia article. It is emblematic of the Industrial Revolution: manufactured at Industrial scale — and only possible because of new steam-bending machines and standardized parts.
You are a chairmaker.
After all your arguments about types of wood, of joints, of the artful carving of lions, of upholstery (of tabs vs. spaces, of vim vs emacs, of dynamic vs static typing…)—this chair is worse. It has no fabric, no cushion. It is plain and undecorated. This is a 30% chair — barely a chair, let alone a piece of art or design!
And the public said, “we don’t care.” The No. 14 cost $60 (in 2026 money), allegedly cheaper than a bottle of wine. The original Thonet won a gold medal in 1851, as did the No. 14 at the 1867 Paris Expo. What did all your arguing of wood and joinery matter? Thonet just bent wood into standard shapes.
And those shapes fit neatly into a crate.

Thirty-six No. 14 chairs in a shipping crate (via Minnie Muse)
The Arts & Crafts movement and Art Nouveau
You and the other chairmakers responded. I know of 2 major reactionary movements to the Industrial Revolution:
- The Arts and Crafts movement
- Art Nouveau
The Arts and Craft movement sought to rehumanize labor. Inspired by writers like John Rushkin (whose quote opens this essay), its leaders worked to elevate artisanal labor and celebrate the artisan, who drafted and executed their work from end-to-end. Furthermore, they aspired to make beautiful art & design accessible to everyone, regardless of wealth. You may be familiar with William Morris, a co-founder of Morris & Co., whose patterns are still popular today:

Strawberry Thief, William Morris (via Wikipedia)
Unfortunately, the movement was plagued by several ironies:
First, the philosophies of the movement conflicted. The movement’s artisanal processes (like hand-stamped wallpaper at Morris & Co.) could not produce at mass-market scale, and so Arts and Crafts products were often expensive and inaccessible.
Second, although the movement was largely philosophical, its design aesthetic benefited the mass-producers they abhorred. The Arts and Crafts movement focused on material integrity — wood should look like wood, and structural features should inform the design, rather than be hidden. This was a boon to any non-artisanal production firm: I don’t need to hide hinges? Cheaper for me!
And third, the artisanal processes Morris espoused don’t seem particularly more virtuous than their alternatives. Morris & his staff may have designed beautiful wallpapers, but eventually they must produce those wallpapers in a monotonous way. To a 2026 eye, his factory of men inking & stamping wood blocks does not seem particularly more fulfilling than the industrial Thonet factories that Morris seemed to deplore.
My point is not to disparage this movement, which earnestly attempted to help both craftspeople and consumers, but rather to detail the ways that the Arts & Crafts movement failed to achieve its goals.
And also to contrast it with Art Nouveau.

Le Chat Noir poster (via Wikipedia)
Art Nouveau was much more effective than the Arts and Crafts movement at bringing design to the masses. It did not resolve the tension between fulfilled artisan and efficient laborer (arguably we still haven’t), but it did prove that mass-produced goods could be artful.
Just as the Arts and Crafts movement valued material integrity, so did Art Nouveau. But Art Nouveau embraced new manufacturing techniques that made production faster, cheaper, and easier. Electroplating, acidic-paste etching, 4-color printing — new engineering let us make beautiful things whose beauty arose from how the material worked rather than how it was ornamented by hand.

Matthew Bird showcases Christopher Dresser’s electroplated, astoundingly-unornamented kettles (via Matthew Bird)
Matthew Bird again (whose work underpins this whole history) dedicates a whole video to Christopher Dresser, one of the first industrial designers and an influence on the (British) Art Nouveau movement:
The Arts and Crafts movement is necessary to learn about and learn from, and such a big part of what we still need to be sorting out about the relationship between design and making things using industry. But if we agree that the machine is here to stay and enables design, we have to refocus our conversation on how to learn to use it well, and how we began to learn to use it well.
[…]
In 1899, The Studio, a magazine in London, described Christopher Dresser as “the most meaningful industrial designer, who turned his imagination and gift of discovery to the daily production of British industry[…] The powerful efforts of Mr. Dresser to raise the national design standard — to which end, he did not create costly individual objects, but instead turned to objects for the middle class, indeed objects which would benefit the general public, and which deserve every recognition.”
So it’s not just that he designed beautiful things — lots of people have done that — he was intentionally trying to design more affordable beautiful things. Instead of leaving the divide between expensive things that get design and inexpensive things that don’t, he was trying to cross-wire those two existing realities.
Art Nouveau was to its core a commercial endeavor. The name itself was made popular by an art dealer with his gallery. But it was successful. The entrances to the Paris subway are quintessential Art Nouveau:

A Paris subway entrance (via Wikipedia)
Industrial materials, standardized & interchangeable parts, accessible to all. Industrial, but still beautiful.
Other paths
Of course, we are not chairmakers. We are software engineers, and we can pave our own path. We could, for example, choose to reject industrialized software. We could simply stop. The Arts & Crafts movement (and the Luddites, etc.) failed to halt industrial design, but history has examples that fared better.
Guns, Germs, and Steel notes that China variously abandoned mechanical clocks, a 14th-century industrial revolution, and trans-oceanic fleets. In the early 15th century, China sent fleets with “total crews of up to 28,000” as far as East Africa — and then stopped. They dismantled their fleets, so it was “Vasco da Gama’s own three puny ships” that rounded the Cape of Good Hope and not Chinese ones.
And more recently, we’ve managed to dismantle some of our nukes.
I offer no perspective on whether AI will consume us all. If so, then this is all moot; we should destroy the data centers and stock up on canned beans. But if AI is just another technology, then it is a good thing. AI that produces 30% software is as transformational and aspirational as the Industrial Revolution that yielded the 30% chair. It is the motif of the OpenAI Super Bowl ad: “you can just build things.”
If so, it is not something to dismantle.

What does it mean when anyone can just build? (via OpenAI)
Unlike chairs, software was always free to copy, but now software is also almost free to make. We are the artisans, faced with mass production, faced with our No. 14 chair. Instead of rejecting that, can we channel the philosophy of Art Nouveau — to decide what is beautiful in an age where software is no longer artisanal? To learn to use this technology well?
Not all code needs to be good
I’m starting to think of this as "not all code needs to be good," which I mean in two ways.
First, the literal meaning. Not all code needs to be good. Not all products need to be fantastic. I would love, say, the Delta website to be smart & fast & responsive (and, indeed, I do prefer some competitors for their responsive websites), but ultimately I book flights with Delta because they are more reliable than Spirit and offer me a Coke. If their app were magical, how much better would the world be? I’d save a few utils, but labor is zero-sum. I fancy that their talent would be better invested elsewhere.
I am an aesthete; of course I want the world to be delightful and beautiful and free of little indignities. But, as I learned working with the Chicago office, some things only need to be 30% “good.” That is sufficient both economically and allocationally.
Likewise, the artisanal meaning. Not all code needs to be good. If we shift our definition of “good” from “is pleasant & useful” to the more typical programmer Holy War of “Good Code”, it strikes me that industrial coding will only make our industry better: it will sacrifice some artisanal values (tabs vs spaces, unit tests vs integration tests, Clean Code, etc.) for things users actually value (reliability, speed, rapid bugfixes).
To answer the question, then, we have 2 corollaries:
- Not all code needs to be good, but some code does. We need to build the interchangeable parts, the screws, the Lego for this new era.
- Not all code needs to be good, but producing bad code can still be meaningful. We must stop deriving vocational value from what machines are bad at.
An efficient market sacrifices any values that are not legible or not important to consumers. So let’s make the important things legible; and recognize that perhaps our expensive, heavy, crow-legged chairs may not be more valuable to anyone.
Not all code needs to be good, but some code does
So, our first point: if not all code needs to be good, some code does.
From my 2026 perch, it seems that industrialized programming is struggling. We have not had our No. 14 moment, and the value of industrial programming is still in the hands of artisans like me. Claude Code and Cursor and Copilot CLI make it so easy for me to produce good things — I write substantially less code than I did 6 months ago—but I only notice vibe-coded apps when they fail catastrophically & loudly (cue link to The Diagram, but whatever). A well-known example:

Vibe-coder gets hacked, more at 11 (via nmn.gl)
There is much to be said that vibe-coders must understand the medium—after all, Thonet must have understood wood to create his chair. But these apps all fail for predictable reasons: poor password management, bad database management, exposed S3 buckets, leaked API keys.
These are same reasons my friends’ apps failed in college!
The mantra “don’t roll your own” (for security) worked out ok in the world of artisanal programming, where you’d hire expensive security experts anyway, but why is this still a problem in <Current Year>? OWASP has been tracking security issues for decades. These are hard problems — but we’ve solved hard problems before, like dependency management in Python, like fast inverse square root, like scheduling (which is often NP-complete, some of the hardest problems in computing!). We should attempt to solve these hard problems, too.
Maybe vibe-coders are a poor example. So many of them seem like LinkedIn lunatics who want to speed-run enshittification. But mocking these grifters for poor security hygiene seems like such a cop-out, missing the point that their goal is to grift you. And what of the non-grifters? My uncle has been using Claude Code to build tools for himself. I’d like him to do so safely.
It’s likely that the market will still support some amount of artisanal software, in the same way it supports handmade chairs and handmade boots and more handmade boots and handmade video games. But I want the world to support industrial software. Password management (and all those other issues) are hard problems — hard problems that need good code, that need good frameworks. Frameworks that vibe-coders can slap into their slop like a two-by-four into whatever your weird uncle builds in his shed.
My point is, and I mean this with all sincerity: the world is better when we make it easier to share beautiful things.
Let us ensure those things will not steal your credit card number.
Not all code needs to be good, but bad code can still be meaningful
Likewise, our second point: not all code needs to be good, but bad code can still be meaningful.
We must stop defining vocational value (in the religious sense — our purpose) in terms of what we can do better than the machines. This “vocation of the gaps” theory worked well when the engines decimated manual labor, but the current trajectory of AI suggests that machines may outperform all humans at all intelligent work in short order. Whether you believe that or not, the most durable lead humans have on machines is at picking small things out of bins. Is that the truest vocation?
Being worse at something than someone should not eradicate your joy in doing it.
This is no new point — Scott Alexander wrote about this in 2015. But no home carpenter thinks they’re the best carpenter (although they may think their cutting boards are world-class). No professional artist thinks they’re the best artist. And I know small-scale farmers who still enjoy scything their fields or raising a few cows, despite there being more efficient ways to do those things.
Perhaps it feels different when machines, not humans, beat you. But again: computers have been better than humans at chess for 30 years. Computers are already better than many humans at programming and art. We can choose to find those tasks meaningful anyway, or we can decide they are not meaningful. Doesn’t change reality.
In the sci-fi book Player of Games (Ian M. Banks), the main character asks the same of a woman building a ship:
“Can’t machines build these faster?” he asked the woman, looking around the starship shell.
“Why, of course!” she laughed.
“Then why do you do it?”
“It’s fun. You see one of these big mothers sail out those doors for the first time, heading for deep space, three hundred people on board, everything working, the Mind quite happy, and you think, I helped build that. The fact a machine could have done it faster doesn’t alter the fact that it was you who actually did it.”
“Hmm,” he said.
“Well, you may ‘hmm’ as you wish,” the woman said, approaching a translucent hologram of the half-completed ship, where a few other construction workers were standing, pointing inside the model and talking. “But have you ever been gliding or swum underwater?”
“Yes,” he agreed.
The woman shrugged. “Yet birds fly better than we do, and fish swim better. Do we stop gliding or swimming because of this?”
He smiled. “I suppose not.”
“You suppose correctly,” the woman said. “And why?” She looked at him, grinning. “Because it’s fun.”
Economic uncertainty
However, “fun” is not enough.
The characters in Banks’ novel live in a post-scarcity universe; they do not need to work. We still do. And so, while I still disagree with those who argue that AI devalues human labor aesthetically, I am concerned about how AI devalues human labor economically. But that failure is not in AI existing; it is in our economic system not supporting the vocations that we as a species believe to be valuable — of the commercial artist, animator, technical writer, maybe now the junior programmer.
If the invisible hand does not value this work, we must decide if we want to change ourselves or the invisible hand.
My fiancée, Atherai Maran, noted how some artistic trades, like pastel makers, are losing knowledge. The market seems no longer to support as many small, expensive pastel makers as before, back when fine art was a common commercial endeavor & the only way to depict or remember your family. Niche pastels or oils or acrylics perhaps provided (or seemed to provide) an unquantifiable edge for the commercial artist, just like color did. As commercial pastel artists evaporate, so do those complementary industries.
This loss is inevitable with any change in markets and taste — and it is sad.
Think of the ghost towns where the mines dried up; think of the decline of Hartford as industry moved away. Consider the chairmaker, their lost techniques preserved to some extent by hobbiests and by the remaining carpenters who build for the wealthy. Preserved, but not the same. Never the same. As I have lamented before, TikTok will always be temporary.
An economic system that does not value software engineers at $200,000/year right out of college will not produce the same optimistic, ebullient, zero-interest-rate culture we had in 2017 (I remember the joy of Hackathon Hackers on Facebook). An economic system that does not pay artists will not produce commercial artists at all.
It is fair and well and good to mourn the disenfranchisement of artists and the decline of hacker culture. We are faced with a future where artisanal coding is dead, or relegated to a few expensive, big projects. Where our friends cannot find jobs, and we become the few chairmakers for the rich.
It is a future we still need to reckon with.
Conclusion
But consider this:
- The average chair today is less well-crafted than the average chair of 1750.
- We have forgotten many of the old arts of chair-making from 1750.
- There are many, many, many more chairs today than 1750.
Perhaps the average chair is worse by many metrics; more rickety or more flimsy or uglier or something else. But it is still possible — simple even — to find good ones, cheaply.
The quintessential IKEA chair, the Poäng, costs less than it did in 1990. As does a lot of their furniture. Obviously we’ve sacrificed some values to get here; IKEA’s furniture is increasingly just cardboard and veneer. But this world still supports good things. This world supports the elegance of the Poäng and the No. 14, even as it supports the accessibility of the two-by-four and the affordability of plywood.

1991 IKEA ad featuring the Poäng (front right) and some distinctly Thonet-inspired chairs (via IKEA)
Echoing Rushkin, it is a good thing, truly, to make coding easier. It is a good thing to make coding accessible to all. My friend, Richard Bayerle, wrote this to me after reading an early draft of this work:
And finally, I still don’t see that software ate the world. I think it would be great if it did, because many, many processes I see are still manual and annoying, and I want people to not be bored and annoyed. […] I think and hope that my task in the future will be providing a lot of good software, because the coding part comes for free and I can pay more attention to the other parts.
We do not know where AI will take us; AI may consume us all. If so, then my points are moot. But it is already transforming the world. Rushkin and the Arts & Crafts movement and Art Nouveau couldn’t stop the decline of the artisan. Many trades no longer exist. Many products are 30% versions of what the artisans used to craft.
But those movements also yielded beauty. Suprising, wonderful, enduring, and accessible beauty.
We are the chairmakers on the eve of the Crystal Palace. What is our No. 14? What is our Art Nouveau? Can we preserve the dignity of our labor? Or are we relegated to, as Rushkin writes, ignominious work making pins on an assembly line?
How can we bring taste into a world of programming no longer dominated by artisans?
Thanks to Atherai Maran, Morgan Redding, Judy Stolovitz, and Rishil Mehta for consulting. Thanks to Richard Bayerle, Atherai Maran, and Judy Stolovitz for editing. Thanks to Matthew Bird for his series on the History of Industrial Design; all errors are my own. Apologies to Uncle Gadi. ChatGPT and Claude assisted with the research for this essay.
Want more articles like this?
No spam. Just an email for new posts.Appendix: tweet transcript
@leojr94_: guys, i’m under attack
ever since I started to share how I built my SaaS using Cursor
random thing are happening, maxed out usage on api keys, people bypassing the subscription, creating random shit on db
as you know, I’m not technical so this is taking me longer that usual tofigure out
for now, I will stop sharing what I do publicly on X
there are just some weird ppl out there