Odetta

View Original

Margaret Hamilton: The First Software Engineer

See this content in the original post

Margaret Hamilton Employee Card

Image Courtesy: NASA

Early life

Hamilton (née Heafield) was born in Paoli, Indiana in 1936. She completed her bachelor’s in Mathematics at the University of Michigan and Earlham College in 1958. While her initial plan was to pursue graduate studies at Brandeis University, she instead took up a job at Massachusetts Institute of Technology (MIT) which ended up being the starting point of her journey to joining the National Aeronautics and Space Administration (NASA) team and playing a key role on the moon landing.

Apollo Space Mission

Hamilton’s first venture into programming was her development of software to predict weather patterns and her postgraduate work on meteorology. This led her to MIT’s Lincoln Laboratory where she worked on the Semi-Automatic Ground Environment (SAGE) project, the first US air defense system. Hamilton wrote the software for identifying enemy aircrafts. 

She later joined MIT’s Instrumentation Laboratory as a computer scientist where she led a team to develop the software used for guidance and control systems for the in-flight command and lunar modules of the Apollo mission. Her software to detect system errors and information recovery in case of a computer crash were crucial elements in the success of the Apollo 8 and Apollo 11 missions.

Margret Hamilton with her code she wrote for Apollo

Image Courtesy: wehackthemoon.com

Before the Apollo 8 mission, while Hamilton was working on the command module simulator, an accidental launching of a pre-launch program (P01) resulted in the system crashing. Hamilton suggested code that should be added to prevent future crashes from occurring, but her superiors maintained that the astronauts were trained to be perfect and would not make a mistake. As a precaution, Hamilton added a program note “Do not select P01 during flight”, despite insistence from management that this would never happen.

However, that is exactly what happened and resulted in all the navigation data being erased, making it impossible for the Apollo computer to know how to get the team back home. After spending 9 hours going through program listings, the NASA team came up with a way to upload new navigational data to the Apollo computer and thanks to Hamilton, the team was brought home safely.

Just before touchdown in the Sea of Tranquility, Apollo 11 started displaying worrying error messages. However, the team in Houston was not worried due to the programming of Hamilton and her team. The computer’s unique asynchronous processing meant that it knew it was overwhelmed with unnecessary calculations and that it should focus on the task at hand, which was to land on the surface of the moon. This internal prioritization of the computer resulted in the first moon landing.

Hamilton in an Apollo Command Module during her time as lead Apollo flight software designer

Image Courtesy: NASA

Post NASA career

After Hamilton’s time in NASA, she went on to set up her own software company and is the current CEO of Hamilton Technologies Inc (HTI). She also received multiple awards for her services such as the Augusta Ada Lovelace Award (1986) and the NASA Exceptional Space Act Award (2003). In 2016, she received the Presidential Medal of Freedom, the highest civilian honor in the USA. Margaret Hamilton is widely known to be the first person to coin the term ‘Software Engineering’.