Primera ingeniera de software | IEEE Computer Society
Puede que a la mayoría de los ingenieros de software actuales les sorprenda saber que la fundadora de su disciplina es una mujer.
De hecho, a Margaret Hamilton, renombrada matemática y pionera de la informática, se le atribuye haber acuñado el término ingeniería de software mientras desarrollaba el sistema de guía y navegación de la nave espacial Apolo como jefa de la División de Ingeniería de Software del Laboratorio de Instrumentación del MIT.
Hamilton explica por qué decidió llamarla ingeniería del software:
«Luché por legitimar el software para que -y los que lo construyen- recibieran el debido respeto y, por ello, empecé a utilizar el término ‘ingeniería del software’ para distinguirlo del hardware y de otros tipos de ingeniería, aunque tratando cada tipo de ingeniería como parte del proceso general de ingeniería de sistemas. Cuando empecé a utilizar esta frase, se consideró bastante divertida. Fue una broma constante durante mucho tiempo. Les gustaba bromear con mis ideas radicales. Con el tiempo y necesariamente, el software se ganó el mismo respeto que cualquier otra disciplina», dijo en una entrevista reciente con el diario español El País.
Recientemente, Hamilton fue una de las ponentes principales de la 40ª Conferencia Internacional de Ingeniería del Software celebrada en Gotemburgo (Suecia), donde el 31 de mayo pronunció su discurso «El lenguaje como ingeniero del software.»
Ver el calendario completo de conferencias de la IEEE Computer Society
En los primeros días, según Hamilton, nadie sabía realmente lo que estaba haciendo. El software era un desierto. Quería que se respetara como cualquier otro ámbito de la ingeniería.
«No había un campo para la ingeniería de software», dijo Hamilton, «estabas solo. Los conocimientos, o la falta de ellos, se transmitían de persona a persona».
Aunque el software no era una parte importante del programa Apolo al principio, quedó claro en 1965 -cuando Hamilton se incorporó- que el software iba a ser fundamental para poner un hombre en la luna.
«Las simulaciones de sistemas eran una mezcla de hardware y simulaciones digitales de todos y cada uno de los aspectos de una misión Apolo, que incluían simulaciones del hombre en el bucle, asegurándose de que una misión completa de principio a fin se comportara exactamente como se esperaba», dijo Hamilton.
Al principio, la NASA dio carta blanca a Hamilton y a su equipo. Eran libres de desarrollar sus programas de software sin impedimentos. Pero luego las cosas cambiaron.
¿Quieres más noticias de tecnología? Suscríbase al boletín ComputingEdge hoy mismo.
«Evolucionamos nuestras reglas de ‘ingeniería de software’ con cada nuevo descubrimiento relevante», dijo Hamilton, «mientras que las reglas de la alta dirección de la NASA pasaron de la libertad total al exceso de burocracia». (Una vez le preguntaron cómo podían los investigadores superar esa burocracia asfixiante. Hamilton respondió: «No tengo respuesta para eso»)
Pero Hamilton fue más dura consigo misma de lo que podría ser cualquier burócrata.
«El software de la misión espacial tenía que ser calificado por el hombre. No sólo tenía que funcionar, sino que tenía que funcionar a la primera. El software no sólo tenía que ser ultraconfiable, sino que tenía que ser capaz de detectar y recuperar errores en tiempo real. Nuestros lenguajes nos desafiaban a cometer los errores más sutiles. Estábamos solos para crear reglas de construcción de software. Lo que aprendimos de los errores estuvo lleno de sorpresas», dijo Hamilton.
Lea nuestro artículo sobre «El épico viaje de las mujeres en la informática: Avances, contratiempos y un futuro incierto», finalista de un premio
Su celo dio sus frutos.
Justo antes de que el Apolo 11 estuviera a punto de aterrizar en la Luna, el programa de software anuló las operaciones normales para avisar a los astronautas de que algo iba mal.
Los problemas comenzaron cuando el ordenador se sobrecargó con los comandos del radar de encuentro y del sistema de aterrizaje, que requerían más potencia de procesamiento de la que el ordenador podía manejar. Con el radar funcionando al 13% y el sistema de aterrizaje al 90%, algo tenía que ceder. Afortunadamente, Hamilton había programado el ordenador para priorizar las tareas según su importancia, no según su secuencia. Cuando los indicadores de prioridad plantearon a los astronautas la decisión de alunizar o no alunizar, los astronautas dijeron «sí».
Y el resto es historia.
Hamilton continuó trabajando en las restantes misiones Apolo de la NASA, así como en SkyLab, la primera estación espacial estadounidense. Sus métodos de diseño, rigurosamente especificados, se han convertido en la base de muchas técnicas modernas de ingeniería de software hoy en día.
Desde sus incipientes días en la NASA hasta su posición actual como leyenda y luminaria de la ingeniería de software, Margaret Hamilton ayudó a allanar el camino para que una industria -que ahora vale más de un billón de dólares- cambiara el mundo para siempre.
Más tarde recibió el Premio a la Ley Espacial Excepcional de la NASA (2003) y la Medalla Presidencial de la Libertad de Barack Obama (2016).
En la marca de 1 minuto y 20 segundos del vídeo anterior, el presidente Obama describe la contribución de Hamilton al programa Apolo y al mundo de la tecnología.
Destacados de Margaret Hamilton en la ICSE 2018
Margaret Hamilton pronuncia su discurso de apertura en la 40ª Conferencia Internacional de Ingeniería de Software celebrada en Gotemburgo, Suecia.
Hamilton en el escenario de la 40ª Conferencia Internacional de Ingeniería de Software.
¿Quieres más noticias de tecnología? Suscríbase al boletín de ComputingEdge hoy mismo.
Hamilton responde a las preguntas durante el Q&A. Uno de los asistentes preguntó a Hamilton cómo aconsejaría a los investigadores que combatieran la burocracia, a lo que ella respondió con una sonrisa: «No tengo respuesta para eso».
Nenad Medvidovic, organizador de la conferencia y profesor de informática en la Universidad del Sur de California, entrega a Hamilton una bolsa de bombones suecos al final de su intervención.
Investigación de Margaret Hamilton en la Computer Society Digital Library: Lenguaje Universal de Sistemas: Lecciones aprendidas de Apolo