Margret Hamilton was the lead software engineer for the Apollo Project, she is standing next to the code she wrote by hand in the above picture.
She graduated from College in 1958 with a B.A in Mathematics and a minor in Philosophy. After moving to Boston with her husband with the hopes of studying Abstract Mathematics she accepted an interim position job at MIT in 1960. Software engineering was an unheard of 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 was moved a few years later joined 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 to the higher ups 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 and 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 try have another key piece of recovery software put in place. According to ‘Wired’ one day when 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 crash 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 her peers 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’s software engineering didn’t just help man get to the moon, the advances she didn’t just dhow us software engineering existed, they demonstrated 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
Posted on Thursday Mar 24