Margaret Hamilton

The software pioneer who guided Apollo to the Moon and gave the discipline its name.
Margaret Elaine Hamilton is an American computer scientist who directed the Software Engineering Division at the MIT Instrumentation Laboratory, leading development of the on-board flight software for NASA's Apollo Guidance Computer. Her work made the Apollo 11 lunar landing possible and she is widely credited with coining the term "software engineering" — insisting that the discipline deserved the same rigour as any branch of engineering.
Early Life and Education
Hamilton was born on 17 August 1936 in Paoli, Indiana. She studied mathematics at Earlham College in Richmond, Indiana, graduating in 1958. Her original plan was to pursue graduate study in mathematics, but an opportunity at MIT redirected her toward a field that barely existed yet.
The Apollo Software Programme
In the early 1960s Hamilton joined MIT's Instrumentation Laboratory, where she rose to lead the team responsible for the on-board flight software for the Apollo Guidance Computer. At a time when software was treated as a secondary concern — something to be written after the hardware was finished — Hamilton argued relentlessly for systematic design, exhaustive error-checking, and priority-scheduling so the computer could recover from unexpected conditions mid-flight.
That insistence proved decisive. During the Apollo 8 mission, a pre-launch checklist error caused the navigation data to be erased mid-flight. Hamilton's priority-display system allowed the crew and ground controllers to identify and respond to the problem without aborting the mission. By the time Apollo 11 descended toward the Sea of Tranquility on 20 July 1969, the guidance computer was managing dozens of simultaneous tasks; when it became overloaded in the final minutes, the priority software shed lower-priority jobs automatically, kept the critical landing routines running, and the Eagle landed safely.
Coining "Software Engineering"
Hamilton introduced the phrase "software engineering" deliberately, wanting to elevate the practice to the same standing as other engineering disciplines — with formal methods, defined interfaces, and accountability for errors. The term became the standard name for the field.
Founding Her Own Companies
After Apollo, Hamilton continued to advance the theoretical foundations of software design. She founded Higher Order Software in 1976, developing the USE.IT methodology for systems design based on the lessons of Apollo. In 1986 she founded Hamilton Technologies, also in Cambridge, Massachusetts, to commercialise her Universal Systems Language (USL) — a formal language for specifying systems before a line of code is written.
"There was no word for it. I began to use the term 'software engineering' to distinguish it from hardware and other kinds of engineering. When I first started using this phrase, it was considered to be quite amusing." — Margaret Hamilton




