The Achievements and Legacy of Margaret Hamilton
Table of contents
Margaret Hamilton has an astonishingly long list of achievements. She is a renowned mathematician, computer scientist, systems engineer, and even business owner. Margaret is an inspiring woman who has achieved great things in a male-dominated field. She is commonly accredited for coining the term “software engineering”, and one of her most notable accomplishments was playing a key role in essentially coding man to the moon.
Motivation
After researching several software engineers, I chose to write this piece about Margaret Hamilton for several reasons. Firstly, and most obviously, she is one of the most influential software engineers of the 20th Century. She is a woman - and a mother - in a male dominated industry, but this did not deter her. From learning about her career, I was most inspired by her attitude that she could achieve anything she wanted and that anything was possible. She put herself forward for intimidating projects, but nothing fazed her. The software engineering industry is certainly less dominated by males today, but I hope that the efforts being made to encourage more women to pursue a career in software engineering will be successful, and not to fill a quota or contribute to a favourable statistic but based on true passion and merit. Hamilton is certainly a true inspiration for this.
Early Life
Margaret Hamilton was born in August 1936 in Paoli, Indiana, to parents Kenneth and Ruth Esther Heafield. She has two younger siblings: David and Kathryn. The family moved to Michigan, where Margaret graduated from high school and studied mathematics at the University of Michigan (1955), before soon transferring to Earlham College. She earned a BA in mathematics with a minor in philosophy in 1958. Her father, a philosopher and poet, and grandfather, a school headmaster and Quaker minister, inspired her to minor in philosophy. When Margaret graduated, the software engineering industry did not exist, and was certainly not a subject taught in university. After meeting her husband, James Cox Hamilton, at Earlham College, the couple moved to Connecticut to allow James to attend Harvard Law School. They then moved to Massachusetts where James would attend graduate law school and Hamilton intended on pursuing graduate studies in abstract mathematics, but she instead secured a job as a programmer at MIT. At this time, pre-1970, men tended to fill the more prestigious and better paying hardware engineering roles often delegated the writing of software to women. She learned on the job with hands-on experience as computer science was not yet an established discipline. This was how Margaret began her career and took her first steps, perhaps unknowingly, towards becoming one of the founding figures of software engineering.
Sage
Hamilton’s plan was to work temporarily at MIT to support her husband, James Cox Hamilton, through graduate law school before pursuing her own graduate studies in mathematics. At the time, the field of computing was still relatively new. Computers were large and often took up entire rooms, if not an entire warehouse, and programming was very much in a developmental stage.
“When I first got into it, nobody knew what it was that we were doing,” Hamilton told Wired Magazine. “It was like the Wild West. There was no course in it. They didn’t teach it.”
From 1961 to 1963, Hamilton worked on the Semi-Automatic Ground Environment (SAGE) Project at the MIT Lincoln Lab. She wrote software for the US Air Force to search for malicious aircraft and for satellite tracking. The SAGE system was a radar system through programming, used to predict weather systems and track their movements using simulators, and it was developed for military use in anti-aircraft defence from potential Soviet attacks during the Cold War. Hamilton said:
“…the person who wrote it took delight in the fact that all of his comments were in Greek and Latin. So, I was assigned this program and I actually got it to work. It even printed out its answers in Latin and Greek. I was the first one to get it to work”
It was while working on the SAGE project that Hamilton discovered her subsequently career-long interest in errors, what causes them, and how to avoid them. As a student who has only been programming for just over two years, this also interested me as resolving errors is a fundamental aspect of programming. Hamilton detailed:
“SAGE was one of the first jumping off points where I became interested in the subject of software reliability. When the computer crashed during the execution of your program, there was no hiding. Lights would be flashing, bells would be ringing and everyone, the developers and computer operators, would come running to find out whose program was doing something bad to the system.
The only information the computer provided to the developer for debugging his program was to light up a very large register on the console of the computer, showing the address where the program halted. When my program was running, it always sounded like the sound of waves on a beautiful seashore…”
Incidentally, Hamilton’s efforts on the SAGE project made her a candidate for the position at NASA as a leading software developer for Apollo flight software.
Nasa And The Apollo Missions
Hamilton then joined the Draper Laboratory at MIT, which was working on the Apollo space mission. At the time, software and programming were not high on NASA’s list of priorities, and astonishingly software was omitted from the original budget which outlined the engineering requirements for the missions. When Hamilton learned that MIT had received the contract to develop software to send man to the moon for the first time, she immediately put herself forward to work on it.
“I immediately called MIT to see if I could be involved in what sounded like the opportunity of a life time, and within hours I set up interviews with the two project managers at MIT. Both of them offered me a position on the same day as the interviews.”
Hamilton relished the chance to work in a research environment in a pioneering time for software engineering, on a real-world system developed in unchartered territory.
At the time of the lunar landings, programming was a very different activity to the photo (right) of Hamilton standing beside the hard copies of the source code for the Apollo Guidance Computer (AGC).Hamilton and her team at MIT wrote all of the code by hand. They wrote the AGC source code on source coding paper and gave it to the “keypunchers” to copy – a process which took hours. The code is written in assembly language and each line printed was a single machine instruction – hence the sheer volume of paper! Then, expert seamstresses, or “Little Old Ladies” as they were referred to, threaded copper wires through magnetic strings to create rope memory that was built into the onboard navigation computer.
One thing that remains the same, however, is the demanding and stressful nature of the task. Once, after a late-night party, Hamilton rushed to the lab to modify a piece of code that she realised was flawed, with the fear of accountability lingering over her, given the magnitude of the project, and the devastating effect that errors might have. This is one of many examples of Hamilton’s acute awareness of errors.
It was during this period that Hamilton coined the term “software engineering”, and the prevalence of this term today requires no explanation. It begs belief, however, that when Hamilton began to use the phrase, it was perceived to be amusing that software was considered a form of engineering, as at the time it was merely regarded as an art, rather than a science. However, software eventually and necessarily gained the same respect as any other discipline.
Adding code to prevent errors and mistakes was a key priority for Hamilton and her team. In Apollo 8, she was prevented from doing so, as she recounted:
“I remember trying very hard [to get] permission to be able to put more error detection and recovery into the software. So that if the astronaut made a mistake, the software would come back and say 'You can't do that.' But we were forbidden to put that software in because it was more software to debug… So we were very worried that what if the astronaut, during mid-course, would select pre-launch, for example? Never would happen, they said. Never would happen. It happened.”
Hamilton’s true flair for software engineering and error handling became apparent on July 20, 1969, during the Apollo 11 mission. While Neil Armstrong became a household name from the expedition, three minutes prior to him proclaiming the words “One small step for man…”, a “checklist error” occurred and the software overrode a command to switch the flight computer’s priority system to a radar system. Less important tasks were shed, and the system focused on steering the descent engine and providing landing information to the crew, allowing a safe lunar landing. The computer was programmed to do more than recognise error conditions – a complete set of recovery programs were incorporated into the software. The software eliminated lower priority, competing tasks and re-established important ones, effectively saving the mission.
Post Apollo
After Apollo, Hamilton worked on Skylab, the United States’ first space station, and some of the preliminary system software requirements for flight software. This was a logical continuation of the path she had been following and her area of specialization, which she explained in 2001:
As time went on, I got very interested, even more, and more interested in error detection and recovery, because of the errors that took place and how we could avoid them in the first place. We were doing simulation, much simulation, but of course, we couldn't test the flight in real time. We had to simulate it, and I got very interested in static analysis.”
By the time Hamilton left NASA in 1976 she had evolved a theory with six axioms, that have to do with defining software in such a way as to avoid interface errors. This was initially called Higher Order Software and she co-founded a company named to devise a complete tool suite environment that could eliminate such errors. They created a product called USE.IT, based on the HOS methodology developed at MIT, which was successfully used in several government projects. In 1985 Hamilton left the company and in 1986 founded Hamilton Technologies Inc. The company was developed around the Universal Systems Language (USL) and its associated automated environment, the 001 Tool Suite.
Awards
In 1986 Hamilton was honoured with the Augusta Ada Lovelace Award by the Association for Women in Computing. This is given to individuals who have excelled in the areas of outstanding scientific and technical advancement and extraordinary service to the computing community. The Apollo guidance system was so robust that no software bugs were found on any crewed Apollo missions, and was adapted for use in Skylab, the Space Shuttle and the first digital fly-by-wire systems in aircraft. Hamilton was honoured by NASA in 2003 with an award in recognition of the value of her innovations in the Apollo software development. In 2009, she received an Outstanding Alumni Award from Earlham College. In 2016, Hamilton was honoured by President Obama with the Presidential Medal of Freedom, the highest civilian award of the USA, for having made an especially commendable contribution to the national interests of the USA. In 2017 she received the “Computer History Museum Fellow Award” that honours exceptional men and women whose ideas have changed the world. IN 2018 and 2019 Hamilton was awarded an honorary doctorate by the Polytechnic University of Catalonia and Bard College respectively.
Legacy
Margaret Hamilton’s contribution to the software engineering industry cannot be understated. She will forever be tied to the phrase “software engineering” itself and has released several publications detailing her work. Her legacy is quantified by the 400-billion-dollar industry that exists today, and she is a prime example of how gender is not a limit, and anything can be achieved if you try. In a 2015 profile of Hamilton, Robert McMillan aptly stated:
“It might surprise today’s software makers that one of the founding fathers of their boys’ club was, in fact, a mother—and that should give them pause as they consider why the gender inequality of the Mad Men era persists to this day.”
Cite this Essay
To export a reference to this article please select a referencing style below