Margaret Hamilton (software engineer)

Engineer

Birthday August 17, 1936

Birth Sign Leo

Birthplace Paoli, Indiana, U.S.

Age 87 years old

Nationality United States

#14653 Most Popular

1936

Margaret Elaine Hamilton (Heafield; born August 17, 1936) is an American computer scientist, systems engineer, and business owner.

She was director of the Software Engineering Division of the MIT Instrumentation Laboratory, which developed on-board flight software for NASA's Apollo program.

Margaret Elaine Heafield was born August 17, 1936, in Paoli, Indiana, to Kenneth Heafield and Ruth Esther Heafield (Partington).

1954

The family later moved to Michigan, where Margaret graduated from Hancock High School in 1954.

1955

She studied mathematics at the University of Michigan in 1955 before transferring to Earlham College, where her mother had been a student.

1958

She earned a BA in mathematics with a minor in philosophy in 1958.

She cites 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 says her poet father and headmaster grandfather inspired her to include a minor in philosophy in her studies.

In Boston, Hamilton initially intended to enroll in graduate study in abstract mathematics at Brandeis University.

1959

However, in mid-1959, Hamilton began working for Edward Norton Lorenz, in the meteorology department at 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 publications on chaos theory.

At the time, computer science and software engineering were not yet established disciplines; instead, programmers learned on the job with hands-on experience.

1961

She moved on to another project in the summer of 1961, and hired and trained Ellen Fetter as her replacement.

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 predict weather systems and track their movements using simulators.

SAGE was soon developed for military use in anti-aircraft air defense.

Hamilton said:

"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."

It was her efforts on this project that made her a candidate for the position at NASA as the lead developer for Apollo flight software.

1965

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 the first programmer hired for the Apollo project at MIT and the first female programmer in the project, and later became Director of the Software Engineering Division.

She was responsible for the team writing and testing all on board 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.

Her areas of expertise include: systems design and software development, enterprise and process modeling, development paradigm, formal systems modeling languages, system-oriented objects for systems modeling and development, automated life-cycle environments, methods for maximizing software reliability and reuse, domain analysis, correctness by built-in language properties, open-architecture techniques for robust systems, full life-cycle automation, quality assurance, seamless integration, error detection and recovery techniques, human-machine interface systems, operating systems, end-to-end testing techniques, and life-cycle management techniques.

These techniques are intended to make code more reliable because they help programmers identify and fix errors sooner in the development process.

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 whilst working in the simulator.

The result was a series of unexpected error codes during the live descent.

1976

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

Hamilton has published more than 130 papers, proceedings, and reports, about sixty projects, and six major programs.

She invented 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."

2016

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.