Margaret Heafield Hamilton (17 Aug 1936-present) was born in Paoli, Indiana (Welch & Lamphier, 2019). After high school she studied mathematics at the University of Michigan and graduated with a BA in mathematics and a minor in philosophy from Earlham College, Richmond, Indiana in 1958. In 1959 she began work in the meteorology department at the Massachusetts Institute of Technology (MIT) for Professor Edward N. Lorenz, the pioneer of chaos theory, programming early computers to predict weather. She had to learn her trade hands-on as no taught software courses existed and among her credits, she promoted the term “software engineering” to provide legitimacy to the science and set it on a par with other types of engineering (Cameron 2018).
Between 1961 and 1963 Hamilton worked as a programmer on the US Semi-Automatic Ground Environment (SAGE) air defence system at MIT’s Lincoln Lab (Mindell 2008) and this is where she became interested in and learned much about the reliability of software (Spicer 2017), being able to make a previously inoperative radar system actually work. As Hamilton said: “I was and still am very interested in what causes errors and how to avoid them throughout. That was one of my very first experiences in this regard… from day one, it’s been a fascination - the subject of errors…” (Hamilton 2001).
It was this fascination and her expertise in systems programming that later made Margaret Hamilton the perfect candidate for the position of lead Apollo flight software designer. Rather than return to study for her PhD at Brandeis University, Massachusetts, she joined MIT’s Instrumentation Lab (now the Charles Stark Draper Laboratory), which was at that point working on the Apollo space mission (Creighton 2016), and in the summer of 1968 she began writing software for the program.
Her programming skills led to her promotion to head of the Apollo Software Engineering Division, where she and her colleagues wrote and developed code for the guidance and control systems of the in-flight command and lunar modules of the Apollo missions (McMillan 2015; Spicer 2017). In the process, Hamilton and her team established the nuts and bolts of modern software engineering, resulting in the creation of what she termed “ultra-reliable software” for the Apollo 11 mission. This included priority displays in emergency situations, where the software alerted the astronauts and allowed them to reconfigure systems in realtime.
Hamilton also set up firm constraints on components and subsystems engineering, debugged and tested everything before assembly and ran systems level simulations of every imaginable condition to identify potential problems; only then would she release the code (Rayl 2008).
Hamilton focussed on system error detection and data recovery in a computer crash at a time when it was very difficult and laborious to identify and fix errors (Ceruzzi 2016). Her work was crucial as it turned out: just minutes before touchdown of Apollo 11 on July 20, 1969, a documentation error resulted in computer overload. Hamilton’s software recognised the error situation and rejected extraneous tasks to re-establish its priority – landing Eagle on the Sea of Tranquillity (Hancock 2014). Hamilton had already fought hard (and lost) to include user-error-checking in the code, an omission that almost led to the failure of Apollo 8 (Mindell, 2008).
Hamilton worked on the software for all the Apollo manned, and a few of the unmanned missions, Skylab on-board flight software and initial system software requirements for the Space Shuttle (Katz 2010, Hancock 2014, Spicer 2017). Her rigorous work during the Apollo missions that resulted in the creation of the foundations of modern software engineering were to become the bases for her Universal Systems Language (001AXES) and Development Before the Fact (DBTF) formal systems theory (Spicer 2017).
In 1976 Margaret Hamilton co-founded Higher Order Software where she applied her skilled methodology to defence projects. In 1986, she left HOS to found Hamilton Technologies, to accelerate the evolution software technology and to direct her advanced systems to complex projects for commercial and defence purposes.
Margaret Hamilton has published over 130 papers, proceedings and reports and has been involved in 60 projects and in 6 major programmes (Katz 2010). She has been the recipient of numerous awards and fellowships for her outstanding achievements. In a conference presentation in 2004, Hamilton said of software engineering: “Apollo was and still continues to be the catalyst for how it got started and how it continues to evolve.” (Hamilton 2004).
Rate and Review
Rate this article
Review this article
Log into OpenLearn to leave reviews and join in the conversation.
Article reviews