Margaret Hamilton, la mujer que escribió el código de software que permitió al hombre llegar a la luna
—
Científica computacional, matemática y la “primera ingeniera de software”, Margaret Hamilton estuvo al frente de la División de Ingeniería de Software del Laboratorio de Instrumentación del Instituto Tecnológico de Massachusetts (MIT), que desarrolló el software de navegación a bordo para el Programa Espacial Apolo de la NASA.

Margaret Elaine Heafield Hamilton nació en Paoli, Indiana, EEUU, el 17 de agosto de 1936. Desde pequeña demostró un gran interés por la lógica y las matemáticas, su padre y ella se pasaban horas hablando del universo, se hacían preguntas del porqué de las cosas y buscaban respuestas. Él la animó a estudiar, a tener ansia por el conocimiento y, a pesar de las presiones sociales de la época y los estereotipos existentes sobre el papel de la mujer en la ciencia, se licenció en Matemáticas, con diplomatura en Filosofía en el Earlham College en 1958.
Mientras estudiaba en el Earlham College, conoció al que sería su primer marido, James Cox Hamilton, con quien se casó tras obtener su licenciatura. Tuvieron una hija llamada Lauren en 1959 y se divorciaron en 1967, dos años después se casaría con Dan Lickly. Tras licenciarse en matemáticas, quiso seguir estudiando, pero tuvo que dejar sus estudios durante un tiempo para que su marido terminara su carrera en Harvard, trabajando como profesora de matemáticas y francés en un colegio público de Boston. Su marido y ella decidieron alternarse en los estudios, con una moneda se decidió quién estudiaría primero y quién después. La necesidad de dinero para su doctorado, el sueldo de profesora asociada no daba para sustentar a la familia, le hizo, como ella misma confesó en una entrevista, empezar a interesarse por la informática.
Siguiendo su sueño, empezó los estudios de matemáticas abstractas en la Universidad Brandeis, pero abandonó los estudios de postgrado en 1960 para entrar a trabajar en el Departamento de Meteorología del MIT y allí aprendió a escribir código con una metodología autodidacta y con un enfoque riguroso en la detección y corrección de errores. Fue una de las encargadas de diseñar el software que permitía predecir el clima utilizando los ordenadores LGP-30 y PDP-1 dentro del proyecto MAC (MIT Algebraic Compiler). Después se involucró en el proyecto SAGE (Semi-Automatic Ground Environment), desarrollado entre 1961 y 1963, para crear un sistema informático que pudiera predecir los sistemas meteorológicos, pero SAGE pronto pasó a ser un proyecto militar y, Margaret fue la encargada de desarrollar el software para el primer ordenador AN/FSQ-7 que buscaba aviones soviéticos en el espacio aéreo norteamericano durante la Guerra Fría y guiaba misiles para derribarlos.
Situémonos un poco en aquella época. Los rusos ya habían ido a la Luna en 1961, aunque aún no la habían pisado, y Estados Unidos quería ser la primera en conseguirlo. Para ello, la NASA comenzó a colaborar con el Charles Stark Draper Laboratory (CSDL), laboratorio de investigación del MIT, y allí comenzó el mayor desafío de la carrera de Margaret: desarrollar el software del Programa Apolo. Fue la responsable, junto con su equipo, del desarrollo del software que hizo funcionar el Módulo de Mando y el Módulo Lunar del Programa Apolo. Un momento a destacar durante la fase de diseño del sistema de navegación para las misiones Apolo, fue la detección de un Bug gracias a que Lauren, hija de Margaret (a la que a menudo se llevaba al trabajo), estaba jugando con el sistema de simulaciones híbridas del ordenador, y activó accidentalmente el programa de «pre lanzamiento» (prelaunch ó p01) durante una misión, dando lugar a un error en el sistema que derivó en la eliminación de los datos de navegación ya cargados. A raíz de ese incidente, Margaret propuso una modificación en el sistema para evitar que aquello pudiera suceder en una misión real, pero la administración no lo consideró necesario, pues los astronautas estaban entrenados para evitar este tipo de errores humanos. Sin embargo, durante la misión Apolo VIII, los astronautas ejecutaron accidentalmente el programa p01 en medio de la misión, entrando en modo crítico sin datos de vuelo, pero gracias a Margaret estaba documentado cómo volver a reenviar los datos de navegación en caso de que este accidente ocurriera. Poco después, los cambios propuestos por Margaret originalmente fueron aprobados para las siguientes misiones.
Uno de sus mayores logros durante la dirección del desarrollo del sistema operativo para las misiones Apolo fue el sistema de excepciones y carga asincrónica de tareas en el software del Módulo de Excursión Lunar (LEM), que jugó un papel crucial momentos antes del alunizaje de la misión Apolo XI. ¿Qué ocurrió exactamente ese 20 de julio de 1969, unos minutos antes de que Neil Amstrong pisara la luna? Pues resulta que, minutos antes de que el módulo Lunar alunizara, Buzz Aldrin encendió un radar que, aunque no era necesario durante la maniobra de alunizaje, podía ser útil en caso de requerir abortar la misión. Dicho dispositivo empezó a llenar el sistema con tareas de medición y el ordenador envío las alarmas 1201 y 1202. Durante unos minutos eternos, el botón de abortar la misión estuvo a punto de ser pulsado. La solución llegó de una joven Margaret Hamilton, que convenció al director de la Misión de que el software por ella diseñado, estaba preparado para priorizar funciones imprescindibles y descartar las que no lo eran y, por tanto, con total seguridad, se podían ignorar esos mensajes de error. El veredicto le llegó por radio a Neil Armstrong: We’re go! (¡Vamos!). Efectivamente, el ordenador había entrado en sobrecarga de tareas y el programa se reinició solo, tras lo cual, el programa fue capaz de mantener la prioridad de las tareas más importantes, y el Apolo XI pudo alunizar.
Tras su éxito en el programa Apolo, Margaret no abandonó el mundo del software, continuó innovando. En 1976, cofundó la empresa Higher Order Software (HOS), con el objetivo de desarrollar soluciones para prevención de errores de software y tolerancia a fallos. Uno de los productos más conocidos de HOS fue USE.IT, utilizado en numerosos proyectos del gobierno de los EE.UU. Fue la directora ejecutiva de HOS hasta 1984 y dejó la empresa en 1985. En marzo de 1986, fundó Hamilton Technologies, Inc. en Cambridge, Massachusetts, empresa orientada también a la prevención de errores de software. La empresa se desarrolló en torno al lenguaje de sistemas universal (USL, Universal Systems Language) y su entorno automatizado asociado, el conjunto de herramientas 001 Tool Suite, basado en el concepto “Desarrollo antes de que ocurra” (Development Before The Fact, DBTF), empleado por algunas de las compañías e instituciones más importantes del mundo.
A Anthony Oettinger, Barry Boehm, y Margaret Hamilton se les atribuye el origen del nombre «ingeniería de software». Cuando Margaret comenzó a utilizar el término «ingeniería de software» durante las primeras misiones Apolo, el desarrollo de software no se tomaba en serio en comparación con otras ingenierías, ni se consideraba una ciencia, pero en 1968 la denominación fue adoptada formalmente en la NATO Software Engineering Conference.
Algunos de los premios y reconocimientos que está mujer ha obtenido han sido: En 1986, recibió el «Augusta Ada Lovelace Award» de la Association for Women in Computing, premio que se otorga a mujeres que hayan destacado por su excepcional logro científico o técnico, o extraordinario servicio a la comunidad informática a través de sus logros y contribuciones. En 2003, se le dio el premio «NASA Exceptional Space Act Award» por sus contribuciones científicas y técnicas. En 2009 recibió el premio «Outstanding Alumni Award» premio que se da a alumnos destacados del Earlham College. En 2016 recibió la Medalla Presidencial de la Libertad, de manos de Barack Obama, por su trabajo en la NASA durante las misiones Apolo, el mayor reconocimiento que se concede a un civil en Estados Unidos. En 2017 salió a la venta un set de LEGO® «Mujeres de la NASA» con 5 minifiguras que homenajean a cinco mujeres que tuvieron un papel fundamental en la carrera espacial y en la NASA, entre ellas Margaret Hamilton. También en 2017 recibió el Premio de Fellow del Museo Histórico de Informática, que honra a hombres y mujeres excepcionales cuyas ideas en esa disciplina hayan cambiado el mundo. En 2018, fue investida honoris causa por la Universidad Politécnica de Cataluña y en 2019, para celebrar los 50 años del aterrizaje del Apolo XI, Google decidió hacer un homenaje a Hamilton: Se utilizaron 107.000 espejos que, cubriendo un área mayor que la de Central Park, en el desierto de Mojave (California), reflejaron la luz de la luna y recrearon la imagen de Margaret Hamilton y el Apolo 11. enlace. El Código Margaret Hamilton, es un término de programación utilizado para describir un error de software que se produce cuando un ordenador intenta hacer demasiadas cosas a la vez.
Desde aquel Apolo XI, el ser humano ha pisado la Luna en cinco ocasiones más (aunque algunos lo nieguen), la NASA tiene previsto que también una mujer deje su huella en nuestro satélite dentro del Proyecto Artemis.
Patricia Mazón Canales
Referencias:
- Margaret Hamilton-Wikipedia
- Martins, A. «Quién es Margaret Hamilton, la ingeniera pionera de las misiones Apolo a la Luna que premió Barack Obama» BBC Mundo, 2016
- Catanzaro, M. Margaret Hamilton: «Me fascinan los errores». Entrevista en el Periódico de Cataluña, 2018
- MARGARET HAMILTON: Biografía y Legado Informático Cis Informática, 2023

 
		 
			 
			 
			 
			 
			