Close to the Machine: Technophilia and Its Discontents
Source: https://www.picador.com/titles/ellen-ullman/close-to-the-machine/9781250002488 ↗
Probably the most beautifully written book about what it feels like to program.
Ullman, a veteran software engineer in 1990s San Francisco, writes about the seduction of code — the way proximity to the machine narrows your world until the abstractions feel more real than the people they are supposed to serve.
It is literature about software, not a manual.
She captures the loneliness of debugging, the class dynamics of the tech industry before it called itself an industry, and the specific way that technical fluency can become a barrier to human understanding.
For product people, Ullman is essential because she articulates what engineers rarely say aloud: the emotional and cognitive cost of the work, and the distance that opens between builders and the world they build for.
Central argument
Ullman argues that deep technical immersion produces a kind of cognitive and emotional drift: the closer a programmer gets to the machine, the more the abstractions of code displace the human reality those systems are meant to address. She traces this not as a character flaw but as a structural condition of the work itself — the concentration required to program is inherently world-narrowing, and technical fluency, once achieved, creates a perceptual gap between builders and users that is difficult to close from the inside. The book's implicit thesis is that software is not a neutral craft but a culture with its own class dynamics, seductions, and discontents, one that the industry systematically refuses to examine.
Critique
Ullman's account is deeply personal and rooted in a specific moment — 1990s San Francisco, freelance consulting, a pre-corporate tech world — which limits the generalisability of her observations. The very intimacy that makes the book powerful also makes it difficult to distinguish structural claims about programming as a practice from the particularities of her own psychological relationship to the work. A thoughtful reader might ask whether her diagnosis of technical alienation reflects the conditions of solo or small-team contracting rather than something endemic to software development at large.
Why it matters for product
For a product leader, Ullman names the mechanism behind one of the most persistent team dynamics: engineers who are not indifferent to users but have been structurally rewarded for optimising the elegance of the system over the legibility of the outcome. This reframes discovery and cross-functional collaboration not as process problems to solve with rituals like user story mapping, but as interventions against a cognitive pull that the work itself generates. It also sharpens how you hire and what you ask of technical leads — proximity to users is not a soft skill but a deliberate counterweight to the narrowing Ullman describes.