Murió a los 90 la mujer que salvó Apollo 11 con su código

La Luna en el cielo nocturno, símbolo del alunizaje de Apollo 11
El alunizaje de Apollo 11 solo ocurrió porque su software priorizó lo importante. 📷: Unsplash

Faltaban tres minutos para que el Eagle tocara la Luna y la computadora de Apollo 11 empezó a vomitar errores. Houston estaba a punto de abortar la misión más ambiciosa de la historia. La persona cuyo software decidió si confiar o no tenía 33 años y se llamaba Margaret Hamilton. 🌕

Esta semana murió a los 90 años, y si su nombre no te suena, ese es exactamente el problema.

De pronósticos del tiempo a la Luna

Nació en Paoli, Indiana, en 1936 y llegó al MIT en 1959 a trabajar con el caos literal: escribía software de predicción del tiempo para Edward Lorenz, el padre de la teoría del caos.

En 1965 vio un anuncio en el periódico: el Instrumentation Lab buscaba programadores para "llevar al hombre a la Luna". Se presentó y fue la primera programadora del proyecto Apollo — y la primera mujer.

Para 1968 ya dirigía a más de 400 personas desarrollando el software de vuelo de la misión. Sin GitHub, sin Stack Overflow, sin internet: código que tenía que funcionar a la primera, porque "no había segunda chance", como ella misma dijo.

El error de su hija que salvó al programa

Un día su hija Lauren, de 4 años, jugó con el simulador del módulo de mando y activó el programa P01 en pleno vuelo. El simulador se estrelló. Margaret pidió que se blindara eso en el software real.

La respuesta fue que no: los astronautas estaban entrenados y jamás cometerían ese error. Meses después, en Apollo 8, Jim Lovell activó exactamente el mismo P01 y perdió todos los datos de navegación. Desde entonces, su propuesta entró al código.

Aquello fue una de las primeras formas de programación defensiva: software que anticipa el error humano. Hoy es estándar en cualquier app seria.

Los 3 minutos que decidieron el alunizaje

El 20 de julio de 1969, la computadora lanzó el alarm 1202: estaba saturada por un fallo en un interruptor. Si no podía con el aterrizaje, no había Luna.

Hamilton y su equipo habían diseñado software con prioridades dinámicas: cerraba tareas de fondo y salvaba lo crítico. Houston confió en ese código y dejó alunizar al Eagle.

Dos hombres caminaron sobre la Luna gracias a un "if" bien pensado.

Luchó para que "software engineering" existiera

Hamilton tuvo que inventar el término "ingeniería de software" para que su disciplina se tomara en serio. En su momento era una broma: "se reían de mis ideas radicales", dijo a El País. Publicó más de 130 trabajos y fundó dos empresas.

Obama le entregó la Medalla de la Libertad en 2016: "escribió el código que ayudó a América a pisar la Luna". En 2015 todo el software de Apollo subió a GitHub, y en 2017 se volvió minifigura de Lego. ⚡

Su foto de 1969, junto a una pila de listados de código más alta que ella, sigue siendo la imagen más poderosa de la historia de la programación.

La reflexión incómoda

En HN la noticia explotó con más de 1,600 puntos y 15+ medios (BBC, CNN, WSJ, NASA) la cubrieron. Y aun así, la mayoría de los que programan hoy no sabe quién fue.

LinkedIn está lleno de "rockstar developers" con 3 años de experiencia; ella construyó, desde cero, la disciplina que hoy les da de comer. Comparte esto con alguien que cree que la historia de la programación empezó con Silicon Valley.

¿Debería enseñarse su historia en todos los cursos de programación, o ya es tarde para corregir el olvido?