The Widening Door
There is an old zen story about a master who pours tea for a visiting scholar. The scholar has come to learn about zen, but he cannot stop talking about what he already knows. The master keeps pouring. The cup fills. The tea spills over the rim, across the table, onto the floor. The scholar sputters. "The cup is full, why do you keep pouring?" The master smiles. "You are like this cup. How can I show you anything until you first empty what you already hold?"
I have been thinking about cups a lot lately.
I grew up in the kind of chaos that does not afford you the luxury of a full cup. There was no stable ground beneath me, no institution laying out a clean path from here to there. I learned to read the current because nobody was going to build me a bridge. Computers found me the way water finds a crack in stone. Something in the way they worked rhymed with the way I had already learned to survive. You find the pattern, you follow it, you build something from nothing, and the nothing teaches you more than the something ever could.
I wrote my first lines of code before "full stack" was a term anyone used, back when the internet was a place you went to, with a screaming phone line that dropped connection anytime someone tried to use the phone, instead of a thing that was always available. Something happened in those early days that I carried with me for several decades without really examining it, the way you carry a stone in your pocket so long you forget it is there. I fell in love with the wrong thing. Or rather I fell in love with the right thing, and it has taken me until now to understand why that distinction matters so much.
I fell in love with the moment before the code. Once you love that moment, the tools stop being sacred.
That moment when you can see something in your mind, some structure, some system, some living thing that does not yet exist anywhere in the world, and you know with a quiet certainty that you can bring it into being. The code was always the road you walked to get there. Sometimes the road was beautiful and sometimes it was tedious and sometimes you had to machete your way through undergrowth for hours just to reach a clearing you could already see from above. But the road was never the destination. The destination was always the act of creation itself, that strange and private miracle of pulling something out of nothing and watching it stand on its own.
I say all of this because I need you to understand where I am standing before I tell you what I see. Because what I see has been troubling me in ways I have only recently begun to understand.
There is a pattern in the history of this craft that most practitioners know intellectually but very few seem to feel in their bones. In the 1950s, Grace Hopper built one of the first compilers. If you are unfamiliar, a compiler is a program that translates something resembling human language into the machine instructions that computers actually understand. This was, by any reasonable measure, a miracle. It meant that telling a computer what to do no longer required you to speak the computer's native tongue. You could begin, haltingly and imperfectly at first, to speak in something closer to your own.
A pattern begins to emerge here. The people who should have been most excited were the ones who got angriest. The machine code programmers, the ones who had spent years learning to think in raw binary and hexadecimal, who had built their reputations and their identities on the mastery of that arcane and demanding skill, looked at this new layer of abstraction and saw a threat dressed in the clothing of a gift. "It will never produce assembly like I can by hand," they said. And they were right. For about five minutes. And then the compiler improved, and improved again, and something happened that none of them had predicted. A door opened that had never been open before. People who thought in mathematics rather than memory registers could sit down and make things. The room got bigger. The work got more interesting. And the thing those early programmers were protecting, the thing they were so sure was the foundation of everything, turned out to be just another floor in a building that was still being built, with floors below it they had forgotten about and floors above it they could not yet imagine.
This pattern has repeated with such faithfulness that you could almost mistake it for a natural law. Assembly gave way to higher order languages. Languages gave way to libraries. Libraries gave way to frameworks. Frameworks gave way to platforms. And each time, the same music played. A new layer appeared. The people living on the current layer looked up and saw a ceiling and looked down and saw what they were sure was bedrock. They fought. They wrote long essays and gave impassioned talks about purity and craft and what constitutes real work. They mistook their floor for the whole building. And then the new layer settled in, and something extraordinary happened that the people fighting it could never quite bring themselves to anticipate.
New people walked through the door.
This is the part that gets lost in every argument about tools and craft and authenticity, and it is the part that matters most. Higher order languages did not simply make assembly programmers faster. They made it possible for someone who thought in business logic to build software for the first time in their life. The web did not just give existing developers a new platform to deploy on. It let designers and writers and strange, uncredentialed, wildly creative people build experiences that would have been literally unthinkable one layer down. Every single time the universe found the right conditions for a new layer of abstraction, there was a Cambrian explosion. An eruption of creative life so vast and so varied that it dwarfed anything the previous layer had produced. And it happened every time. Every time. The door widened, and life rushed through it, and the world on the other side was always richer than the world that came before.
I need to be honest about something here, and I am going to fumble it a little, because I think the fumbling is part of the truth.
When I first started paying attention to how my peers were reacting to this current shift, I was not generous. I was not even fair. I watched software engineers, people who work with abstraction literally every day of their professional lives, refuse to engage with the most significant abstraction shift of our careers, and what I felt was contempt. I am not proud of that. I leaned into that contempt because it was easier than admitting how shaken I was. I used words like "sheeple" and "NPC." I thought of their resistance as a kind of voluntary self destruction, like watching someone nail boards over their own windows during a flood and call it home improvement.
That framing was beneath the conversation. It flattened real people into categories, which is the very thing I dislike when someone looks at everything built with AI assistance and dismisses it all as slop. I was refusing to look closely at something uncomfortable, which is the very thing I was accusing them of doing. The irony was not lost on me. Or rather, it was lost on me for a while, and then it found me, the way these things do, in the middle of the night when you are too tired to maintain your defenses.
So I sat with it longer. And what I found underneath my frustration was bewilderment. And underneath the bewilderment was something I did not expect to find at all. But I will get there. Let me stay with the bewilderment for a moment, because it deserves its own space.
I have been watching this particular wave build for over half a decade. I built sentiment analysis tools in 2019. I watched the birth of ChatGPT. I have ridden every surge and lull of this accelerating curve, and I am telling you, from the vantage point of someone who has been writing code every day for decades, that what is happening right now is the same pattern Grace Hopper triggered in the fifties. We are watching intelligence itself become an abstraction layer. Another floor in the building. A higher place to stand.
I want to be clear about what that means and what it does not mean, because the conversation gets muddy here and people start talking past each other. I still write code by hand. I still drop down to assembler when the situation calls for it. A new floor does not demolish the ones beneath it. It never has. Assembly still runs. The fundamentals remain. Every layer still rewards mastery, and every layer still teaches you things that the layers above cannot. What a new floor gives you is a wider view. A place from which you can see further and reach for things that were previously beyond your grasp.
I feel like a kid again. I need to sit with that sentence for a moment because it is doing more work than it appears to. I am thirty plus years into this craft. I have shoveled actual, literal shit for a living. I have bartended and worked fishing boats and served rich people and managed restaurants. I know what work feels like in my body. And what I do now, what I have done for years, has never once felt like work. It has always felt like what I imagine the people who design those LEGO sets that come in the boxes must feel. You are building something. You are creating something. The fact that someone pays you for it still strikes you as a kind of cosmic joke.
Now the gap between what I can imagine and what I can build has grown thin enough to reach across in an evening. The tedium that used to stand between the idea and the artifact, those hours of machete work through the undergrowth, has compressed. What remains is the part I always loved most. The seeing. The thinking. The quiet, electric question of what if. It is like discovering a new instrument after decades of playing the same ones, except this instrument can play alongside everything I already know, and when they play together the music is something I have never heard before.
So when I turn around to share that feeling with my professional peers, with the very people who should understand this better than anyone else alive, and I find half the room arguing about why the new instrument is dangerous, or illegitimate, or producing sounds that do not count as real music, something in me just gives way a little. A small collapse. Because these are the people I expected to find standing next to me, and they are not there.
These are software engineers. They understand abstraction. They live inside it every single day. They build layers upon layers upon layers and call it architecture. And yet when the next layer arrives, aimed at the space between human intention and machine execution, so many of them cannot see it for what it is. Or worse, they can see it perfectly well, and they are choosing to look away.
The reasons they give for looking away keep shifting, which is the tell. First it is about quality. The code it produces is inferior. Then it is about ethics. The training data was stolen. Then it is about jobs. People will be displaced. Then it is about slop. Everything will become mediocre. Then it is about pride. Real engineers do not need this. The target moves and moves and moves, and it moves because the real reason cannot be spoken easily, and maybe cannot even be seen clearly by the person feeling it.
But I want to pause here, because something bothers me about the way I have been telling this story, and I think it is important. The concerns are real. I need to say that plainly, without qualification, before I say anything else. Let me name a few.
When engineers worry about unmaintainable code, about security vulnerabilities wide enough to drive a truck through, about a flood of software that nobody fully understands being pushed into production by people who cannot yet read what the machine has written for them, those worries are legitimate. I have seen AI generated code that would make your teeth ache. I have seen it produce things that work beautifully on the surface and hide horrors underneath. These are real problems that deserve real attention from serious people.
And yet.
When I first learned to write software, I produced unmaintainable messes. Every single one of us did. My early code had security holes the size of the Grand Canyon. I wrote things that worked by accident and broke by design. The entire history of our industry is a history of people learning by making a mess and then learning to clean it up, and then making a more sophisticated mess, and cleaning that up too. The first programs written in Fortran were probably terrifying to the assembly programmers who had to look at them. That was never an argument against Fortran. It was an argument for Fortran getting better, and for the people using it getting wiser, which is exactly what happened.
The concerns from artists cut even closer to the bone, and I want to hold them carefully because I have skin in this one too. I draw. I paint. I make music. When artists say that their work was taken without consent and fed into a machine that now competes with them, I understand why that feels like a violation. This is a genuinely different situation from open source software, where the entire premise is that people will take your work and modify it and run with it and build things you never imagined. Nobody looked at a painting they poured their soul into and anticipated it becoming training data. That grief is real and I do not want to wave it away.
And yet I keep returning to something that I cannot quite set down.
I learned to draw by tracing. Literally tracing, with tracing paper laid over art that other people had made, following the lines with my hand until my hand began to understand what my eyes were seeing. Then I learned to copy freehand, sitting with someone else's work and trying to reproduce it, failing, trying again, absorbing through repetition something about proportion and form and the way light falls across a surface. And then, slowly, over years, I began to make things that were my own. Things I was actually proud of. Things that carried my voice and my eye and could not have come from anyone else.
Music was the same. I learned to play instruments by learning to play songs that other people had written. I sat with their compositions and let their choices teach me about melody and rhythm and tension and release. I imitated until imitation gave way to understanding, and understanding gave way to expression, and expression became something that was finally, genuinely mine.
This is how almost every artist who has ever lived learned their craft. You absorb the work of those who came before you. You internalize their patterns. You transform what you have taken in into something new. The process is so universal that we do not even think of it as controversial. We call it learning.
And when I look at how these AI systems are trained, I see the same process operating at a different scale. A vast and inhuman scale, yes. A scale that raises genuine questions about consent and compensation and the economics of creative work, absolutely. I do not want to pretend those questions are simple or that I have all the answers. But the fundamental mechanism, the absorption of existing work as a foundation for generating something new, is the same mechanism that produced every artist I have ever admired, including me.
The mess will get cleaner. The security holes will close. The questions of consent and compensation will find their answers, probably imperfect ones at first, because that is how every new layer of anything has ever worked. These are problems to be solved, and they are being solved, and they will continue to be solved by people who engage with the work rather than by people who stand outside the door and insist that everything within it is illegitimate.
Which brings me to the thing I found underneath the bewilderment. The thing I did not see coming.
I think what happened is this. Somewhere along the way, a lot of people in this craft fused their identity to the act of writing code rather than the act of creating software. And those two things sound so similar that you might not notice the difference until the moment it becomes the only thing that matters. A furniture maker does not fall in love with the hand plane. She falls in love with the chair. The plane is how she reaches the chair today, and tomorrow it might be a different tool, and the day after that something she has never seen before, and through all of it the chair is still the thing that makes her eyes light up. If a new tool lets her attempt a form she could never have reached with the old one, she picks it up. She does not stand at her bench and declare that chairs made with unfamiliar tools are not real furniture. That would be absurd. And yet that is exactly the argument I hear being made, with conviction and eloquence, by people I otherwise admire.
I see this same pattern everywhere now. I watch musicians react to tools like Suno with white-knuckled resistance. I watch visual artists encounter Midjourney as though someone has committed a personal offense against them. The tool changes but the reaction stays eerily the same. And when I stopped asking "why are they being so stubborn" and started asking "what is actually happening here," the answer that came back rearranged everything I had been thinking.
This feels like it is about gatekeeping. About who gets to create.
Because what I hear, when I strip away all the arguments about quality and ethics and craft and authenticity, is a claim of ownership over creation itself. I hear people who were never credentialed, who were never given permission, who walked into their craft because the impulse was there and they followed it, now turning around and demanding credentials from everyone who comes after them. I hear people who climbed through a window insisting that the door is the only legitimate entrance, and by the way, they would like to hold the key.
Nobody asked me for permission when I sat down at a keyboard as a kid and started building things. Nobody demanded credentials when I picked up a brush, or a guitar, or started writing words and putting them where other people could read them. Creation has always belonged to whoever reached for it. The tools only ever determined how far you had to reach.
And right now, in this moment, the reach is extending further than it ever has before. A person who has always heard music in their head but never learned the theory or the instrument can finally make something that sounds like what they hear. A person who sees images with vivid clarity but never had the years to master anatomy and light can bring those images into the world. Someone with a deep understanding of a problem and a clear vision of the solution can build toward it and iterate on it, even if they never studied computer science, perhaps especially if they never studied computer science, because they understand the domain in ways that someone who only learned the tools never will.
The door is widening. In every room, in software, in music, in visual art, in every field where creation was once bottlenecked by the scarcity of a specific technical skill, the door is widening. And in every one of those rooms, some portion of the people already inside are pushing against it, trying to hold it shut, insisting that what is on the other side is not real, or not good enough, or not earned.
Who are we to decide who gets to create?
The hand plane still works. Assembly still runs. Oil paints are still magnificent. Every layer still matters and every layer still rewards the people who love it enough to go deep. Nothing is being taken from anyone. Something is being offered. And the window for reaching toward it with curiosity, before necessity makes the choice for you, is not going to stay open forever.
The universe found the conditions for a new layer of abstraction. It does not care whether we are ready. It never has. The cup is already overflowing. The tea will keep pouring. The only question that remains is whether you will keep gripping the cup, or set it down empty, and find out what your hands can do when they are finally free.
I know which side of the door I'm standing on.