Welcome to History of Data Science. Discover the stories of heroes who transformed our daily lives!

BROUGHT TO YOU BY Dataiku Dataiku

xperiences-ico Xperiences
Computer Science / Programming Dataiku Favorite

Margaret Hamilton: The First Software Engineer

4 min read
American computer pioneer Margaret Hamilton (1936) was critical to landing astronauts on the Moon for the first time on July 20, 1969. She also coined the term “software engineer” to describe her work and highlight the importance of this previously underrated area of expertise.

Hamilton studied mathematics and philosophy at Earlham College in Richmond and, upon graduating in 1958, she taught high school mathematics for a while. When she moved to Boston, she initially planned to study abstract mathematics at Brandeis University but ended up accepting a job at the Massachusetts Institute of Technology (MIT) where she began programming software to predict the weather.

To the Moon and Beyond

In the early 1960s, she joined MIT’s Lincoln Laboratory where she was involved in the Semi-Automatic Ground Environment (SAGE) project, the first U.S. air defense system. Hamilton then hopped over to MIT’s Instrumentation Laboratory (now the independent Charles Stark Draper Laboratory), responsible for providing aeronautical technology to the newly-founded National Aeronautics and Space Administration (NASA).

She is arguably most famous for co-creating the onboard flight software for the Apollo missions, including Apollo 11 — in particular, to detect system errors and recover information in a computer crash. At the time, software engineering was not taught in schools, so the team members had to figure out any problem on their own. But her approach was so rigorous that no software bugs are ever known to have occurred during any crewed Apollo missions.

“Looking back, we were the luckiest people in the world. There was no choice but to be pioneers; no time to be beginners.”

Defining and Promoting a New Discipline

When Hamilton started using the term “software engineering” during the early Apollo missions, software development was not taken seriously compared to other kinds of engineering, nor was it regarded as a science. She was determined to put software development on an even footing with other engineering disciplines.

She left MIT in the mid-1970s to work in the private sector. She co-founded Higher Order Software in 1976, which further developed error prevention and fault tolerance. 10 years later, she established Hamilton Technologies with the aim of modernizing the planning, system engineering, and software development process.