Hamilton dentro de una maqueta del módulo de mando del Apolo, 1969. Foto: NASA (dominio público).
In Memoriam
Margaret Hamilton
17 de agosto de 1936 – 30 de septiembre de 2026 · Informática · Jefa del software de vuelo del Apolo · Madre de la «ingeniería de software»
Margaret Hamilton dirigió el equipo del MIT que escribió el software de vuelo a bordo del programa Apolo: el código que guió a las tripulaciones hasta la Luna y de regreso, en un ordenador con una fracción de la memoria de un reloj moderno. Lo hizo mientras inventaba la disciplina sobre la marcha: fue ella quien acuñó el término ingeniería de software, en una época en que la frase se tomaba a broma.
De Paoli a Cambridge
Margaret Heafield nació en Paoli, Indiana, en 1936, y creció en parte en la Península Superior de Míchigan, hija de un poeta y profesor de filosofía. Estudió matemáticas —con una especialización secundaria en filosofía— en Earlham College, donde se graduó en 1958, el mismo año en que se casó con James Hamilton. Su hija Lauren nació en 1959.
Pensaba hacer un posgrado en matemáticas abstractas en Brandeis. En cambio, para mantener a su marido durante sus estudios de Derecho en Harvard, aceptó lo que debía ser un empleo temporal en el MIT: escribir software de predicción meteorológica para Edward Lorenz (sí, el Lorenz de la teoría del caos) en los ordenadores LGP-30 y PDP-1. No existían cursos de programación; se aprendía haciéndolo. Y ella fue buena de inmediato.
Eso la llevó al Lincoln Laboratory del MIT y al proyecto SAGE, el sistema de defensa aérea de escala continental que fue de los primeros en exigir software que no podía fallar. En Lincoln Lab, Hamilton se ganó la reputación de resolver los programas que nadie más podía arreglar; sus colegas empezaron a pasarle los errores más duros y extraños. Estaba aprendiendo tolerancia a fallos en una máquina que protegía un continente.
Apolo
En 1965, el Instrumentation Laboratory del MIT —más tarde Draper— había ganado el contrato de la NASA para la guiación a bordo del Apolo. Hamilton fue la primera programadora contratada para el proyecto Apolo en el MIT, y la primera mujer en programar para él. Empezó en las misiones no tripuladas y ascendió hasta dirigir el equipo que escribía el software de vuelo de los módulos de Mando y Lunar tripulados. En 1968 era responsable del software del Módulo de Mando y Servicio; en el punto álgido del esfuerzo, más de 400 personas escribían código para el Apolo bajo la división de software.
La máquina que su código debía hacer volar era famosa por pequeña: el Apollo Guidance Computer funcionaba a unos 85 kilohercios con aproximadamente 72 kilobytes de memoria de cuerda —tejida literalmente, hilo a hilo, a través de núcleos de ferrita por las «Little Old Ladies», las operarias que enhebraban a mano cada bit de cada programa. El software no se escribía sobre esa memoria; se fabricaba dentro de ella. No había forma de corregirlo después.
La fotografía famosa: Hamilton junto al listado impreso del software del Apollo Guidance Computer —casi tan alto como ella. Cada página estaba ganada. (Draper Laboratory / dominio público.)
Su hija encontró el error antes que la NASA
Una de las mejores historias de la historia del software es de una niña. Lauren Hamilton, entonces de unos ocho años, venía al laboratorio los fines de semana y jugaba a ser astronauta en el simulador. En una visita pulsó teclas a mitad de una simulación y arrancó un programa de prelanzamiento en pleno vuelo —borrando los datos de navegación del ordenador. Hamilton, al darse cuenta de lo ocurrido, pidió añadir una comprobación de error para que esa secuencia no pudiera ejecutarse nunca en vuelo. La respuesta de arriba: los astronautas están entrenados para no cometer errores; no puede pasar.
En el Apolo 8, el astronauta Jim Lovell —haciendo exactamente lo que había hecho Lauren— arrancó sin querer el mismo programa, borrando sus datos de navegación mientras orbitaba la Luna. El equipo de Hamilton trabajó sin descanso para reconstruir las tablas y traer a la tripulación a casa. La comprobación que ella había pedido se incorporó después. Todo programador reconoce la lección: si un humano puede hacerlo, un humano lo hará.
Tres minutos que le dieron la razón
Su obsesión más profunda era el tratamiento de errores —una postura radical en aquel tiempo. Se esperaba que el software funcionara o fallara; Hamilton insistía en que debía seguir funcionando a pesar del fallo: decir a la tripulación qué iba mal y proteger primero el trabajo de mayor prioridad. El software del Apolo funcionaba bajo un ejecutivo de planificación por prioridades, con «pantallas de prioridad» que sacaban las alarmas a la vista en lugar de ocultarlas.
20 de julio de 1969. El Apolo 11 desciende hacia el Mar de la Tranquilidad cuando el ordenador de guiación empieza a lanzar alarmas de desbordamiento ejecutivo 1201 y 1202: a la máquina se le pide más de lo que puede hacer, porque un radar de encuentro le está enviando datos que no necesita. El diseño de Hamilton hace exactamente lo que ella diseñó: descarta el trabajo de baja prioridad, sigue volando el descenso y avisa a la tripulación de lo que ocurre. En Houston, el ingeniero Jack Garman, de 24 años —que se había memorizado los códigos de alarma— explica al director de vuelo Steve Bales qué significan. La orden sube: «adelante». Armstrong y Aldrin alunizan.
La lección que nos dejó: las alarmas no eran una avería —eran el sistema haciendo exactamente lo que fue diseñado para hacer en condiciones que nadie podía prever del todo. Escribir software que dice la verdad cuando sufre, que ordena lo que importa y que se degrada con elegancia en lugar de morir en silencio. Esa idea —los errores como comportamiento diseñado, no como sorpresas— sigue siendo el corazón de la buena ingeniería, y es el mismo instinto detrás de las herramientas que analizan el código antes de que se ejecute.
«Ingeniería de software»
Cuando Hamilton empezó a llamar «ingeniería de software» a lo que hacían, colegas veteranos se rieron: el hardware era ingeniería; el software era algo que se tecleaba. Siguió usando el término hasta que el propio trabajo lo hizo innegable: una disciplina con requisitos, diseño, pruebas, simulación y revisión. La frase sobrevivió a los escépticos. Hoy es el nombre de la profesión —y ella no solo la acuñó, demostró lo que significaba, de camino a la Luna.
Después del Apolo — ingeniería por construcción
Hamilton pasó las décadas siguientes formalizando lo que el Apolo le había enseñado: que los sistemas deben ser correctos por diseño, no depurados hasta la corrección después. En 1976 cofundó Higher Order Software, que produjo la herramienta de diseño USE.IT —sistemas especificados bajo reglas axiomáticas para que clases enteras de errores se eviten antes de ejecutar una línea. En 1986 fundó Hamilton Technologies en Cambridge, desarrollando el Universal Systems Language (USL) y su 001 Tool Suite —«desarrollo antes del hecho», ingeniería de sistemas donde el software hereda el rigor del sistema al que sirve. Dirigió ese trabajo el resto de su vida.
Honores
1986 — Premio Augusta Ada Lovelace, Association for Women in Computing (su primera galardonada)
2003 — NASA Exceptional Space Act Award — el mayor premio que la NASA había concedido jamás a una persona
2007 — Doctorado honoris causa, Bard College
2009 — Premio de Alumna Destacada de Earlham College (más tarde un título honorario)
2016 — Medalla Presidencial de la Libertad, la máxima distinción civil de Estados Unidos
2017 — Inmortalizada en el set «Women of NASA» de LEGO
2019 — Intrepid Lifetime Achievement Award
El presidente Obama entregando a Hamilton la Medalla Presidencial de la Libertad, 2016 —«simboliza a esa generación de mujeres anónimas que ayudaron a enviar a la humanidad al espacio». (Foto de la Casa Blanca — dominio público.)
La última palabra
Hamilton murió el 30 de septiembre de 2026 en Cambridge —a la vista del laboratorio donde había aprendido por primera vez lo que el software podía ser. Tenía 90 años. Le sobreviven su hija Lauren —la niña cuyos dedos encontraron una vez un error que los procesos de la NASA no pudieron—, un yerno, dos nietos y cuatro bisnietos. El administrador de la NASA la llamó «una pionera cuyo trabajo ayudó a hacer posible el Apolo y los primeros viajes de la humanidad a la Luna». Se prepara un servicio conmemorativo en Cambridge.
"No había una segunda oportunidad. Lo sabíamos. Nos tomábamos nuestro trabajo en serio, muchos de nosotros comenzando este viaje con poco más de veinte años… Teníamos que encontrar un camino y lo encontramos. Mirando atrás, éramos las personas más afortunadas del mundo; no había otra opción que ser pioneros."
Por qué está entre los Gigantes
Este sitio existe para enseñar a programar. Hamilton es la persona que demostró que la programación podía cargar con el peso de vidas humanas —y que hacerlo exigía rigor, humildad y la voluntad de diseñar para un fallo que esperabas que nunca llegara. Una madre depurando en un laboratorio a medianoche, un ordenador que se negó a rendirse bajando al Mar de la Tranquilidad, y una palabra —ingeniería— que hizo verdadera practicándola. Es exactamente para quien están los Gigantes.