Looking back, we were the luckiest people in the world. There was no choice but to be pioneers; no time to be beginners.Margaret Hamilton
Margaret Hamilton is an American computer scientist who was one of the first computer software programmers; she created the term software engineer to describe her work. She helped write the computer code for the command and lunar modules used on the Apollo missions to the Moon in the late 1960s and early ’70s.
She was director of the Software Engineering Division of the MIT Instrumentation Laboratory, which developed on-board flight software for NASA’s Apollo program. She later founded two software companies—Higher Order Software in 1976 and Hamilton Technologies in 1986, both in Cambridge, Massachusetts.
Hamilton has published more than 130 papers, proceedings, and reports about sixty projects and six major programs. She is one of the people credited with coining the term “software engineering”. Hamilton herself specifically concentrated on software to detect system errors and to recover information in a computer crash. Both those elements were crucial during the Apollo 11 mission (1969), which took astronauts Neil Armstrong and Buzz Aldrin to the Moon.
In a bid to make the software more reliable, Hamilton sought to design Apollo’s software to be capable of dealing with unknown problems and flexible enough to interrupt one task to take on a more important one. In her search for new ways to debug a system, she realized that sound could serve as an error detector. Her program at SAGE, she noted, sounded like a seashore when it was running. Once, she was awakened by a colleague, who said that her program “no longer sounded like a seashore!” She rushed into work eager to find the problem and to start applying this new form of debugging to her work.
As a working mother, she took her young daughter to the MIT Instrumentation Laboratory with her at night and on weekends. One day, her daughter decided to “play astronaut” and pushed a simulator button that made the system crash. Hamilton realized immediately that the mistake was one that an astronaut could make, so she recommended adjusting the software to address it, but she was told: “Astronauts are trained never to make a mistake.”
During Apollo 8’s moon-orbiting flight, astronaut Jim Lovell made the exact same error that her young daughter had, and fortunately, Hamilton’s team was able to correct the problem within hours. But for all future Apollo flights, protection was built into the software to make sure it never happened again. Over time, Hamilton began to view the whole mission as a system: “part is realized as software, part is peopleware, part is hardware.”
Awards and Honors
Hamilton has received many awards for her exceptional work. On November 22, 2016, Hamilton received the Presidential Medal of Freedom from President Barack Obama for her work leading to the development of on-board flight software for NASA’s Apollo Moon missions. In 2003, she was given the NASA Exceptional Space Act Award for scientific and technical contributions. The award included $37,200, the largest amount awarded to any individual in NASA’s history. On April 28, 2017, she received the Computer History Museum Fellow Award, which honors exceptional men and women whose computing ideas have changed the world.