Programmer and author Ellen Ullman on why hackers need the humanities

The importance of open and diverse input on how machines run our lives

Ellen Ullman hero image
Image Credit: Marion Ettlinger

Ellen Ullman moved to San Francisco in the 1970s and was a rare woman among her fellow male programmers at the dawn of the Internet era. Her 1997 memoir, Close to the Machine: Technophilia and Its Discontents, became a cult classic for chronicling human-machine interaction in an era before computers became household items.


Life In Code book cover


In her new collection of personal essays, Life In Code: A Personal History of Technology, she describes the past two decades in computing, particularly how the Internet has changed our everyday lives, and revisits familiar themes like being the only woman working at a startup.

Ullman recently spoke with Slack about learning to take machines apart, the importance of making algorithms accessible to the public, and the difference between writing words and code.

Slack: You write about how being exposed to technology fairly early — in your case, using a Portapak video camera at age 20 — made machines, including computers, seem less intimidating. How much of a role do you think exposure plays in enticing young people to learn about technology and experiment with engineering concepts?

Ellen Ullman: You don’t have to be an engineer to cultivate curiosity about what’s inside a machine. Taking things apart and putting them back together is a wonderful practice and extremely satisfying, and it’s a real pleasure when you get something working. But one must have high tolerance for frustration and find allure in the pursuit of solutions. To work in technology and engineering requires overcoming great deal of failure. Trying to build and then watching something topple is what teaches you.

“I’ve been in this position, and I was very fortunate when the presence of other women in my office or profession meant I didn’t have to be the very best or a credit to my gender. It was easier to relax when there were other talented women around.”

Slack: You’ve written a lot about being among the first women to work in computer programming. What remains true today that was also the case when you began your career in the 1970s?

Ullman: Whoever holds a position early faces a lot of prejudice. More people speaking out about this and publicizing the uphill battle many minorities face does effect change.

The ultimate benefit of having more than one pioneer is that you can be good enough without having to be the best. It’s not an easy task to be the person who integrates, no matter the field, profession, or situation. Any minority who goes it alone works in a lonely capacity. The first time you make a mistake, you’re judged as incompetent.

I’ve been in this position, and I was very fortunate when the presence of other women in my office or profession meant I didn’t have to be the very best or a credit to my gender. It was easier to relax when there were other talented women around.

Slack: Since you write both computer code and words, how do you view the differences between these types of languages?

Ullman: Code is expressive in own way. There are such things as elegant, beautiful algorithms. Code performs; it operates. Its meaning is what it does, what it accomplishes.

With writing, you never really know if it works as there’s no compiler to test it. But language can be indistinct — non-grammatical, or in another dialect — and we can still understand its meaning. The beauty of language is that we can be imprecise and still be understood.

Slack: In Life in Code, you seem to suggest marrying your two disciplines when you wish for those with humanities knowledge to “invade the closed society where code is written.” What kinds of change do you imagine that takeover could create?

Ullman: It’s nice that we have a recent, concrete example of this in the case of New York City Council member James Vacca. Algorithms make decisions all through his borough, the East Bronx, including where children go to school, where police patrols are assigned, and the schedule for garbage pickup. He wants people to ask: How is this code making these decisions? What is the possible bias? These are good questions to ask.

Vacca introduced a transparency bill that would make these algorithms public, which could be helpful to folks in those neighborhoods who are motivated to find out if their kids are being prejudiced against, or if the neighborhood is swarming with police based on bias.

What he’s explaining is a pervasive problem, which is inherent bias present in code that was written years ago. Witness Y2K. Programmers who wrote code in the 1960s and ’70s had no idea some of this stuff would still be running in the late ’90s. The original programmers on a project are often long gone. Code tends to live on way beyond its life cycle.

Algorithms surround us, determining how we get mortgages or apartment rentals, or whether we get hired. It is crucial that we open up those algorithms and take them apart, and then either put them back together or scrap and rewrite them. Algorithms may run our lives, but I really believe people make the future.


Brittany Shoot understands some programming languages but can only write words.

Slack is the collaboration hub, where the right people are always in the loop and key information is always at their fingertips. Teamwork in Slack happens in channels — searchable conversations that keep work organized and teams better connected.