Elegy for Coding
Most things you make become photos. A few rare ones become journals.
A few weeks ago I watched a first cut of a show I’d built with a team. Months of work on screen. I was proud of it. But I was outside it, looking at a finished thing.
That’s a photo.
Later that same day I opened the codebase for an app I’d been building. And I wasn’t looking at it. I was in it again — back in the middle of half-solved problems, architecture still taking shape, decisions still warm.
That’s a journal.
A photo shows you what happened. A journal puts you back inside who you were when it happened — the exact shape of your thinking before it flattened into memory.
Code was one of the rare things that worked like that for me. Maybe the purest version.
I’ve written too many kinds of code to mistake this for nostalgia. It’s how code works.
You can’t read a function without inhabiting the thinking behind it. You have to feel your way into why it was structured like that, why the workaround exists. Reading code is an act of empathy with the person who wrote it. And when that person was you, it’s not just empathy — it’s re-entry.
I’ve written code for enough installations that the details flatten. But last week I opened some code I’d written years ago, and a room came back. More than the code alone: a robot arm swinging a camera around a motorcycle while an LED wall played virtual worlds behind it. Everything firing from a single trigger.
connect(robot) // no docs. we called the developer and captured packets off the wire. loadScene(userScene) // the user picked one of three worlds moveToStart() // 2,500-pound robot arm, $100k camera. we held our breath. wait(3 seconds) // started at one. intermittent failures. 2am compromise. shoot() // lights, wall, robot, and camera — all at the same time. over a thousand times that weekend. connect(robot) loadScene(userScene) moveToStart() wait(3 seconds) shoot()
When you write code over time, part of the understanding and experience lives in the files and part lives in you. You remember things the code doesn’t say. The code remembers things you no longer could on your own. Each reactivates the other. The codebase stops being just a record of decisions and becomes something you can step back into.
That’s what made code different. The process of making and the thing you made were the same thing. The history didn’t live next to the work. It lived in the work itself, and in you. Each brought back what the other couldn’t hold alone.
This is shifting now.
I still write code. More than ever, really. But the relationship has changed. I’ve been a lead before. I’ve been the architect before. Even then, I was one of the people deepest in the code, still carrying the hard parts in my head, still writing my path through the problem into the files.
Yesterday I went back into some lighting transition code from a shoot — I’d written it with an agent a month earlier. It was good. Clean, sensible, basically correct. The architecture was mine. The shape of the solution was mine. I could see why it had been built that way.
loadScene(A) loadScene(B) transitionLighting() // nothing else. loadScene(A) loadScene(B) transitionLighting() But I couldn’t feel myself in it. No room came back.
Old code used to drop me back into the room where I wrote it: the dead ends, the ugly decision that became obviously necessary. Earlier abstractions still felt like my shorthand. The language changed, but the journal was still mine.
This felt different. Like walking into a room I’d designed but never actually stood in. I could evaluate and improve it. But I couldn’t re-enter myself through it. The work still reflected my judgment, but it no longer stored my path through the problem in the same way.
This time, the journal is being written by someone else. You’re editing it.
I’m not mourning the struggle. If a tool had helped me finish one of those late-night lighting rigs in twenty minutes, I would have slept more and the show would have been just as good.
I’m mourning what writing it used to leave in me. And what won’t be there when I return.
More people can build things now. Alongside all that gain, something quieter is being lost: the room the code used to keep for you.
I wanted to write this down while the room still comes back.