Margaret Hamilton
Photo: Daphne Weld Nichols, CC BY-SA 3.0, via Wikimedia Commons29

Margaret Hamilton

American software engineer (1936–2026)

Margaret Elaine Hamilton (née Heafield; August 17, 1936 – September 30, 2026) was an American computer scientist. She directed the Software Engineering Division at the MIT Instrumentation Laboratory, where she led the development of the on-board flight software for NASA's Apollo Guidance Computer for the Apollo program.2

From Wikipedia’s article on Margaret Hamilton (this version), CC BY-SA 4.0.

Born Aug 17, 1936, died Sep 30, 2026.1

About

She later founded the software companies Higher Order Software in 1976 and Hamilton Technologies in 1986 — both in Cambridge, Massachusetts.

Hamilton published more than 130 papers, proceedings, and reports, about sixty projects, and six major programs. She coined the term software engineering, stating, "I began to use the term 'software engineering' to distinguish it from hardware and other kinds of engineering, yet treat each type of engineering as part of the overall systems engineering process."

On November 22, 2016, Hamilton received the Presidential Medal of Freedom from President Barack Obama for her work leading to the development of on-board flight software for NASA's Apollo moon missions.

From Wikipedia’s article on Margaret Hamilton, shared under CC BY-SA 4.0.2

Companies

Early life and education

  • 1958Earlham College Bachelor of Arts; mathematics3 4
  • Date not recordedUniversity of Michigan College of Literature, Science, and the Arts3

Margaret Heafield was born on August 17, 1936, in Paoli, Indiana, to Kenneth Heafield and Ruth Esther Heafield (née Partington). The family later moved to the Upper Peninsula of Michigan, and Margaret graduated from Hancock High School in 1954.

She studied mathematics at the University of Michigan in 1955 before transferring to Earlham College in Indiana, where her mother had been a student. She earned a Bachelor of Arts (BA) degree in mathematics with a minor in philosophy in 1958. She cited Florence Long, the head of the math department at Earlham, as helping with her desire to pursue abstract mathematics and become a mathematics professor. She said her poet father and headmaster grandfather inspired her to include a minor in philosophy in her studies.

From Wikipedia’s article on Margaret Hamilton (this version), CC BY-SA 4.0.

Career

Occupation: entrepreneur, switchboard operator, businessperson, programmer, tour guide, engineer, systems engineer, school teacher.11 12

Known for: Apollo Guidance Computer, Universal Systems Language.13

In Boston, Hamilton initially intended to enroll in graduate study in abstract mathematics at Brandeis University. However, in mid-1959, Hamilton began working for Edward Norton Lorenz, in the meteorology department at Massachusetts Institute of Technology (MIT). She developed software for predicting weather, programming on the LGP-30 and the PDP-1 computers at Marvin Minsky's Project MAC. Her work contributed to Lorenz's future publications on chaos theory, as acknowledged by Lorenz himself. At the time, computer science and software engineering were not yet established disciplines; instead, programmers learned on the job with hands-on experience. She moved on to another project in the summer of 1961, and hired and trained Ellen Fetter as her replacement.

SAGE Project

From 1961 to 1963, Hamilton worked on the Semi-Automatic Ground Environment (SAGE) Project at the MIT Lincoln Lab, where she was one of the programmers who wrote software for the prototype AN/FSQ-7 computer (the XD-1), used by the U.S. Air Force to search for possibly unfriendly aircraft. She also wrote software for a satellite tracking project at the Air Force Cambridge Research Laboratories. The SAGE Project was an extension of Project Whirlwind, started by MIT to create a computer system that could be used as a flight simulator. By September 1951, SAGE had been modified to serve military purposes more directly, and Whirlwind computers had been repurposed for use with radar systems in air defense.

Hamilton said of her work on SAGE:

What they used to do when you came into this organization as a beginner, was to assign you this program which nobody was able to ever figure out or get to run. When I was the beginner they gave it to me as well. And what had happened was it was tricky programming, and the person who wrote it took delight in the fact that all of his comments were in Greek and Latin. So I was assigned this program and I actually got it to work. It even printed out its answers in Latin and Greek. I was the first one to get it to work.

Hamilton also recalled that it was while working on SAGE that she began to understand the importance of software quality, particularly software stability. A program crash would trigger an alarm visible to other programmers and SAGE system operators.

Read more

MIT Instrumentation Laboratory and the Apollo Guidance Computer

Hamilton learned of the Apollo project in 1965 and wanted to get involved due to it being "very exciting" as a Moon program. She joined the MIT Instrumentation Laboratory, which developed the Apollo Guidance Computer for the Apollo lunar exploration program. Hamilton was initially hired as a programmer for this process but moved on into systems design.

Her first program for the Apollo mission involved lunar landmark tables for an unmanned mission to the Moon. After the mission had already launched, it was discovered that the tables had been entered in reverse order. Nevertheless, the mission was ultimately successful.

Hamilton recalled that during the next mission, she was still treated as a novice programmer. She believed this was why she had been assigned to write a contingency program that was never expected to be executed. She even named the program "Forget It". However, the program proved crucial when the unlikely scenario actually occurred. Hamilton became the mission expert, and control was handed over to "Forget It".

With time she became Director of the new Software Engineering Division. She was responsible for the team writing and testing all onboard in-flight software for the Apollo spacecraft's Command and Lunar Module and for the subsequent Skylab space station. Another part of her team designed and developed the systems software. This included error detection and recovery software such as restarts and the Display Interface Routines (also known as the Priority Displays), which Hamilton designed and developed. She worked to gain hands-on experience during a time when computer science courses were uncommon and software engineering courses did not exist.

Olivier de Weck, the Apollo Program Professor at MIT, later called Hamilton "a pioneer" in the new field of software engineering and "a fundamental contributor" to the Apollo program. He added that she not only was an advanced systems programmer in her own right, but also headed a team that developed "one of the most complex systems humanity had ever achieved".

Apollo 11 landing

In one of the critical moments of the Apollo 11 mission, the Apollo Guidance Computer, together with the on-board flight software, averted an abort of the landing on the Moon. Three minutes before the lunar lander reached the Moon's surface, several computer alarms were triggered. According to software engineer Robert Wills, Buzz Aldrin entered the codes to request that the computer display altitude and other data on the computer's screen. The system was designed to support seven simultaneous programs running, but Aldrin's request was the eighth. This action was something he requested many times while working in the simulator. The result was a series of unexpected error codes during the live descent. The on-board flight software captured these alarms with the "never supposed to happen displays" interrupting the astronauts with priority alarm displays.

Hamilton had prepared for just this situation years before:

There was one other failsafe that Hamilton likes to remember. Her "priority display" innovation had created a knock-on risk that astronaut and computer would slip out of sync just when it mattered most. As the alarms went off and priority displays replaced normal ones, the actual switchover to new programmes behind the screens was happening "a step slower" than it would today.

Hamilton had thought long and hard about this. It meant that if Aldrin, say, hit a button on the priority display too quickly, he might still get a "normal" response. Her solution: when you see a priority display, first count to five.

By some accounts, the astronauts had inadvertently left the rendezvous radar switch on (this is disputed by Robert Wills with the National Museum of Computing), causing these alarms to be triggered. The computer was overloaded with interrupts caused by incorrectly phased power supplied to the lander's rendezvous radar. The program alarms indicated "executive overflows", meaning the guidance computer could not complete all of its tasks in real time and had to postpone some of them. The asynchronous executive designed by J. Halcombe Laning was used by Hamilton's team to develop asynchronous flight software:

Because of the flight software's system-software's error detection and recovery techniques that included its system-wide "kill and recompute" from a "safe place" restart approach to its snapshot and rollback techniques, the Display Interface Routines (AKA the priority displays) together with its man-in-the-loop capabilities were able to be created in order to have the capability to interrupt the astronauts' normal mission displays with priority displays of critical alarms in case of an emergency. This depended on our assigning a unique priority to every process in the software in order to ensure that all of its events would take place in the correct order and at the right time relative to everything else that was going on.

Hamilton's priority alarm displays interrupted the astronauts' normal displays to warn them that there was an emergency "giving the astronauts a go/no-go decision (to land or not to land)". Jack Garman, a NASA computer engineer in mission control, recognized the meaning of the errors that were presented to the astronauts by the priority displays and shouted, "Go, go!" and they continued. Paul Curto, a senior technologist who nominated Hamilton for a NASA Space Act Award, called Hamilton's work "the foundation for ultra-reliable software design".

Hamilton later wrote of the incident:

The computer (or rather the software in it) was smart enough to recognize that it was being asked to perform more tasks than it should be performing. It then sent out an alarm, which meant to the astronaut, 'I'm overloaded with more tasks than I should be doing at this time and I'm going to keep only the more important tasks'; i.e., the ones needed for landing... Actually, the computer was programmed to do more than recognize error conditions. A complete set of recovery programs was incorporated into the software. The software's action, in this case, was to eliminate lower priority tasks and re-establish the more important ones... If the computer hadn't recognized this problem and taken recovery action, I doubt if Apollo 11 would have been the successful Moon landing it was.

Businesses

Hamilton co-founded with Saydean Zeldin a company called Higher Order Software (HOS) to further develop ideas about error prevention and fault tolerance emerging from their experience at MIT working on the Apollo program. They created a product called USE.IT, based on the HOS methodology they developed at MIT. It was successfully used in numerous government programs including a project to formalize and implement C-IDEF, an automated version of IDEF, a modeling language developed by the U.S. Air Force in the Integrated Computer-Aided Manufacturing (ICAM) project. In 1980, British-Israeli computer scientist David Harel published a proposal for a structured programming language derived from HOS from the viewpoint of and/or subgoals. Others have used HOS to formalize the semantics of linguistic quantifiers, and to formalize the design of reliable real-time embedded systems.

Hamilton was the CEO of HOS and left the company later on. In March 1986, she founded Hamilton Technologies, Inc. in Cambridge, Massachusetts. The company was developed around the Universal Systems Language (USL) and its associated automated environment, the 001 Tool Suite, based on her paradigm of development before the fact for systems design and software development.

From Wikipedia’s article on Margaret Hamilton (this version), CC BY-SA 4.0.

Personal life

  • BornAug 17, 1936, Paoli7 14
  • DiedSep 30, 2026, Cambridge15 16
  • CitizenshipUnited States17 18
  • SpouseDan Lickly 1969 to 197019
  • Children120

Hamilton had a sister, Kathryn Heafield. She met her first husband, James Cox Hamilton, in the mid-1950s while attending college. They married on June 15, 1958, the summer after she graduated from Earlham. She briefly taught high school mathematics and French at a public school in Boston, Indiana. The couple then moved to Boston, Massachusetts, where they had a daughter, Lauren, born on November 10, 1959. They divorced in 1967 and Margaret married Dan Lickly two years later. Margaret and Dan Lickly divorced in the early 1970s.

Hamilton died on September 30, 2026 at the age of 90, at a hospital in Cambridge, Massachusetts, due to multiple organ failure.

From Wikipedia’s article on Margaret Hamilton (this version), CC BY-SA 4.0.

Awards

  • 2025Doctor of Science (honorary)21 27
  • 2024honorary doctor of the University of Michigan21 26
  • 2022National Aviation Hall of Fame21
  • 2019Washington Award21 24
  • 2019honorary doctorate from Bard College21 25
  • 2018honorary doctor of the University Polytechnic of Catalonia18 21
  • 2017Computer History Museum Fellow7 21
  • 2016Presidential Medal of Freedom21 23
  • 1986Ada Lovelace Award21 22

Sources

The numbers on this page point here. Each one links to the record it came from.

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29