July 18th, 2019
“There was no choice but to be pioneers.”
That’s how Margaret Hamilton describes working on the software that put us on the moon. Margaret led the team that developed the onboard flight software for all of NASA’s manned Apollo missions, including Apollo 11’s historic moon landing.
With the anniversary of that moon landing approaching, Google set out to shine a light on Margaret’s influence on Apollo, and on the field of software engineering itself. The tribute was created by positioning over 107,000 mirrors at the Ivanpah Solar Facility in the Mojave Desert to reflect the light of the moon, instead of the sun, like the mirrors normally do. The result is a 1.4-square-mile portrait of Margaret, bigger than New York’s Central Park.
At the MIT Instrumentation Lab in the 1960s, Margaret was working on code for the Apollo Guidance Computer. A working mom, she sometimes did what a lot of us do: she took her daughter, Lauren, to the office. Margaret would often test programs in the simulator, and Lauren liked to play astronaut like her mom. One day, Lauren crashed the simulator after she pressed a button that set off a prelaunch program while the mission was in mid-flight.
Margaret didn’t scold Lauren. Instead, she was struck with a thought: “What if an astronaut did the same thing during a real mission?” Margaret lobbied to add code that would prevent a system crash from actually happening if he did.
This way of thinking came to define Margaret’s work. She’d always ask, “What if something you never thought would happen, happens?” Then, she’d develop and test a system that would be prepared for that scenario.
Her “what if” mindset was crucial throughout the Apollo missions, where the software had to work perfectly and had to work the first time, in space. Keep in mind, this was at a time when software engineering literally wasn’t even a thing yet—Margaret herself coined the phrase “software engineering” while working on Apollo.
Margaret’s mindset most famously paid off moments before Apollo 11 was set to land. The guidance computer was overwhelmed with tasks and underwent a series of restarts, triggering alarms that could have forced an abort. But the team’s software was reliable, and the priority display (that Margaret created, and fought to include) let the astronauts and Mission Control know what they were dealing with. The Eagle was able to land safely, and Neil Armstrong was able to take that one small step.
As the anniversary of that historic moment approaches, we can all thank Margaret for her part in it. But I find myself thanking her for so much more:
For pioneering the field of software engineering. A field that has changed our world.
For reminding us to think always of the user, and to keep pushing to make software more reliable, and more helpful, for them.
For inspiring us all to take moonshots, showing us what’s possible when you work tirelessly toward them, and demonstrating what magic can come when you allow a child’s perspective to change the way you think about the world.