Innovadora en informática habla sobre cómo dirigió el desarrollo de software para la misión Apolo 11 que aterrizó en la luna
Barack Obama presenta a Margaret Hamilton la Medalla Presidencial de la Libertad en 2016La pionera en ciencias de la computación
Margaret Hamilton jugó un papel clave en el aterrizaje de los astronautas en la luna, lo que ocurrió por primera vez el 20 de julio de 1969, hace 50 años, y también en regresarlos a casa con seguridad unos días más tarde. Una joven programadora del MIT, con un niño pequeño, dirigió un equipo que creó un software de vuelo a bordo para las misiones Apollo, incluido el
Apollo 11 . Este sistema informático fue uno de los más difíciles para su época. Su riguroso enfoque de programación ha tenido tanto éxito que no se ha producido ningún error de software durante las misiones tripuladas de Apollo. "Simboliza la generación de mujeres no reconocidas que ayudaron a enviar a la humanidad al espacio", dijo el presidente Barack Obama en 2016 cuando otorgó a Hamilton la
Medalla de la Libertad Presidencial , el premio civil más alto en los Estados Unidos. En 2017, se convirtió en una de las pocas mujeres que trabajaban para la NASA, inmortalizada en forma de figuras de LEGO. Con motivo del 50 aniversario del primer alunizaje, Hamilton, de 82 años, recuerda su trabajo pionero con la tecnología informática.
¿Por qué te metiste en la programación? Cuando comenzaste, no había títulos en informática ...Me casé en 1958, justo después de recibir un diploma en matemáticas y un título adicional en filosofía en Earlham College. Ambos podíamos ir a la escuela de posgrado, estoy en matemáticas abstractas y mi esposo en química, pero trabajé como maestra en la escuela secundaria durante un año, tuvimos una hija y mi esposo decidió que quería obtener un título de abogado en Harvard. Encontré un trabajo para mantener a mi familia en el cercano MIT. El trabajo fue en el laboratorio del profesor Edward Lorenz, el padre de la teoría del caos, y fue desarrollar un sistema que predijera el clima. Necesitaba graduados con educación matemática. Contratamos a una niñera para cuidar a su hija. Allí aprendí qué es una computadora y cómo escribir software. La informática y la programación aún no existían como disciplinas separadas; Los programadores estudiaron en el trabajo. El amor de Lorentz por experimentar con el software resultó ser contagioso, así que me infecté.
¿Cómo te metiste en el proyecto Apollo en 1964?De escribir programas, pasé a buscar aviones enemigos en el laboratorio de Lincoln en el MIT. Planeaba regresar a la escuela de posgrado cuando mi esposo vio un anuncio en un periódico. El laboratorio de instrumentos de medición del MIT estaba buscando personas para desarrollar software para "enviar a un hombre a la luna". El laboratorio recibió un contrato de la NASA para crear un software de vuelo a bordo para el proyecto Apollo, ya que fue ella quien también desarrolló equipos informáticos para esto. Me atrajo tanto la idea misma como el hecho de que nadie había hecho esto antes. Fui el primer programador y la primera mujer que contrataron. Los ingenieros hombres ya estaban trabajando en el proyecto, pero estaban en electrónica, y esta no era su área. Y ya tuve esa experiencia. Creo que en el laboratorio decidieron que haría frente a algo nuevo.
Primero trabajó en el software de misión no tripulada Apollo. Pero luego lo ascendieron gradualmente al jefe del equipo de desarrollo de software para naves espaciales tripuladas, incluido el Apollo 11. ¿Cuál fue tu responsabilidad?Había dos computadoras a bordo: una en el módulo de comando de Columbia y la otra en el águila lunar. Nuestra tarea consistía en desarrollar software que supuestamente funcionara en cada módulo por sí mismo, así como su software común. Al principio, nadie pensó que el software sería un tema tan importante. Sin embargo, gradualmente todos comenzaron a comprender cuánto dependía todo de él. Nuestro grupo ha crecido tanto que, como resultado, unos 100 programadores trabajaron en el equipo. En juego estaban las vidas de los astronautas. Nuestro software debía ser extremadamente confiable, y debía ser capaz de detectar errores y recuperarse de ellos en cualquier momento durante la misión. Y todo esto debería haber correspondido al hierro.
Margaret Hamilton en 1969 enumeró el código de software desarrollado por su equipo para las misiones Apollo¿Has tenido problemas para combinar el trabajo como programador y la maternidad?A menudo, por las tardes o los fines de semana, llevaba a mi pequeña hija, Lauren, a trabajar. Una vez que estuvimos juntos, y yo participé en una simulación de la misión de volar a la luna. Le gustaba imitarme y jugar a ser astronauta. Ella comenzó a presionar las teclas, y de repente lanzó una simulación. Luego presionó más teclas, y la simulación cayó. Ella eligió un programa que se suponía que debía ejecutarse antes del lanzamiento, pero al mismo tiempo la simulación ya estaba "volando" a la luna. La computadora tenía tan poca memoria que borró todos los datos de navegación necesarios para volar. Pensé: Dios mío, esto podría suceder por casualidad durante una misión real. Sugerí cambiar el programa para evitar la posibilidad de comenzar el segmento de prelanzamiento durante el vuelo.
Sin embargo, las autoridades del MIT y la NASA decidieron que los astronautas estaban demasiado bien entrenados para cometer tal error. Y durante el vuelo, en la próxima misión, Apolo 8, uno de los astronautas a bordo hizo accidentalmente exactamente lo que Lauren hizo. Error Lauren! Levanté la butch e insistí en que la misión se reconfigurara. Después de eso, ellos, por supuesto, ya permitieron hacer cambios en el programa.
Los astronautas tomaron la mayor parte de la gloria de la luna. Sin embargo, lo hicieron usando el sistema que creó que advirtió sobre situaciones de emergencia en vuelo. Como dijo Obama: "Nuestros astronautas no tenían mucho tiempo, pero, afortunadamente, tenían a Margaret Hamilton".Poco antes de aterrizar, aparecieron advertencias de emergencia en la pantalla de prioridad de la computadora y la computadora se sobrecargó. Vi cómo sucedió todo esto, de pie en el centro de control del MIT. Después de eso, recreamos la situación: el interruptor del radar estaba en la posición incorrecta y tomó la potencia del procesador. Rápidamente se hizo evidente que el software no solo informaba a las personas de un problema de hardware, sino que también los compensaba: tareas recargadas y reasignadas con la máxima prioridad. La detección de errores y los mecanismos de recuperación vinieron al rescate. Todos se sintieron aliviados cuando se sentaron, y que los astronautas estaban bien, y que el software funcionaba perfectamente.
Por lo que entiendo, en los primeros días de la programación de mujeres había muchas. Se creía que esto era trabajo de mujeres . ¿Fue este el caso en su experiencia?La programación nunca se consideró trabajo femenino, al menos no en ninguno de los muchos proyectos en los que trabajé. La gente de computación manual era abrumadoramente mujeres, y muchas mujeres usaban calculadoras mecánicas como
Marchant , pero no eran programadoras. No escribieron el código. Cuando comencé a trabajar en el proyecto Apollo, no había más mujeres escribiendo código. Luego, después de un par de años, aparecieron pocas mujeres, algunas de las cuales trabajaban para mí. Siempre ha habido muchos más hombres.
¿Te molestaron los hombres que los guiaste?Cuando tomé el control, uno de los principales jefes dijo que no tenía dudas sobre mi competencia, pero que estaba preocupado de que algunos hombres de mi grupo pudieran provocar disturbios. Pero esto no sucedió. Más que nada, nos enfocamos en misiones y trabajamos hombro a hombro para resolver problemas complejos, tratando de llegar a tiempo en plazos críticos. También tuve la suerte de tener un esposo muy moderno, especialmente para esa época. Algunos hombres entendieron la igualdad.
Usted inventó, o al menos popularizó, el término ingeniería de software [desarrollo de software, tecnología de software]. ¿Por qué necesitaba encontrar un nuevo nombre?En los primeros años de Apolo, los programas no se tomaban tan en serio como otras disciplinas de ingeniería. Aunque teníamos un sistema bastante complejo de muchos componentes, no recibimos reconocimiento por trabajar en un campo verdaderamente serio. Por desesperación, acuñé el término, como si dijera: "Oye, nosotros, de hecho, también somos ingenieros". Durante mucho tiempo fue percibido como una broma. Y luego, un día en una reunión, uno de los gurús de hierro más respetados explicó a todos que estaba de acuerdo conmigo. El proceso de creación de software también debe considerarse como una disciplina de ingeniería, como es el caso del hardware. Fue un momento memorable.
Margaret Hamilton está inmortalizada en forma de figuras para Lego de la serie Mujeres de la NASA.Después de Apolo, se usaron partes de su código en Skylab, la primera estación espacial, y luego en el programa del transbordador espacial. Usted fundó su propio negocio y utilizó su experiencia para desarrollar software más asequible y confiable. ¿Qué lecciones pueden aprender los programadores hoy del proyecto Apollo?Recientemente, nos encontramos con sistemas que
hicieron que
el avión se estrellara , y el piloto no entendió lo que estaba sucediendo. Además, lo que quedó claro del proyecto Apollo, aunque funcionó de manera diferente, es que es mejor definir los sistemas de antemano para minimizar la cantidad de errores, en lugar de emitir inmediatamente un montón de código, que luego tendrá que repararse con parches, que también deberán ser parcheados más adelante . Aparentemente, esta lección no se ha aprendido: a este respecto, el software actual se desarrolla de la misma manera que hace 50 años.
Hay una famosa fotografía de 1969 en la que te encuentras junto a una pila de códigos impresos de la misión Apolo casi tan alta como tú. Recientemente, esta imagen fue comparada con una fotografía de Katie Bowman, una científica que ayudó a desarrollar un algoritmo que creó la primera imagen de un agujero negro. Ella posa con una pila de discos duros de su proyecto, y este fotomontaje se ha vuelto viral. ¿Recuerdas cómo tomaste esta foto y lo que aprendiste de esta comparación?La fotografía fue tomada durante la misión Apolo 11 por un fotógrafo del MIT especialmente para periódicos. Nos dejamos llevar, agarramos todos los listados de Apollo en mi oficina y construimos esta torre. Traté de encontrar una manera de mantenerla erguida. No me pareció que tal comparación fuera mala. Al menos no nos escondieron. Aunque no envidio a Bowman, ella tuvo que luchar contra todo el sarcasmo que puede propagarse en Internet. En cierto sentido, la situación ha empeorado para las mujeres de hoy.
¿Qué consejo le darías a las mujeres jóvenes que desean desarrollar una carrera en programación?No dejes que el miedo se apodere de ti, y no tengas miedo de decir "No sé" o "No entiendo": no hay preguntas estúpidas. ¡Y no creas al 100% a los llamados expertos!