📜 ⬆️ ⬇️

Margaret Hamilton: “They were worried that men might rebel; but it didn’t happen ”

Computer science innovator talks about how she led software development for the Apollo 11 mission landing on the moon



Barack Obama presents Margaret Hamilton the Presidential Medal of Freedom in 2016

Computer science pioneer Margaret Hamilton played a key role in landing the astronauts on the moon, which first occurred on July 20, 1969, 50 years ago, and also in safely returning them home a few days later. A young female programmer from MIT, with a small child, managed a team that created on-board flight software for Apollo missions, including Apollo 11 . This computer system was one of the most difficult for its time. Her rigorous approach to programming proved so successful that it is not known of any software error that occurred during the Apollo manned missions. “It symbolizes the generation of unsung women who helped send humanity into space,” said President Barack Obama in 2016 when he awarded Hamilton with the Presidential Freedom Medal , the highest civilian award in the United States. In 2017, she became one of the few women who worked for NASA, immortalized in the form of LEGO figures. On the occasion of the 50th anniversary of the first moon landing, Hamilton, 82 years old, recalls her pioneering work with computer technology.

Why did you get into programming? When you started, there were no degrees in computer science ...

I got married in 1958, immediately after receiving a diploma in mathematics and an additional degree in philosophy at Earlham College. We both could go to graduate school - I am in abstract mathematics, and my husband in chemistry - but I worked as a teacher in high school for a year, we had a daughter, and my husband decided that he wanted to get a law degree at Harvard. I found a job to provide for my family in the nearby MIT. The work was in the laboratory of Professor Edward Lorenz, the father of chaos theory, and was to develop a system that predicted the weather. He needed graduates with a mathematical education. We hired a nanny to take care of her daughter. There I learned what a computer is and how to write software. Computer science and programming did not yet exist as separate disciplines; programmers studied right at work. Lorentz’s love of experimenting with software turned out to be contagious, so I got infected.
')
How did you get into the Apollo project in 1964?

From writing programs, I moved on to detecting enemy aircraft in the Lincoln lab at MIT. I planned to return to graduate school when my husband saw an ad in a newspaper. MIT Instrumentation Laboratory was looking for people to develop software for "sending a man to the moon." The laboratory received a contract from NASA to create on-board flight software for the Apollo project, since it was she who also developed computing equipment for this. I was attracted by both the idea itself and the fact that no one had done this before. I was the first programmer and the first woman they hired. Male engineers were already working on the project, but they were in electronics, and this was not their area. And I already had such an experience. I think that in the laboratory they decided that I would cope with something new.

You first worked on Apollo unmanned mission software. But then you were gradually upgraded to the head of the team developing software for manned spacecraft, including Apollo 11. What was your responsibility?

There were two on-board computers - one on the Columbia command module, and the other on the lunar Eagle. Our task included software development, which was supposed to work on each module by itself, as well as their common software. At first, no one thought software would be such an important issue. However, gradually everyone began to understand how much everything depended on him. Our group has grown so much that as a result about 100 programmers worked in the team. At stake were the lives of astronauts. Our software needed to be extremely reliable, and it had to be able to detect errors and recover from them at any time during the mission. And all this should have corresponded to the iron.


Margaret Hamilton in 1969 listing software code developed by her team for Apollo missions

Have you had problems combining work as a programmer and motherhood?

Often in the evenings or on weekends, I took my little daughter, Lauren, with me to work. Once we were together, and I was engaged in a simulation of the mission of flying to the moon. She liked to imitate me, and play astronaut. She began to press the keys, and suddenly started a simulation. Then she pushed more keys, and the simulation fell. She chose a program that was supposed to run before launch - but at the same time the simulation was already "flying" to the moon. The computer had so little memory that it erased all the navigation data needed to fly. I thought: my goodness, this could happen by chance during a real mission. I suggested changing the program to prevent the possibility of starting the prelaunch segment during the flight.
However, the MIT and NASA authorities decided that the astronauts were too well trained to make such a mistake. And during the flight, in the next mission, Apollo 8, one of the astronauts on board accidentally did exactly what Lauren did. Error Lauren! I lifted the butch and insisted that the mission be reconfigured. After that, they, of course, already allowed to make changes to the program.

Most of the glory for the moon landing was taken by astronauts. However, they did this using the system you created that warned of emergency situations in flight. As Obama said: “Our astronauts did not have much time, but, fortunately, they had Margaret Hamilton.”

Shortly before landing, emergency warnings appeared on the priority computer display and the computer was overloaded. I saw how all this happened, standing in the control center at MIT. After that, we recreated the situation - the radar switch was in the wrong position, and took processor power. It quickly became clear that the software not only informed people of a hardware problem, but also compensated for them - reloaded and reassigned tasks with the highest priority. Error detection and recovery mechanisms came to the rescue. Everyone was relieved when they sat down - and that the astronauts were fine, and that the software worked perfectly.

As far as I understand, in the early days of programming women there were quite a lot. It was believed that this was women's work . Was this the case in your experience?

Programming was never considered female work, at least not in any of the many projects that I worked on. The manual computing people were overwhelmingly women, and many women used mechanical calculators such as Marchant - but they were not programmers. They did not write code. When I started working on the Apollo project, there were no more women writing code. Then, after a couple of years, few women appeared - some of whom worked for me. There have always been many more men.

Did the men annoy you lead them?

When I took control, one of the top bosses said that he had no doubt about my competence, but that he was worried that some men from my group might raise a riot. But that did not happen. More than anything else, we focused on missions and worked shoulder to shoulder to solve complex problems, trying to be on time in critical time frames. I was also lucky to have a very modern husband, especially for that time. Some men understood equality.

You invented, or at least popularized, the term software engineering [software development, software engineering]. Why did he need to come up with a new name?

In the early years of Apollo, programs were not taken as seriously as other engineering disciplines. Although we had a rather complex system of many components, we did not receive recognition for work in a truly serious field. Out of desperation, I coined the term, as if declaring: "Hey, we, in fact, are also engineers." For a long time it was perceived as a joke. And then one day at a meeting, one of the most respected iron gurus explained to everyone that he agreed with me. The process of creating software also needs to be considered as an engineering discipline, as is the case with hardware. It was a memorable moment.


Margaret Hamilton is immortalized in the form of figures for Lego from the NASA Women series

After Apollo, parts of your code were used in Skylab, the first space station, and then in the space shuttle program. You founded your own business, and used your experience to develop more affordable and reliable software. What lessons can programmers learn for themselves today from the Apollo project?

Recently, we were faced with systems that caused the plane to crash , and the pilot did not understand what was happening. Also, it became clear from the Apollo project - although it worked differently - that it is better to define the systems in advance to minimize the number of errors, instead of immediately issuing a bunch of code, which then will have to be fixed with patches, which will also need to be patched later . Apparently, this lesson has remained unlearned - in this regard, software is being developed in the same way as it was 50 years ago.



There is a famous photograph from 1969 where you are standing next to a stack of printed Apollo missions code that is almost the size of you. Recently, this image was compared with a photograph by Katie Bowman, a scientist who helped develop an algorithm that created the very first image of a black hole. She poses with a stack of hard drives of her project, and this photo montage has become viral. Do you remember how you took this photo and what you learned for yourself from this comparison?

The photograph was taken during the Apollo 11 mission by a photographer from MIT specially for newspapers. We got carried away, grabbed all the listings from Apollo in my office and built this tower. I tried to find a way to keep her upright. It did not seem to me that such a comparison was bad. At least they didn’t hide us. Although I do not envy Bowman, she had to fight all the sarcasm that can spread on the Internet. In a sense, the situation has become worse for women today.

What advice would you give to young women who want to build a career in programming?

Do not let fear seize you, and do not be afraid to say “I do not know” or “I do not understand” - there are no stupid questions. And do not 100% believe the so-called experts!

Source: https://habr.com/ru/post/460969/


All Articles