In 1969, the world watched the Apollo 11 mission with bated breath. For Margaret Hamilton and her team, the view was somewhat different; They watched the landing from MIT’s control room. Just before the module was due to land on the moon, the computer began flashing warning messages. Everyone’s heart stopped when the emergency was registered. However, it was immediately apparent that the problem was solving itself and that Hamilton’s work had saved the mission. The software she wrote with her team not only informed everyone about the problem, but actively compensated for it by restarting the program and concentrating on the only thing that mattered: landing the module safely. Minutes later, Neil Armstrong reported, “The eagle has landed.”
A new field
Margaret Hamilton, born in Paoli, Indiana, in 1936, never thought she would become a computer scientist, let alone one that would go down in American history. The modern computer was not built until seven years after her birth. Hamilton studied mathematics and philosophy at Earlham College in the 1950s, where she met her husband. Hamilton originally planned to teach math in high school, but her plans changed when she moved to Boston with her husband so he could study law at Harvard. To support the family, Hamilton took a job on a project at MIT while her husband was working on his degree. The project, led by Professor Edward Lorenz, involved the development of a weather forecasting system. Lorenz had advertised specifically for math majors, and Hamilton fit the bill. Under his tutelage, she learned what a computer is and accepted the challenge of writing software. She learned on the job and was inspired by Lorenz to continue experimenting with software.
Fascinated by software programming and eager to experiment in such a new field, Hamilton worked for MIT’s Lincoln Laboratory in the early 1960s. Here she continued to learn and practice programming while working on Project Semi-Automatic Ground Environment (SAGE), a system for identifying enemy aircraft. Hamilton’s software programming experience made her a perfect candidate for the Apollo 11 mission job, and she was the first to apply after seeing an ad in the newspaper.
Hamilton was chosen to lead the Software Engineering Division of MIT’s Instrumentation Lab, working with NASA, a team that would eventually have over 400 members. Her team was responsible for all of the code and programming required to send astronauts to the moon. The programming was much more complex than initially assumed. Because this type of work was so new, upper management gave the software team complete freedom. The only condition was that the mission had to succeed.
Hamilton and her team gave their all to the project, even working nights and weekends when needed. In addition to leading the team, Hamilton also assumed responsibility for writing code. She worked specifically on the guidance and control system code for the Command and Lunar Modules. In addition, she focused on programming systems to detect errors and recover information in the event the computers crashed. It was this program that saved the mission from landing at the last moment.
In writing this code, Hamilton discovered the need to account for human error. One evening while she was working, she had brought her daughter Lauren to the lab. Lauren, posing as an astronaut, accidentally pressed keys that rendered the simulation inoperable and erased the navigation data. Hamilton took her concerns to upper management, but was told astronauts are trained not to make mistakes. It was only after an astronaut made the same mistake during training that Hamilton was given permission to fix the “Lauren bug”.
After leaving MIT, Hamilton continued to work in software engineering in the 1970s and 1980s. She then founded her own software company and developed Universal Systems Language (USL). Using the lessons she learned from Apollo 11, Hamilton designed a coding system to make programming easier and more efficient. She wanted a system that was reliable and could correct errors before they happened. USL is still used today, mainly as a basis for other programming languages.
When Hamilton entered the world of software programming, it was a blank slate. Like inventors before her, she and her colleagues had to develop programs from scratch, and all problems had to be figured out and fixed from scratch. Her creative work in the new field had one mission: take America to the moon. Hamilton took up this mission with dedication, renewing the work done by those who came before her. Similarly, the work of Hamilton and her team has helped pave the way for future software engineers and computer scientists, continuing the path of innovation and community that defines American advancement in science and technology. Today there are approximately 4 million software engineers in the United States alone, all continuing the work started by Margaret Hamilton.
This article was originally published in American Essence Magazine.