Margret Hamilton was the lead software engineer for the Apollo Project.
Margret graduated from College in 1958 with a B.A in Mathematics and a minor in Philosophy. She then moved to Boston with her husband and intended to study Abstract Mathematics. Instead she accepted an interim position job at MIT. In 1960 software engineering was a largely unknown term, never mind an actual discipline, and coding was only able to be learnt on the job. Indeed, the phrase ‘software engineering’ was largely coined by Margret herself. Originally coding to create computers for predicting the weather, Hamilton went on to join the Charles Stark Draper Laboratory at MIT which was at that time working on the Apollo space missions.
Despite there being no real recognition, no formal teaching and as such no real budget, thanks to Hamilton and the MIT coding team it became increasingly clear that software engineering was going to be the key factor in allowing America to win the space race. As a result, in 1965 Hamilton became responsible for the onboard flight software on Apollos computers.
In an edition of ‘Datamation’ Hamilton wrote about how a computer issue on board could have caused problems for the moon landing, but was solved using code. Just minutes before touchdown the onboard computer was being sent erroneous signals from a rendezvous radar switch which had been placed in the wrong position and was causing the computer to be overloaded with data. The computer software was smart enough to recognize it was being asked to perform more tasks than it should have been. It sent out an alarm to inform the astronaut that it was being asked to do too much and would only continue with the most important tasks that were needed to land. ‘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,’ says Hamilton.
Hamilton had to fight to have another key piece of recovery software put in place. Hamilton brought her daughter Lauren to work with her she was playing with the display keyboard unit when error popped up. Lauren had managed to launch a prelaunch programme while the simulator was in midflight and had crashed the simulator system. Although an astronaut would never intentionally open this programme midflight, Hamilton wanted to add code that would prevent it from crashing and damaging any other systems, just in case. She was not allowed to add this piece of software in as it was considered excessive by the managers who insisted the launching of the programme midflight ‘would never happen.’ Instead, she was allowed to add a programme note telling the astronauts not to open it midflight, ‘Do not select PO1 during flight.’
Despite the consensus being that an astronaut would never open that programme preflight, that is exactly what happened. Astronaut Jim Lovell accidently opened the same programme Hamilton’s daughter had, midflight. It crashed the system and wiped all of the navigational data Lovell had been collecting, thus preventing Apollo returning home. Hamilton and the MIT coders worked to upload new navigational data from MIT, and safely brought Apollo home.
Hamilton and her teams software engineering didn’t just help get the human race to the moon, or even put software engineering on the map, it demonstrated the power of the future for software engineering. Hamilton went on the lead various software companies and now has her own company, Hamilton Technologies.
Written by Sophie Chadwick
Sources: https://en.wikipedia.org/wiki/Margaret_Hamilton_(scientist), http://www.wired.com/2015/10/margaret-hamilton-nasa-apollo/
Posted on Thursday Mar 24