Let’s take a look at the story of the woman who led a legendary engineering success that changed the world’s future and coined the term ‘software engineering’ which will not fit into a blog post.
Margaret Heafield Hamilton (born August 17, 1936), who held a bachelor’s degree in mathematics, started working as a programmer at MIT at the age of 24. Her original plan was to support her husband, James Hamilton, during his three-year stint at Harvard Law and afterward work on her master’s degree.
However, after a while, the Apollo Space Program was introduced. Hamilton decided to stay in the laboratory, leading the Software Engineering Department, which developed in-flight software for NASA’s Apollo program.
At the time, no school taught software engineering, so team members had to solve problems independently.
Hamilton describes the early period of the Apollo mission in these words:
“When I first got into it, nobody knew what it was that we were doing. It was like the Wild West.”
During this period, Hamilton focused explicitly on software to detect system errors and recovery in a computer crash case. These elements would be crucial during the Apollo 11 mission (1969) that took astronauts Neil Armstrong and Buzz Aldrin to the Moon.
“The space mission software had to be man-rated. Not only did it have to work, it had to work the first time. Not only did the software itself have to be ultra-reliable, it needed to be able to perform error detection and recovery in real time. Our languages dared us to make the most subtle of errors. We were on our own to come up with rules for building software. What we learned from the errors was full of surprises.” — Margaret Hamilton
In NASA’s words, “One example of the value of Hamilton’s software work occurred during the Apollo 11 mission. Approximately three minutes before Eagle’s touchdown on the moon, the software overrode a command to switch the flight computer’s priority processing to a radar system whose ‘on’ switch had been manually activated due to a faulty written operations script provided to the crew. The action by the software permitted the mission to continue safely.”
In an interview with Wired, Hamilton mentioned she was perceived as an outlier in the 1960s work environment, as a working mother bringing her daughter to the lab on the weekends and evenings and letting her sleep on the office floor while she continued working on the Apollo. At other times Hamilton faced questions such as how she could leave her daughter at home. She also added that she left a party late at night and rushed to the lab to fix the code she realized was flawed.
In addition to her contribution to the Apollo project at NASA, Hamilton, who left her mark as the first person to introduce the concept of “software engineering”, was also interested in legitimizing software development as an engineering discipline at the beginning of his Apollo mission.
”There was no choice but to be pioneers.” — Margaret Hamilton
When she first started using the term “software engineering”, software development was not taken seriously and not seen as a science compared to other engineering disciplines. (Over time, the term gained the same respect as other technical disciplines. IEEE Software September / October 2018 issue marks the 50th anniversary of software engineering.)
Hamilton explains how she coined the term “software engineering”:
“When I first came up with the term, no one had heard of it before, at least in our world. It was an ongoing joke for a long time. They liked to kid me about my radical ideas. It was a memorable day when one of the most respected hardware gurus explained to everyone in a meeting that he agreed with me that the process of building software should also be considered an engineering discipline, just like with hardware. Not because of his acceptance of the new ‘term’ per se, but because we had earned his and the acceptance of the others in the room as being in an engineering field in its own right.”
Hamilton was honored by NASA in 2003 for her work and innovations in developing Apollo software.
In 2016, she received the Presidential Medal of Freedom from President Barack Obama for NASA’s work to develop in-flight software for the Apollo Moon mission.
In 2017, LEGO launched a “NASA Women” LEGO set featuring the mini-figure of Margaret Hamilton, along with Mae Jemison, Sally Ride, and Nancy Grace Roman.
In 2019, Google decided to give Hamilton homage to celebrate the 50th anniversary of the Apollo 11 landing, configuring the 107,000 mirrors at the Ivanpah factory to create a picture of Hamilton and Apollo 11 in the moonlight.
Margaret Hamilton’s contributions to the scientific world go beyond playing an essential role in getting people to the moon. In addition to the projects she worked on, her scientific articles, and her work at her company, Hamilton made significant contributions to creating fundamental principles and building blocks of programming and improvements in fault tolerance and reliability. She also deserves enormous praise for being a role model and pioneer in helping more women move and succeed in STEM fields such as software.
Author: Gizem Terzi Türkoğlu Date Published: Sep 3, 2020
Example of Assembly code written by Margaret Hamilton that calculates trigonometric function: