Margaret Hamilton (born 1936) is an American computer scientist who led the software engineering team for NASA’s Apollo program. Her work made the Moon landings possible, and she coined the term “software engineering” to describe the discipline she helped create.
Early Life and Education
Margaret Heafield was born on August 17, 1936, in Paoli, Indiana. She earned a bachelor’s degree in mathematics from Earlham College in 1958, with a minor in philosophy. After graduation, she taught high school mathematics and briefly studied at Brandeis University.
In 1960, she began working at MIT, initially intending to support her husband’s law studies before pursuing graduate work herself. Instead, she discovered her calling[1].
From Weather to War to the Moon
Hamilton’s first programming work at MIT was on meteorological software for Professor Edward Lorenz—work that contributed to chaos theory. She then moved to the Lincoln Laboratory to work on SAGE (Semi-Automatic Ground Environment), the massive Cold War air defense system.
Her success at SAGE led to her being the first programmer hired for the Apollo project in 1965. She later recalled the excitement: “I was interested in learning how to fly—not to fly, but how people would fly to the Moon and back”[2].
Leading Apollo Software
Hamilton rose to become Director of the Software Engineering Division at MIT’s Instrumentation Laboratory, leading the team that wrote all on-board flight software for the Apollo Command Module and Lunar Module, and later for Skylab.
The challenges were immense:
- No precedent: Nothing like this software had ever been built
- Extreme constraints: The Apollo Guidance Computer had only 2 KB of RAM
- Life-or-death stakes: Errors could kill astronauts
- No formal methods: Software engineering didn’t exist as a discipline
Hamilton and her team invented techniques now standard in software development: asynchronous processing, priority scheduling, display interfaces that integrated humans into the loop, and comprehensive error detection and recovery.
Coining “Software Engineering”
Hamilton began using the term “software engineering” deliberately, to argue that building software deserved the same respect and rigor as other engineering disciplines[3].
“I began to use the term ‘software engineering’ to distinguish it from hardware and other kinds of engineering, yet treat each type of engineering as part of the overall systems engineering process,” she recalled. At the time, the term was considered humorous—software wasn’t seen as “real” engineering. Hamilton helped change that perception.
Saving Apollo 11
On July 20, 1969, three minutes before the Eagle lunar module landed on the Moon, alarm lights flashed in the cockpit. The computer was overloaded—the rendezvous radar had been left on by mistake, consuming processing power.
Hamilton’s priority-based software architecture saved the mission. The system recognized it couldn’t complete all tasks, so it shed lower-priority work and focused on what mattered: landing safely. Without this design decision, made years earlier, the landing might have been aborted.
Mission Control told the astronauts to proceed. Neil Armstrong landed with seconds of fuel remaining.
Later Career
After Apollo, Hamilton founded two software companies:
- Higher Order Software (1976): Developed methods for ultra-reliable software
- Hamilton Technologies (1986): Created the Universal Systems Language for error-free system design
Both companies applied lessons from Apollo to build more reliable software systems.
Recognition
In 2016, President Barack Obama awarded Hamilton the Presidential Medal of Freedom, recognizing her Apollo contributions. She has also received:
- NASA Exceptional Space Act Award (2003)
- A LEGO “Women of NASA” minifigure in her honor (2017)
The iconic 1969 photograph showing her standing next to stacks of Apollo source code listings has become a symbol of software engineering’s origins and the role of women in computing.
Sources
- NASA Science. “Margaret Hamilton.” Biography and contributions.
- Smithsonian Magazine. “Margaret Hamilton Led the NASA Software Team That Landed Astronauts on the Moon.” History of her work on Apollo.
- Hack the Moon. “Margaret Hamilton.” Her coining of “software engineering.”