Down at the bottom of a Star Trek episode I watched as a child -- "Ship in a Bottle," The Next Generation, 1993 -- there is a moment that has never left me. Professor Moriarty, a holodeck character who has become self-aware, manipulates the crew into believing the holodeck is reality. At the end, Picard stares at the small device containing Moriarty's simulated universe and says, quietly: "Our reality may be very much like theirs." I was perhaps ten years old. I already knew how to program. And I remember thinking: if I could scrape the edge of the holodeck wall -- dig my fingernails into the seam where the simulation meets the projector -- I would find code underneath.
Not metaphorical code. Actual code. Variables, functions, conditionals, loops. The building blocks I had already been arranging on a screen since before I could ride a bicycle. I was certain that the world had an underlying syntax, and that I was one of the people who could read it.
I am not alone in this conviction, and I never was. I am, however, increasingly alone in my household.
The Fist on the Wire
In 1844, when Samuel Morse sent "What hath God wrought" along a wire from Washington to Baltimore, he created a new class of human being. Not instantly -- these things never happen instantly -- but within a decade, telegraph operators had developed an entire insider culture. They recognised each other by "fist" -- the distinctive rhythm of a hand on a telegraph key, as unique as a fingerprint, impossible to fake. They married each other. They spoke in abbreviations that civilians could not parse. They had, in the language of Charles Goodwin's anthropology, developed a professional vision -- a trained way of seeing the world that was invisible to everyone outside their guild.
This is what happens to every generation of technologists. The telegraph operators became a tribe. Half a century later, ham radio operators replicated the pattern almost exactly. Kristen Haring, writing in MIT Press, describes how "outsiders viewed ham operators with a mixture of awe and suspicion" -- a sentence that could have been written about programmers in 1985 or AI engineers in 2026. The operators could hear signal in noise. They could decode meaning from static. They believed, with absolute sincerity, that their trained perception gave them access to a layer of reality that non-operators simply could not see.
Then came the MIT hackers of the 1960s and 1970s. Steven Levy wrote that for those early programmers, "the code held a beauty of its own" -- an aesthetic experience available only to the initiated. Then William Gibson gave us cyberspace in 1984: "a consensual hallucination", a world made of data that only hackers could navigate. Then in 1999, The Matrix gave every programmer alive a creation myth they could inhabit. As Vice documented years later, an entire generation of technologists "fully identified with Neo" -- the chosen one who sees the green rain of code behind the surface of ordinary life.
I was one of them....I am still one of them.
The Melody Only I Can Hear
Here is the thing I cannot explain to my wife or my children, despite wanting to more than almost anything in the world. When I look at a queue in a supermarket, I see a scheduling algorithm. When I watch traffic lights, I see state machines. When my son describes a decision he is wrestling with -- this friend or that friend, this activity or that activity -- I see a conditional tree with weighted branches. When someone tells me a recipe, I hear a function with parameters. This is not a party trick. It is not something I switch on. It is the water I swim in.
I know how this sounds. Every generation of technologists, from the telegraph operators to the ham radio enthusiasts to the MIT hackers, has believed they perceive the world more clearly than everyone else. The French have a term for it -- deformation professionnelle -- the tendency of a trained professional to see everything through the lens of their training, and to mistake that lens for a window. The architect sees load-bearing walls where you see a kitchen. The doctor sees symptoms where you see a headache. The programmer sees algorithms where you see life.
Now. You might object that this is a general property of expertise, not something special about code. The surgeon sees anatomy where you see a person. The chess grandmaster sees patterns where you see pieces. Fair enough. Deformation professionnelle is universal. But here is why code is different, and the difference matters.
In 2020, an MIT team led by Anna Ivanova put programmers in an fMRI scanner and asked them to read code. The code activated neither the brain's language centres nor its mathematical centres. It activated the multiple demand network -- a general-purpose cognitive system used for complex problem-solving. In that study, reading code appeared to be neurologically distinct from reading English and from doing maths. It is its own thing. There is no queue in nature that looks like a scheduling algorithm until code teaches you to see it that way. The brain builds an entirely new perceptual architecture, and once that architecture is in place, you cannot unbuild it.
This is what I mean by coding learns you. There is research suggesting exactly this -- that programming languages shape thought in ways analogous to the Sapir-Whorf hypothesis for natural languages. But the coding version is stronger than Sapir-Whorf. The language you program in does not merely give you a vocabulary for describing the world. It installs a new perceptual layer between you and the world. You do not just learn to code. Coding learns you. It rewires what counts as signal and what counts as noise. And it does this so thoroughly that the original wiring -- the way you saw the world before -- is not archived somewhere, waiting to be restored. It is overwritten. Gone.
Edsger Dijkstra saw this decades before the fMRI machines confirmed it. "The tools we use," he wrote, "have a profound and devious influence on our thinking habits, and, therefore, on our thinking abilities." He meant it as a warning. I experience it as a description of my daily life.
Then Like Now
Let me tell you what the problem looks like.
I sit down with my son. He is bright, curious, entirely capable. I want to teach him to code. I want to give him the thing that was given to me -- not a skill, but a way of seeing. I open an editor. I type a variable assignment. And I realise, with a lurch of something close to vertigo, that I cannot explain what a variable is. Not really. Not from scratch. I know what a variable is in the way I know what walking is. I know it so completely that the original learning has been composted into instinct. The psychologists call this knowledge compilation: declarative knowledge -- the explicit steps, the conscious reasoning -- gets compiled into procedural knowledge, and the original steps are garbage-collected. Gone. Unrecoverable.
In 1990, a Stanford PhD student named Elizabeth Newton conducted an experiment that demolished a century of assumptions about expert communication. She divided participants into "tappers" and "listeners." The tappers tapped out the rhythm of well-known songs. The listeners tried to identify them. The tappers predicted that listeners would recognise the songs 50% of the time. The actual rate was 2.5%. The tappers, who could hear the melody in their heads, could not imagine what it was like to hear only tapping.
I am a tapper. I have been tapping for well over thirty years. The melody is so loud in my head that I genuinely cannot reconstruct the silence.
Michael Polanyi named this in 1966: "We know more than we can tell." The Dreyfus model of skill acquisition formalised the consequence: experts make the worst novice teachers because they have forgotten what it feels like not to know. Greg Wilson, who has thought about this more carefully than almost anyone in computing education, puts it with painful precision: "Experts can no longer imagine what it's like to not see the world that way."
But the coding version of this curse is worse than the surgeon's or the musician's, and it is worse for a specific reason. The surgeon can point to the body. The musician can play the note. These are shared sensory objects -- the student may not see what the expert sees, but they see something. The programmer points at a supermarket queue and says "that is a scheduling algorithm" and the other person sees... a queue. There is no shared sensory object. The perceptual layer that coding installed is entirely internal.
This is the trade-off nobody names. Perceptual depth versus communicative reach. The deeper coding rewires your perception, the more you see -- and the less of what you see is transmissible to anyone who has not been similarly rewired. You gain resolution. You lose communion.
The Distance Is the Point
Richard Feynman was once challenged by an artist friend who claimed that a scientist's analytical eye destroyed the beauty of a flower. Feynman's response has become famous: "I see much more about the flower than he sees." The knowledge of cells, of evolution, of the intricate chemical processes, added layers of wonder. It did not subtract beauty. It multiplied it.
I believe Feynman. I also think he was being disingenuous. Because what he did not say -- what nobody who makes this argument ever says -- is that the additional seeing comes with an additional distance. You see more, but you see it from further away. The flower is more beautiful AND more separate from you. You are an observer of the world's machinery, not merely a participant in its garden. And no amount of pedagogical technique -- no Feynman method, no Suzuki approach, no chunking strategy -- can close that distance. The techniques can help you teach. They cannot help you unsee.
This is the spine of the thing. Not "programmers are special" -- Dan North, who has thought hard about what programming actually is, wrote a piece called "Programming Is Not a Craft" that challenged the self-mythology of the developer community, and he was right to do so. Jacob Kaplan-Moss went further, arguing against the "programming talent myth" that sorts people into "can code" and "can't code" as though it were a binary gift from birth. They are both right. And yet.
And yet the distance persists. Coding learns you, and what it teaches you cannot be unlearnt, and what it shows you cannot be pointed at. The conditional trees do not vanish from the supermarket queue because you have acknowledged your deformation professionnelle. You cannot unsee the code any more than the telegraph operator could unhear the fist.
The real question -- the one that sits in my chest when my daughter shows me something she has made and I instinctively see the algorithm she could have used to make it better, faster, more elegant, and I have to bite my tongue because she does not want an algorithm, she wants her father to be proud -- the real question is not about teaching.
It is about identity. About what it costs to have a perceptual system that your own family cannot share.
The Holodeck Wall
I never did scrape the edges of the holodeck. I grew up, and the fantasy faded, and it turned out that the code underneath reality -- if it exists at all -- is mathematical rather than computational, and I am no Stephen Hawking. My code is higher-level than that: not physics, but programming. Not the machine code of the universe, but the interpreted language of systems, patterns, abstractions.
But I keep going back to Picard's line. "Our reality may be very much like theirs." Not because I think we live in a simulation -- that argument bores me -- but because the line captures something true about what it means to have spent decades training your brain to see structure where others see surface. You begin to wonder whether the structure you see is real or whether you have simply become so good at projecting it that you can no longer tell the difference.
The code is not the world. But the code does change how you see the world. And once changed, you do not go back.
That is what I think about at half past eight on a Wednesday evening when my son asks me to explain why a loop works and I open my mouth and discover that I am a tapper, and all he can hear is the tapping, and the melody that makes it all make sense is playing only in my head. Coding learnt me so well that I cannot find the door back to the room where he is standing.
The curse of seeing code is not that you see too much. It is that you see alone.
(Views in this article are my own.)