Apollo 11 Codexery

Margaret Hamilton (software engineer)

Led Apollo flight software development; coined 'software engineering.'

Margaret Hamilton (software engineer)

Daphne Weld Nichols · via Wikipedia: Margaret Hamilton (software engineer) · CC BY-SA 3.0

Margaret Elaine Hamilton (née Heafield; born August 17, 1936) is an American computer scientist who directed the Software Engineering Division at the MIT Instrumentation Laboratory. She led the development of the on-board flight software for NASA's Apollo Guidance Computer, a critical component of the Apollo program that enabled the Moon landings. She later founded two software companies and coined the term 'software engineering.'

Born
August 17, 1936, Paoli, Indiana
Field
Computer science, software engineering
Nationality
American
Known for
Leading development of Apollo Guidance Computer flight software; coining 'software engineering'

Lore & Background

Margaret Elaine Heafield was born August 17, 1936, in Paoli, Indiana, to Kenneth Heafield and Ruth Esther Heafield. The family moved to Michigan, where she graduated from Hancock High School in 1954. She studied mathematics at the University of Michigan in 1955 before transferring to Earlham College, earning a BA in mathematics with a minor in philosophy in 1958. She credits Florence Long, head of the math department at Earlham, with encouraging her pursuit of abstract mathematics. In Boston, Hamilton initially intended to study abstract mathematics at Brandeis University but began working for Edward Norton Lorenz at MIT's meteorology department in mid-1959. She developed weather-prediction software on LGP-30 and PDP-1 computers at Project MAC. From 1961 to 1963, she worked on the Semi-Automatic Ground Environment (SAGE) Project at the MIT Lincoln Lab, where she was one of the programmers who wrote software for the prototype AN/FSQ-7 computer (the XD-1), used by the U.S. Air Force to search for possibly unfriendly aircraft. She also wrote software for a satellite tracking project at the Air Force Cambridge Research Laboratories. Her work on SAGE made her a candidate for NASA's Apollo project. Hamilton joined the MIT Instrumentation Laboratory in 1965, becoming the first female programmer on the Apollo project and later Director of the Software Engineering Division. Her team wrote and tested all onboard in-flight software for the Apollo Command and Lunar Modules and Skylab. She designed error detection and recovery software, including restarts and the Display Interface Routines (priority displays). During the Apollo 11 landing, her priority alarm displays alerted astronauts to computer overloads caused by an inadvertently left rendezvous radar switch, preventing an abort. Hamilton later founded Higher Order Software in 1976 and Hamilton Technologies in 1986, both in Cambridge, Massachusetts.

Reader's Guide

Margaret Hamilton's significance lies in her pioneering role in software engineering at a time when the discipline did not formally exist. She coined the term 'software engineering' to distinguish it from hardware engineering and treat it as part of systems engineering. Her work on the Apollo Guidance Computer's flight software introduced error detection and recovery techniques, such as priority displays and 'kill and recompute' restarts, which proved critical during the Apollo 11 landing when computer alarms threatened an abort. These innovations contributed to what a senior technologist called 'the foundation for ultra-reliable software design.' Hamilton's leadership of the Software Engineering Division at MIT and her later founding of two software companies demonstrate her lasting impact on the field. She received the Presidential Medal of Freedom in 2016 for her contributions to the Apollo Moon missions. Her career exemplifies the transition from hands-on programming to formalized software engineering practices.

Did You Know?

More in Apollo 11 1-24

Spotted an error? Know more?

Reader corrections go straight into our review queue. Suggest an edit · How this site is sourced

Comments

Loading…
Open in the interactive codex →

Also in the Codexery