Margaret Hamilton recalls her life as a programming pioneer – The New Stack

In the early 1960s, Margaret Hamilton began her career as a pioneering programmer and systems designer. And when NASA launched a series of missions that led to the first astronauts on the moon, Hamilton was director of the software engineering division of the Instrumentation Laboratory at the Massachusetts Institute of Technology, developing the mission’s onboard flight software.

This project included writing 40,000 lines of code for the lunar landing module and its “mother ship”, the orbiting craft carrying the command and service modules.

And that was just the start of a career in computing that spanned more than half a century and still continues.

Yet despite these accomplishments, Hamilton “rarely gives interviews or speaks publicly about herself,” writes David C. Brocktechnology historian and curator/director of the Software History Center at the Computer History Museum of Silicon Valley.

So it was with added excitement that in April 2017, Brock traveled to Boston to capture an oral history with her. In an email this week to The New Stack, he calls the opportunity an “incredible privilege,” noting Hamilton’s historical significance for “deep involvement with some of the most important contexts and projects from the early decades of computing.” in the USA”.

This week, that interview was finally published online, including a video of his conversation with the then 81-year-old trailblazer.

But this interview also gives insight into what it was like to be a different kind of pioneer – a woman in a male-dominated field.

Hamilton remembered being the only woman in his college physics class – “And at the time, I think the professor thought women shouldn’t take physics classes because he… well , you must know the era.”

She added: “It was the only time anyone in college wondered if maybe it wasn’t something I could use.”

But Hamilton remained unfazed: “I just said, ‘Because I want to take it’, you know.”

Historical projects and obtaining credit

In the early 1960s, Hamilton planned to pursue a graduate degree in mathematics, but while her husband was attending law school, Hamilton supported the family by taking a job with the MIT professor. Edward N. Lorenz.

Lorenz later became known as one of the founders of chaos theory. “It was Lorenz who popularized the notion of the ‘butterfly effect’,” notes Brock’s blog post, “the concept that a small difference can produce a huge change in some systems, such as the wing flapping of a a seagull causing a storm, or the flutter of a butterfly’s wing determining the path of a tornado.

Hamilton programmed weather simulations for the professor, which she describes in the interview as “one of the best things I’ve ever done… I had never really been near a computer before. “.

To replace her programming the simulations, Hamilton hired Ellen Fetter, recently graduated from Mount Holyoke with a degree in mathematics. Yet, while today they would be listed as co-authors, the two programmers are rarely mentioned when telling the story of chaos theory.

Hamilton recalled one of her male colleagues once asking her how she could take a programming job “when you have a baby at home?”

“I said, ‘Well, you know, you have to do what’s right for you, and I have to do what’s right for me.’ He said, “Oh, okay.”

“It’s an all-too-common story in the history of science and technology,” noted Jennifer Lightdepartment head of the Science, Technology, and Society program at MIT, at an interview in 2019 with the scientific magazine Quanta.

In Brock’s interview, Hamilton said she received credit from Lorenz himself: “Later, years later, like maybe five years ago, I realized in one of his well-known articles, he thanked me for all the programming. I had no idea he was doing this. It really meant the world to me.

Learn more at MIT

Working on Lorenz’s project brought Hamilton unusual experience with some of the world’s earliest computers. And soon, she found a better-paying job at MIT’s Lincoln Lab (funded by the Department of Defense), which faced a shortage of programmers. (Hamilton worked on a program that attempted to distinguish enemy aircraft noise in radar readings.)

When asked to travel to take a course on the instructions of the computer used by the lab, Hamilton replied that she had to stay to care for her young daughter. “But I will make a deal,” she told her managers. “I’ll learn as much if not more than anyone who’s taken the course… You’ll see.

“So everyone went to class. I don’t remember, it was six to eight weeks, and I was left on my own… And by the time they came back, I had done most of the work that needed to be done!

Lincoln Lab was primarily made up of men, but also included women. In hindsight, this was unusual, given the attitudes of the time. Hamilton recalled one of her male colleagues once asking her how she could take a programming job “when you have a baby at home?”

“I said, ‘Well, you know, you have to do what’s right for you, and I have to do what’s right for me.’ He said, “Oh, okay.”

When she saw a news report that MIT’s instrumentation lab had won a contract to work on NASA’s Apollo project, she thought, “I guess I’ll have to delay my grad school again because I would like to work on this program which puts all these men on the spot. moon.”

No “stupid” questions to NASA

Apollo was a rich experience filled with many life lessons. “I learned if you don’t know, ask. Ask questions. Don’t be afraid to ask a silly question. There are no silly questions. What’s important is to learn what you need to learn.”)

For the whole team, she said, failure was a great teacher: “The way we got smarter was to make a mistake and learn from it, recognize it and say: “This will not happen again.””

All of Project Apollo’s code had to be extensively pre-tested in simulations, and Hamilton worked with an assortment of engineers and “hardware people” – who, she recalls, were unfamiliar with the word. “software”.

Hamilton confirmed that the Apollo planners had not allocated enough time for the work of creating their software. “That’s the case on any software project,” she added with a laugh.

The hardware and software features looked identical in the simulations, so there was a real need to tell them apart. And yet the programmers, she said, “were kind of like second-class citizens… We took the hardware and made it work, didn’t we?” So she remembered the skepticism when she proposed naming the two fields of hardware engineering and software engineering.

And then, one fateful day, “One of the hardware gurus stood up in a big meeting and said, ‘You know, Margaret is right. It’s…’ — it almost makes me cry here — ‘It’s engineering, what you do, just as much as what we do’, which is the hardware. He said, “She’s trying to formalize it and I think it should become formalized,” and everyone respected that material guy. ”

To this day, Hamilton is credited with coining the term software engineering. But she was always aware of the enormous responsibility that the work of programmers entailed.

“If it didn’t work, a person’s life was at stake, if not over,” she said. “That has always been most important in my mind and probably many others as well.”

Hamilton confirmed that the Apollo planners had not allocated enough time for the work of creating their software. (“That’s the case on any software project,” she added with a laugh.) But that wasn’t the only time she’d faced an internally created challenge.

Hamilton had brought his daughter Lawrence when she had to work nights and weekends. Once upon a time, her daughter managed to crash a mission simulator, which ultimately led to a critical lesson. “I can’t ignore that because it could happen in a real mission,” Hamilton said.

At NASA, Hamilton was always aware of the enormous responsibility of the work of programmers: “If it didn’t work, a person’s life was at stake, if not finished.”

Selecting the pre-launch program later in the mission meant erasable memory was shared – but Hamilton’s superiors were wary of adding extra code and instead addressed the unlikely scenario with some sort of note in the manual.

And then of course, on the Apollo 8 mission — the first crewed spacecraft to leave Earth orbit — that same scenario happened, Hamilton told Brock.

Hamilton recalled being back in her lab in Cambridge when the incident happened. “I said, ‘It’s the Lauren virus. I know that’s Lauren’s bug…'”

The astronauts were fine. “They just had to put the data back,” Hamilton told Brock, “and it took a while.” But after that flight, she got permission from NASA to add the extra code.

After Apollo 11, decades of innovation

In 2003, the NASA Inventions and Contributions Board recognized Hamilton’s contributions (which laid the foundation for guiding future NASA space programs like Skylab and even the Space Shuttle).

“His concepts of asynchronous software, priority scheduling, software reuse, and man-in-the-loop decision capability such as priority displays, became the foundation for designing ultra-reliable software,” it reads. in the quote.

“No software bug has ever been found on an Apollo manned spaceflight mission.”

Margaret Hamilton in 1969, standing next to a pile of calculations she and her team made for the Apollo project. (Photo by Nasa)

In fact, during Hamilton’s work on the Apollo program, “she and her colleagues did a thorough study of the software errors that had arisen,” Brock noted in her blog post, “examining them and categorizing them according to cause”.

Brock added in an email this week that while Hamilton is best known for her work on the Apollo guidance computer, “I was especially pleased that in her oral history she was able to showcase the work she was on. His focus since the end of the Apollo program is his work on creating methods for creating software, and other types of systems, that avoid errors and ensure reliability by design.

Brock calls them “lesser-known efforts that have kept her busy for the past 50 years and actively today.”

Or, as he put it in the blog post, “Avoiding these errors by circumventing their causes became the focus of his career forever. She founded two companies to continue this work, leading the development of new formal methods and languages ​​to create reliable, error-free software and systems.

“She continues that work as of this writing.”


Image featured by Wikimedia.

Comments are closed.