- 19 December 2023
Margaret Hamilton – The Software Engineer
We are in the golden age of software engineering. Today, almost every technology that shows the development of our civilisation is a product of software engineering. From intensive care units to mobile phones, we are constantly benefiting from the works of software engineers as we live intertwined with programmes everywhere and uninterruptedly.
But it wasn’t always like this. Fifty-five years ago, software engineering had not yet begun to directly affect all people. But even in those early days, the discipline was playing a leading role in a number of critical tasks, such as saving the lives of a few brave men and enabling human civilisation to make new discoveries.
Apollo 11 – Program Alarm!
Aldrin: We got the Earth right out our front window.
Aldrin: Houston, you’re looking at our DELTA-H.
Armstrong: Houston, you’re looking at our DELTA-H?
Mission Control: That’s affirmative.
Armstrong: Program alarm.
Mission Control: It’s looking good to us. Over.
Armstrong: 1202, 1202.
Aldrin: 1202.
Armstrong: What is it?
Aldrin: That’s in core…
Armstrong: Give us a reading on the 1202 program alarm.
Mission Control: Roger. We got – We’re GO on that alarm!
Above you can see radio transmissions recorded during the Apollo-11 mission. Although the Apollo 11 crew took things calmly, error 1202 was the first time they had ever seen it, and without the discipline provided by their excellent training, it would have been panic. But before we tell you all about it, let’s talk about the leader of the team that programmed the flight computer for the Apollo 11 mission, Margaret Heafield Hamilton.
The Hero’s Endless Journey
Margaret Heafield Hamilton was born on 17 August 1936 in the USA. She received a Bachelor of Science degree in Mathematics with a minor in Philosophy in 1958. In 1961 she was one of the programmers who wrote prototype software for the SAGE project at MIT Lincoln Laboratory. She later joined the MIT Instrumentation Laboratory, which developed the Apollo Guidance Computer for the Apollo Lunar Exploration Program.
Hamilton’s job at MIT was to produce error codes and warnings for emergencies. Many of the team believed that Hamilton’s codes would never be used because the emergencies she planned would never materialise.
Hamilton’s daughter Lauren, who was a young child at the time, often spent time in the laboratory with her mother, and her biggest fun was playing with flight simulators.
One day Lauren entered the code P01, a code that should only be entered during take-off, into the flight simulator in the laboratory and managed to crash the simulator. Hamilton then told her superiors about this mistake and asked for authorisation to correct it, but her superiors refused Hamilton’s request, saying that astronauts who had trained for years would not make such a simple mistake. Hamilton nevertheless added a program note to the codes, “Do not select P01 during flight.”
Of course, science often starts with the unthinkable. During the Apollo 8 mission, while the spacecraft was in lunar orbit, one of the astronauts who had been trained for years entered the code P01 into the computer and, as Hamilton had predicted, all the vehicle’s navigation information was erased. This oversight was resolved in an extremely tense 9-hour period by sending the navigation information back to Apollo 8, and the experience gained was used for other missions. Later, Hamilton became the Director of the Software Engineering Department at MIT.
Introduction to Software Engineering – Prioritization
Going back to Apollo 11, a few minutes before the above conversation, Apollo 11’s rendezvous radar was switched on to operate in SLEW mode as a safety precaution as the lunar module landed. The purpose of this radar was to allow the lunar module to rendezvous with the main vehicle in orbit in case of an emergency. Unknown to the crew and Mission Control, the radar even in SLEW mode, was sending intermittent signals to the Apollo guidance computer, filling its memory.
It is a terrible scenario if the computer’s memory fills up. It could have meant that the computer would not have been able to perform some of the tasks it was supposed to do during the landing, and a big step forward for humanity would have been left to another mission. Worse, the astronauts’ lives were at stake. Nevertheless, the astronauts and the mission control team were determined and would not give up on landing on the Moon unless they had to.
This is where the prioritization software that Hamilton and his team had prepared in advance as a precaution against such situations came into play. With this software, all secondary tasks and warnings were automatically canceled of such excessive memory usage. This freed up memory for main and critical tasks.
Houston was in control of the situation and Duke’s call was a relief to everyone “Eagle, looking great. You’re Go.” That great step for mankind was taken by a group of smart computer programmers who anticipated events and took the necessary precautions.
Legacy of the Hero – Software Engineering
During his work on the Apollo missions, Hamilton came up with another idea. “Software Engineering”. When she first coined the term, as she put it, everyone liked to make fun of her. But then the term was adopted and programming activities were recognized and respected as an engineering science, just like hardware activities.
Margaret Hamilton was ahead of her time in software engineering. In 1986 she received the Augusta Ada Lovalace Award from the Association for Women in Computing and in 2016 she was awarded the Medal of Freedom by US President Barrack Obama for all her achievements. In 2022, she was inducted into the National Aviation Hall of Fame in Dayton, Ohio.
Now 88 years old, Margaret Hamilton is a living hero for software engineers. Her contributions to software engineering will continue to be talked about and rewarded for many years to come. Today, it is possible to find traces of her in a corner of our programs that are much more advanced than Apollo 11 technology. Hamilton’s journey is not just a chapter in the history of software engineering; it is a narrative that continues to shape the future.
Don’t forget to follow us on our social media accounts!