Margaret Hamilton: Lead software designer, Apollo missions

(what's a "Modern Worthy"? click here to find out!)
This is a great photo I just ran across on the internets. It said it was “Margaret Hamilton, Apollo program”, but it didn’t say who Margaret Hamilton was. Margaret Hamilton was the lead software engineer for Project Apollo.

Hamilton’s work prevented an abort of the Apollo 11 moon landing. Hamilton coined the term “software engineering.” Hamilton was a badass.

(via Kim Tang – thank you for sending it in!)

6 Responses to “Margaret Hamilton”

  1. Blah

    Crap, I’ve never even heard of her. Stupid 1950s scientists! People like her need way more credit!

  2. Oznogon Games

    Since this has been bouncing around lately with the Apollo 11 source code getting popular on GitHub, see also this Vox interview with her: http://www.vox.com/2015/5/30/8689481/margaret-hamilton-apollo-software
    and this Wired interview: http://www.wired.com/2015/10/margaret-hamilton-nasa-apollo/
    and this Apollo project archive: http://www.ibiblio.org/apollo/index.html
    and the Moon Machines documentary: https://www.youtube.com/watch?v=9YA7X5we8ng&list=PLTu8nanTJo7GvulBxz9JT9JcXeXimM1Vr&index=3

    Namely:

    – Hamilton was the lead engineer on the Apollo Guidance Computer, not the entire Apollo project. The guidance computer was developed by a lab at MIT that Hamilton worked for, not NASA itself. But the AGC was arguably one of the most crucial parts, since it handled navigation for both the command and lunar modules, including the moon landing itself.

    – She wasn’t just a prominent engineer on the project. She led the team of engineers who implemented the software design. Some of those engineers were also women.

    – While Hamilton’s team wrote the code, the physical implementation was in coils of wires woven by expert weavers. Most of them were women, to the point that NASA engineers nicknamed the memory they implemented “LOL memory”, for “little old lady”.

    – Hamilton’s daughter discovered an error while playing with the guidance computer’s keyboard interface. NASA overruled her request to add error-handling code to prevent problems if an astronaut were to do the same, because astronauts wouldn’t make mistakes. Naturally, an astronaut wound up doing the same thing her daughter did during Apollo 8, wiping out all of the computer’s navigation data. Hamilton was part of the group who bailed them out by sending new data.

    – The work of Hamilton and her team is considered to be one of the first prominent examples of software engineering, particularly the practices of documented code and testing. Computers before that point were typically either hardwired or programmed live with each instruction; software (soft-coded, repeatable sets of instructions) didn’t exist until 1948, and the Apollo project was the largest-scale software project to date. (Remember, most operating systems and programming languages as we know them today didn’t exist until a few years later!)

    – Hamilton wasn’t officially recognized for her work until 2003: https://www.hq.nasa.gov/alsj/a11/a11Hamilton.html

    – She still runs her own company, Hamilton Technologies, which specializes in high-reliability software implementation and development processes.

    – You can run the AGC today via Moonjs, a web implementation of the Virtual AGC emulator: http://svtsim.com/moonjs/agc.html

    – You can view the source code at https://github.com/chrislgarry/Apollo-11.