I discovered Ellen Ullman’s ‘Close to the Machine : Technophilia and its Discontents‘ a few years back. It was about how Silicon Valley looked like to a person who worked at the ground level. This was probably one of the first books to describe this. I finally got around to reading it.

In the book, Ellen Ullman describes her experiences working as a programmer in Silicon Valley. Most of the book is set in the middle and late 1990s at the dawn of the Internet era. But Ullman also goes back in time and describes her experiences in the ’80s and the ’70s, and we get a ringside view of how technology and how computer culture evolved.
If you have worked in the tech industry in any capacity, but particularly as a computer programmer (I don’t know exactly what this is called these days. From ‘computer programmer’ it became ‘software engineer’, and it used to be called derisively as ‘coder’ by non-technical people in the tech industry. These days it is probably called ‘App developer’, but I’m not sure.), you’ll be able to relate to most of the things described in the book. I could. Some parts of the book made me smile, and nod in acknowledgement, while others triggered some unpleasant memories.
My favourite chapter in the book was called ‘New, Old, and Middle Age’. It is about how software technology keeps changing rapidly and how it is hard to keep up, and at some point a person gives up. It happens to everyone, and it happened to me. I still remember the heady early days, when I sat with two of my teammates while we analyzed and debugged a program and I identified the main source of a particular nasty problem and my teammates looked at me with admiration. Years later, one of my teammates taught me a new technology and asked me to hold the fort while he was away for a day, and when a customer came up with a simple request, I couldn’t handle that. That simple thing was beyond me. I knew that day that my programming days were over, and that the technology had changed to a point where I couldn’t keep up with it, and I had become obsolete as a programmer. When I read a whole chapter about it in the book, it made me smile.
I went into the tech industry because I loved programming, and I thought I’ll be on a high all the time, because I’ll be working on computer programs all the time. But reality didn’t turn out that way. There were meetings and interruptions and phone calls and this and that, and in addition to that one had to deal with the contempt that non-technical employees had for programmers, and soon, at some point, all the romance went out of the work, and I pottered around like a zombie and tried to get through the day. Ellen Ullman talks about all this in the book when she describes how when a new project starts, everyone is enthusiastic and positive, but before long things go awry, and it all goes to hell after that.
There are many other interesting things, fascinating things that Ellen Ullman talks about in the book. I’ll let you read the book yourself and experience its pleasures.
I loved Ellen Ullman’s book. As one of the first books on this theme, it is pioneering and fascinating. I wish I had read it when I was younger.
I’ll leave you with two of my favourite excerpts from the book. Hope you like them.
First Excerpt
“I once worked on a mainframe computer system where the fan-folded listing of my COBOL program stood as high as a person. My program was sixteen years old when I inherited it. According to the library logs, ninety-six programmers had worked on it before I had. I spent a year wandering its subroutines and service modules, but there were still mysterious places I did not dare touch. There were bugs on this system no one had been able to fix for ten years. There were sections where adding a single line of code created odd and puzzling outcomes programmers call “side effects”: bugs that come not directly from the added code but from some later, known permutation further down in the process. My program was near the end of its “life cycle.” It was close to death.
Yet the system could not be thrown away. By the time a computer system becomes old, no one completely understands it. A system made out of old junky technology becomes, paradoxically, precious. It is kept running but as if in a velvet box : open it carefully, just look, don’t touch.
The preciousness of an old system is axiomatic. The longer the system has been running, the greater the number of programmers who have worked on it, the less any one person understands it. As years pass and untold numbers of programmers and analysts come and go, the system takes on a life of its own. It runs. That is its claim to existence : it does useful work. However badly, however buggy, however obsolete – it runs. And no one individual completely understands how. Its very functioning demands we stop treating it as some mechanism we’ve created like, say, a toaster, and start to recognize it as a being with a life of its own. We have little choice anyway : we no longer control it. We have two choices: respect it or kill it.
Old systems have a name. They are called “legacy systems.” In the regular world, “legacy” has an aura of beneficence, Parents leave a child a legacy : fortunate child. A brother gets into a fraternity because of his older brother’s earlier membership : a legacy admission. A gift. An enrichment. The patina of age, but good age-venerability, the passing on from generation to generation. A gift of time.
In computing, however, “legacy” is a curse. A legacy system is a lingering piece of old junk that no one has yet figured out how to throw away. It’s something to be lived with and suffered. The system is unmodifiable, full of bugs, no longer understood. We say it’s “brain dead.” Yet it lives. Yet it runs. Drain on our time and money. Vampire of our happiness. Legacy.”
Second Excerpt
“I’ve managed to stay in a perpetual state of learning only by maintaining what I think of as a posture of ignorant humility. This humility is as mandatory as arrogance. Knowing an IBM mainframe – knowing it as you would a person, with all its good qualities and deficiencies, knowledge gained in years of slow anxious probing – is no use at all when you sit down for the first time in front of a UNIX machine. It is sobering to be a senior programmer and not know how to log on.
There is only one way to deal with this humiliation : bow your head, let go of the idea that you know anything, and ask politely of this new machine, “How do you wish to be operated?” If you accept your ignorance, if you really admit to yourself that everything you know is now useless, the new machine will be good to you and tell here is how to operate me.
Once it tells you, your single days are over. You are involved again. Now you can be arrogant again. Now you must be arrogant : you must believe you can come to know this new place as well as the old – no, better. You must now dedicate yourself to that deep slow probing, that patience and frustration, the anxious intimacy of a new technical relationship. You must give yourself over wholly to this : you must believe this is your last lover.”
Have you read ‘Close to the Machine : Technophilia and its Discontents‘? What do you think about it?