Margaret Hamilton: La ingeniera que nombró al software
A tres minutos de la superficie lunar, el ordenador de guía del Apolo 11 comenzó a emitir alarmas. Buzz Aldrin había enviado una octava solicitud de tarea simultánea a una máquina diseñada para gestionar siete. El aterrizaje podría haberse abortado allí. No fue así porque la mujer que dirigía el software había asumido años antes que algo exactamente así ocurriría y había programado el ordenador para prescindir de su propio trabajo no esencial en lugar de fallar. «Si el ordenador no hubiera reconocido este problema y tomado medidas de recuperación», dijo más tarde, «dudo que el Apolo 11 hubiera sido el exitoso alunizaje que fue».
Paoli, Indiana
Margaret Elaine Heafield nació el 17 de agosto de 1936 en Paoli, Indiana, hija de Kenneth y Ruth Esther Heafield. La familia se mudó a Míchigan, donde ella se graduó en la escuela secundaria Hancock en 1954. Su padre era poeta y su abuelo director de escuela, y el hogar la orientó hacia la filosofía con tanta firmeza como hacia las matemáticas; terminaría cursando ambas. Estudió en la Universidad de Míchigan en 1955, luego se trasladó al Earlham College, donde obtuvo una licenciatura en matemáticas con especialización menor en filosofía en 1958. Atribuyó a Florence Long, quien dirigía el departamento de matemáticas de Earlham, el mérito de haberla alentado hacia las matemáticas abstractas y una carrera académica. Se casó con James Cox Hamilton en junio de 1958; su hija Lauren nació al año siguiente.
El tiempo, el caos, el griego y el latín
Su primer trabajo en informática fue con Edward Norton Lorenz en el departamento de meteorología del MIT desde mediados de 1959, escribiendo software de predicción meteorológica para las máquinas LGP-30 y PDP-1. Lorenz reconoció más tarde su contribución al trabajo que se convirtió en la teoría del caos. De 1961 a 1963, en el MIT Lincoln Laboratory, programó el prototipo AN/FSQ-7 para el sistema de defensa aérea Semi-Automatic Ground Environment, donde le entregaron un programa notoriamente intratable cuyos comentarios habían sido escritos en griego y latín, y se convirtió en la primera persona en lograr que funcionara. Ambos trabajos compartían una característica que la definiría: le daban sistemas que nadie más podía hacer funcionar.
El Laboratorio de Instrumentación
En 1965 se incorporó al Laboratorio de Instrumentación del MIT, más tarde conocido como Charles Stark Draper Laboratory, como la primera programadora —y la primera programadora mujer— contratada para el proyecto Apolo. Ascendió a directora de la División de Ingeniería de Software, siendo responsable del software de vuelo a bordo del ordenador de guía del Apolo tanto en el Módulo de Mando como en el Módulo Lunar, y posteriormente para los sistemas de Skylab. Este era un código sin segundas oportunidades: sin parches, sin reinicios en una trayectoria de descenso, sin forma de alcanzar la máquina una vez que abandonaba la plataforma.
1202
La respuesta de Hamilton consistió en tratar el error no como una excepción, sino como una hipótesis de diseño. Su software incluyó rutinas de detección y recuperación de errores y, de manera crucial, un esquema de «pantalla de prioridad»: cuando el ordenador se encontraba sobrecargado, abandonaba las tareas de menor prioridad y preservaba las funciones necesarias para el aterrizaje. También había pensado en la mitad humana del bucle, diseñando el procedimiento para que los astronautas que vieran una pantalla de prioridad contaran hasta cinco, permitiendo el retraso de procesamiento del software.
Veinte preguntas, ocho minutos de reloj y un percentil medido frente a todos los que la han hecho. Sin registro.
Hacer la prueba de CI →El 20 de julio de 1969, el mecanismo funcionó exactamente tal como fue diseñado. Las alarmas sonaron, el ordenador descartó lo que podía permitirse perder, y el ingeniero informático del control de misión de la NASA Jack Garman reconoció los códigos y exclamó: «¡Adelante, adelante!». El Águila alunizó.
Nombrar una disciplina
A Hamilton se le atribuye haber establecido el término «ingeniería de software» durante los primeros años del Apolo. Su propósito era tanto jurisdiccional como descriptivo. «Empecé a usar el término “ingeniería de software” para distinguirlo del hardware y de otros tipos de ingeniería», explicó, «y aun así tratar cada tipo de ingeniería como parte del proceso general de ingeniería de sistemas». La gente del hardware no quedó impresionada. «Fue una broma constante durante mucho tiempo», recordaba. «Les gustaba bromear sobre mis ideas radicales». La broma es ahora el nombre de una industria que emplea a decenas de millones de personas.
Desarrollo antes del hecho
Pasó el resto de su carrera persiguiendo esa implicación. En 1976 cofundó Higher Order Software junto a Saydean Zeldin para formalizar los métodos de prevención de errores que Apolo le había enseñado; su producto USE.IT respaldó programas gubernamentales, incluidos el transbordador espacial y los proyectos ICAM de la Fuerza Aérea. En marzo de 1986 fundó Hamilton Technologies en Cambridge, Massachusetts, donde desarrolló el Universal Systems Language y la suite de herramientas 001 en torno a un paradigma que denominó «desarrollo antes del hecho»: el argumento de que los errores debían hacerse imposibles en el momento del diseño en lugar de ser perseguidos durante las pruebas.
El reconocimiento llegó lentamente y luego de golpe: el premio Augusta Ada Lovelace en 1986; el premio Exceptional Space Act de la NASA en 2003, que con 37 200 dólares fue el mayor galardón individual en la historia de la agencia; la Medalla Presidencial de la Libertad otorgada por Barack Obama en 2016; un premio como miembro del Museo de Historia de la Computación en 2017; el premio Washington en 2019; su inclusión en el Salón de la Fama de la Aviación Nacional en 2022.
Por qué se llama genio a Margaret
La facultad es una inversión específica de cómo pensaba su campo. En la década de 1960, el software se entendía como un conjunto de instrucciones que debían funcionar, y los errores se trataban como incidentes lamentables que se debían encontrar más tarde. Hamilton trató el fallo como el objeto principal de diseño: ¿qué debe hacer un sistema cuando los supuestos en los que se sustenta dejan de cumplirse? La pantalla de prioridad es el artefacto más claro de esa mentalidad. No previene la sobrecarga, la cual no se puede prevenir; decide de antemano, en condiciones que nadie ha experimentado todavía, qué debe estar dispuesta a abandonar una máquina para seguir haciendo lo único que importa. Se trata de un movimiento tanto filosófico como técnico. Su segunda aportación es la autoría conceptual: nombrar la «ingeniería de software» mientras era objeto de burlas reorganizó la forma en que toda una profesión se entendía a sí misma.
Las cualificaciones honestas son las siguientes. El historial de sus honores, por extenso que sea, no muestra la palabra «genio» aplicada formalmente; muestra medallas por su trascendencia. El rescate del Apolo 11 fue un sistema, no un acto individual: su software hizo saltar la alarma, pero Jack Garman tuvo que reconocer los códigos, un controlador de vuelo tuvo que dar luz verde y el diseño dependió de que los astronautas siguieran un procedimiento humano. Y la industria adoptó su palabra de manera más completa que su método: la «ingeniería de software» es universal, mientras que el «desarrollo antes del hecho» sigue siendo especializado. Su genialidad se localiza mejor en un encuadre del problema que ha sobrevivido a cada herramienta que construyó para resolverlo.
Legado
El código que dirigió es la razón por la cual la frase «alarma 1202» es un triunfo en lugar de un epitafio. La herencia más amplia es el supuesto —ahora tan normalizado que resulta invisible— de que el software es algo diseñado, sometido a tolerancias y preparado para fallar con gracia. Ella aportó tanto el nombre como la primera gran prueba.

