Code is craft now, not labor

You don’t need to knit a scarf. You can buy one at H&M for twelve euros. It’ll keep you warm. It’ll look fine. Nobody will know the difference.
Millions of people knit anyway. They obsess over yarn weight, needle gauge, stitch patterns. They spend forty hours making something they could have bought in five minutes. Not because the output demands it, but because the process itself is the point.
I think programming is heading there. For some of us, it’s already arrived.
Coding is largely solved
Let me be specific.
If you have a clear product vision, understand the architecture you want, and can articulate the constraints precisely, AI agents can produce the code. Not a rough draft. Production-ready, tested, deployable code. I’ve built entire products where my contribution was the thinking, the directing, the taste - and the agent handled the implementation.
I wrote about this in my piece on taste being everything when output is cheap. When producing something approaches zero cost, the bottleneck shifts to knowing what’s worth producing. What I’m saying now is more specific: the act of manually writing code, line by line, is becoming optional for getting software built.
That doesn’t mean coding is dead. This distinction matters more than most people realize.
Coding versus producing code
Coding and producing code are not the same thing. Producing code is about the output - functions, modules, shipped features. Coding is about the process - thinking in syntax, reasoning through logic, feeling a program take shape under your fingers.
When I say coding is becoming like knitting, I mean the process is decoupling from the output. You will still need to produce code. But writing it by hand is no longer the only path - or even the most efficient path - to production software.
All the skills that make a great developer? Still essential. Systems thinking. Architectural judgment. Debugging things you’ve never seen before. As I argued in my piece about AI making developers more valuable, these skills become more important because the execution layer is handled.
The thinking is the same. The interface is changing.
The knitting parallel runs deeper than you’d expect
Before industrial textile manufacturing, knitting was labor. Families knitted because they needed clothes. When machines took over, knitting didn’t disappear. It transformed from something you had to do into something you chose to do.
And the craft got better once it became optional.
Remove the pressure of production and people start experimenting. They develop techniques that prioritize beauty over efficiency. They create patterns that would never make economic sense in a factory but are stunning as handmade pieces. Communities form around the craft itself - sharing techniques, celebrating skill, pushing boundaries.
Programming is following the same arc. Imagine people writing Rust for the pure satisfaction of fighting the borrow checker and winning. Someone spending a weekend implementing a ray tracer in a language they’ll never use professionally. Handwritten code as genuine expression - intentional and personal in ways that AI-generated code never will be.
That community already exists. It’s about to get a lot bigger.
Where I am right now
I’m in the production phase. The productivity gains from AI tooling have been so dramatic that I’m shipping at a pace I’ve never experienced in twenty years. Real products, documentation, tools - all at a speed that would have required a small team two years ago.
Right now, I don’t write much code by hand. I produce. I direct. I architect. It’s exhilarating.
But I can already feel the pull. Once this pace settles, I know I’ll come back to writing code for fun. Not because I need to. Because there’s something about manually crafting a solution that no amount of AI prompting can replicate.
It’s the difference between asking someone to cook you dinner and cooking it yourself. The meal might taste the same. But the experience of making it - the timing, the small adjustments, the satisfaction of a dish that came together because you understood the ingredients - that’s irreplaceable.
It’s not all sunshine and rainbows
Knitting survived as a craft because the barrier to entry stayed low. Yarn is cheap. Anyone can learn basic stitches in an afternoon.
Programming as a craft might not have that luxury. If writing code becomes disconnected from production value, the surrounding ecosystem could contract. Fewer tutorials aimed at manual coding. Fewer entry points for people who would have discovered the joy of programming through necessity.
There’s also the question of whether craft coding becomes exclusive - a hobby for people who already have deep knowledge, while newcomers skip straight to AI-directed production. Some of the best developers I’ve known discovered their talent because they had to write code. Losing that on-ramp would be a real loss.
You can’t knit for pleasure if nobody ever taught you to hold the needles.
Concluding
Programming is not dying. It’s graduating. Moving from labor to craft. The developers who recognize this early - who learn to direct AI for production while preserving their love of the craft itself - will have the best of both worlds.
Ship software at the speed of thought during the day. Write unnecessary, satisfying code on the weekend.
The choice to code when you don’t have to is what turns it from a job into an art.
On this page
Related articles

Your LinkedIn reads like a robot wrote it
Two free skills can strip the AI tells out of your writing in seconds. Nobody uses them. So every feed is now a slop fest of em dashes, rule-of-three lists, and It's not just X, it's Y. Here is how to spot the patterns and stop shipping them.
- AI engineering
- Craft
- Product strategy

We moved the difficulty. We didn't make it disappear.
In 2013 I built the Need for Speed Rivals launch site from scratch in five weeks - custom router, custom state, custom tweening engine, 35 languages, no framework worth mentioning. I rebuilt it recently for my Vue.js Amsterdam 2026 talk. The contrast broke my brain in the best way, and it clarified something I've been trying to articulate about AI, abstraction, and what "craft" actually means now.
- Composable architecture
- AI engineering
- Frontend

When Output Is Cheap, Taste Is Everything
This article explores how AI has radically reduced the cost of producing things, creating an intoxicating sense of limitless output for ambitious people. But when building becomes almost frictionless, the real bottleneck shifts from implementation to judgment. The author argues that taste (the ability to choose what is worth building) and genuine rest become the true sources of leverage. AI is an exceptional how engine, but deciding what and why remains a deeply human responsibility. Without rest, our judgment degrades, and we risk building more but meaning less. The piece encourages pairing curiosity and experimentation with discipline, restraint, and strategic downtime.
- Composable architecture
- AI engineering
- Product strategy