La científica computacional, matemática e ingeniera de software Margaret Hamilton falleció a los 90 años de edad. Como líder del equipo del MIT que desarrolló el software de vuelo a bordo del programa Apolo de la NASA, su trabajo no solo fue determinante para llevar con éxito a los primeros astronautas a la Luna, sino que consolidó la ingeniería de software como una disciplina clave en la ciencia moderna.


Hoy en día el software decide cada aspecto de nuestras vidas, desde cual es la mejor ruta para llegar al trabajo, qué música se escucha en casa y hasta como funciona el automóvil que conducimos. Más aún, con la aparición de la Inteligencia Artificial Generativa, el desarrollo de software se ha democratizado al punto en que no se necesita entender de matemáticas, patrones de diseño o lenguajes de programación, para desarrollar un programa computacional.

Todos los días interactuamos con pequeños programas de software en la palma de nuestra mano, tenemos conversaciones en tiempo real con familiares y amigos, guardamos fragmentos de nuestra vida en servidores dedicados, almacenamos datos, cifras e imagenes compuestas por miles de pixeles en pequeñas tarjetas de silicio. El hardware y el software estan tan entretejidos con nuestra vida diaria que a menudo desaparece de nuestra vista y solo reparamos en ellos cuando algo falla. En este punto es donde la trayectoria de Hamilton cobra absoluta relevancia.

Antes de que Margaret Hamilton trabajara en el MIT y participara en el desarrollo del software de navegación del programa Apolo, el desarrollo de software era muy diferente al que conocemos hoy. La programación ya existia, pero todavía no se había consolidado como una discipliona de ingeniería con métodos sistemáticos para garantizar la fiabilidad de sistemas complejos.

Para entender por qué el trabajo de Hamilton fue tan importante, habría que remontarse hasta las décadas de 1940 y 1950, cuando programar era una actividad mucho más cercana a trabajar con el hardware de una maquina, a través de engranes y tarjetas perforadas; nada que ver con el desarrollo de aplicaciones modernas que utilizan centros de datos, diferentes lenguajes de programación y estandares de seguridad ampliamente reconocidos. 


1. ¿Cómo se programaban las computadoras antes de los 60?

The ENIAC machine: Rhodri Marsden's Interesting
                Objects No.100 | The Independent
The ENIAC machine: Rhodri Marsden's Interesting Objects No.100 | The Independen
Década de 1940: cables, interruptores y código máquina

Las primeras computadoras electrónicas se configuraban mediante cables, paneles de conexión e interruptores. Para programarlas, en muchos casos había que modificar físicamente las conexiones de la máquina.

Otras utilizaban instrucciones númericas directamente interpretadas por el procesador, conocidas como código máquina.


Doktortitel mit 98 Jahren: Rosemary Fowler, die vergessene Pionierin der Teilchenphysik | GEO
Doktortitel mit 98 Jahren: Rosemary Fowler, die vergessene Pionierin der Teilchenphysik | GEO
Década de 1950: tarjetas perforadas y ensablador

Los programadores escribían instrucciones que se traducían a códigso entendidos por la computadora. Las tarjetas perforadas permitian introducir programas y datos; un error podía obligar a revisar y volver a preparar partre del trabajo.

Comenzaron a popularizarse los lenguajes de alto nivel como FORTRAN y COBOL, que hacían más sencilla la escritura de programas.


Fernando J. Corbató with IBM 7090 computer console in the Computation Center, 1962 | mitmuseum
Fernando J. Corbató with IBM 7090 computer console in the Computation Center, 1962 | mitmuseum
Principios de los años 60: programas cada vez más complejos

Las computadoras ya podían ejecutar sistemas científicos, militares y de control en tiempo real. El problema empezaba a ser no solo escribir instrucciones, sino coordinar miles de ellas, gestionar errores y asegurar que el sistema reaccionara correctamente ante situaciones inesperadas.


2. ¿Qué problemas tenía el desarrollo de software en aquella época?

Antes de que la ingeniería de software se estableciera como una disciplina, existían varios problemas importantes:

  • La documentación era límitada. A veces, el conocimiento de cómo funcioaba un programa un programa dependía de las personas que lo habían escrito.
  • Las pruebas no siempre eran suficientes. Era difícil anticipar todas las combinaciones de situaciones que podía encontrar un programa.
  • Los errores podían ser difíciles de detectar. Un programa podía funcionar correctamente en una prueba y fallar bajo condiciones diferentes.
  • Los proyectos crecían demasiado. Coordinar a numerosos programadores y mantener coherentes sus cambios era cada vez más complicado.

Un estudio histórico del desarrollo del software del Apolo documenta cómo el equipo del MIT fue incorporado mejores procedimientos de documentación, pruebas, control de cambios y gestión del proyecto entre 1961 y 1968.


Software-Pionierin Margaret Hamilton: Ihr Code brachte die Apollo-Astronauten sicher zum Mond | tagesspiegel
Software-Pionierin Margaret Hamilton: Ihr Code brachte die Apollo-Astronauten sicher zum Mond | tagesspiegel

3. ¿Qué encontró Margaret Hamilton cuando llegó al MIT?

Hamilton comenzó a trabajar en el MIT en 1959, inicialmente en programas para la predicción meteorológica con Edward Lorenz. Posteriormente trabajó en Lincoln Laboratory, en el sistema de defensa aérea SAGE, antes de incorporarse al proyecto Apolo en 1965.

Lo interesante es que Hamilton no llegó a un mundo donde no existiera programación profesional. Ya había equipos especializados y computadoras sofisticadas. Lo que faltaba era una metodología suficientemente madura para gestionar el nivel de complejidad y fiabilidad que exigía una misión tripulada a la Luna.

“No teníamos más opción que ser pioneras; no había tiempo para ser principiantes”, recordó Margaret Hamilton al hablar sobre las primeras mujeres que trabajaron en la NASA. Una fotografía tomada en 1969 la muestra junto a los extensos listados del software de vuelo que desarrollaron ella y el equipo que dirigía para los módulos lunar y de comando del Apolo.

Hamilton describió la imagen con sencillez: estaba junto al código creado por su equipo. Aquel trabajo minucioso, que algunos consideraban tedioso, resultó esencial para las misiones Apolo y, con los años, inspiró a numerosas mujeres a seguir carreras en ingeniería.


4. ¿Qué cambió con el trabajo de Hamilton?

✓
Diseñar para los fallos
El software debía contemplar errores y situaciones imprevistas, en lugar de limitarse a ejecutar el escenario ideal.
 
☷
Priorizar las tareas críticas
El ordenador de navegación del Apolo podía priorizar las tareas esenciales y descartar actividades menos importantes cuando se encontraba sobrecargado.
 
☑
Formalizar el desarrollo
El equipo fue desarrollando procedimientos más rigurosos de documentación, pruebas y gestión de modificaciones a medida que el proyecto avanzaba.

Hamilton fue una científica visionaria y una madre que compaginó su trabajo con el cuidado de su hija. Cuando no tenía con quién dejar a Lauren, la llevaba consigo al laboratorio, donde su equipo desarrollaba el software de vuelo.

Allí, entre simuladores , ocurrió un episodio que acabaría enseñándole algo de suma importancia. Lauren tenía cuatro años cuando, mientras jugaba con el simulador, activó por accidente el programa de prelanzamiento P01. La simulación se bloqueó mostrando fallas que no se habían considerado.

Hamilton recomendó añadir una protección para evitar que ese comando pudiera ejecutarse en pleno vuelo, pero la propuesta fue rechazada por sus superiores: se suponía que los astronautas perfectamente entrenados, a diferencia de una niña, no cometerían ese tipo de errores.

No obstante, en diciembre de 1968 durante la mision Apolo 8, Jim Lovell activó el P01 por equivocación, lo que ocasionó un fallo en el sistema que borró los datos de navegación. Afortunadamente, el equipo de Hamilton habia documentado el problema y logró corregir el fallo desde tierra incorporando sus cambios en el software.

Este criterio resultó crucial durante el alunizaje del Apolo 11 en 1969. Durante el descenso surgieron problemas que los astronautas no podrían resolver por sí solos. El ordenador del módulo lunar Eagle emitió la alarma 1202: estaba sobrecargado por una falla relacionada con un interruptor de hardware. El diseño del programa permitió que la computadora priorizara las tareas esenciales y se recuperara, permitiendo que la misión continuara.

Gracias a lo anterior, Neil Armstrong y Buzz Aldrin consiguieron seguir con el aterrizaje. No fue una hazaña atribuible a una sola persona: dependió del trabajo de muchas manos y de decisiones tomadas desde la nave y desde tierra. Pero la capacidad del software para manejar la sobrecarga fue decisiva.

Las misiones Apolo pusieron de relieve un principio que hoy es esencial en la ingeniería de software: hay que diseñar sistemas capaces de responder a errores y situaciones imprevistas, incluso cuando alguien los usa de una manera inesperada. Hamilton sostuvo después que, sin esa capacidad de detectar anomalías y recuperarse, el histórico aterrizaje no habría concluido con éxito

Hamilton también defendió que crear programas para sistemas críticos requería rigor de ingeniería. Usó la expresión “ingeniería de software” cuando todavía era una disciplina nueva y, según contó en entrevistas, el nombre provocaba burlas entre algunos colegas. Con el tiempo, ese campo se volvió indispensable para construir sistemas capaces de operar con fiabilidad, desde una nave espacial hasta los servicios que hoy usamos sin pensar en el código que los sostiene.

El MIT informó que Margaret Hamilton murió el 30 de septiembre de 2026, a los 90 años. Su trayectoria muestra que el software no surge de manera automática: detrás de cada sistema hay personas que diseñan, prueban y anticipan posibles fallos. Esa previsión debe acompañar todo el ciclo de vida del desarrollo de software (SDLC), desde la primera decisión de diseño hasta las pruebas y el mantenimiento.

En el caso de Hamilton y su equipo, esa labor tenía una consecuencia extraordinaria: ayudar a que una misión pudiera continuar a cientos de miles de kilómetros de la Tierra. La Luna era el destino; un software capaz de responder ante lo inesperado, parte esencial del camino.

Margaret Hamilton  Pionera Del Software Espacial Square


Fuentes:

  1. Margaret Hamilton, computing pioneer who led software development for the Apollo program, dies at 90. (2026, 7 octubre). MIT News | Massachusetts Institute Of Technology.
  2. De Lis, P. F., De Lis, P. F., & De Lis, P. F. (2026, 8 octubre). Muere Margaret Hamilton, la mujer que enseñó al ordenador del Apolo a no perder los nervios sobre la Luna. El País.
  3. Margaret Hamilton (1936–2026). (s. f.). margarethamilton.dev.
  4. Museo histórico de la informática. (2024, 21 mayo). Personajes ilustres - Hamilton - Museo histórico de la informática.Museo Histórico de la Informática.
  5. Vílchez, J. L. U. (2022, 20 enero). Margaret Hamilton, ingeniera de software - MonteSteam. MonteSteam.
  6. Keenan, C. (2026, 8 octubre). Quién fue Margaret Hamilton, la científica que desarrolló el software que fue clave para que la misión Apolo 11 llegara a la Luna. BBC News Mundo.
  7. Marsden, R. (2016, 13 febrero). The ENIAC machine: Rhodri Marsden’s Interesting Objects No.100 | The Independent. The Independent.
  8. Doktortitel mit 98 jahren: Rosemary Fowler, die Vergessene Pionierin der Teilchenphysik - GEO.
  9. Fernando J. Corbató with IBM 7090 computer console in the Computation Center, 1962 | MIT Museum.
  10. Christ, S. (2022) Software-pionierin Margaret Hamilton: Ihr code brachte die apollo-astronauten sicher zum mond, Aktuelle News: Nachrichten aus Berlin und der Welt. tagesspiegel.