“Empecé a usar el término” ingeniería de software “para distinguirlo de hardware y otros tipos de ingeniería”
Neil Armstrong y Buzz Aldrin acapararon todos los flashes y titulares una vez que el Apolo 11 tocó la Luna, pero detrás de la hazaña espacial hubo una mente brillante poco conocida, pero que fue tan importante como los propios astronautas.
Margaret Hamilton fue la responsable del diseño del software de a bordo de las misiones Apolo, encargado de controlar el funcionamiento de todos los sistemas y que ayudó en el alunizaje de 1969. Su trabajo en el MIT culminó con la creación del código de vuelo destinado a las misiones lunares de la NASA.
Biografia
Nacida el 17 de agosto de 1936, Hamilton se graduó de la Escuela Preparatoria Hancock en 1954. Se mudó a Massachusetts con la intención de realizar un postgrado en Brandeis, pero en lugar de ello consiguió un puesto en el MIT como desarrolladora de software.
A partir del año 1961, trabajó para el Proyecto Sage Philco-Ford, en el que se utilizaban radares para seguir trayectorias de aeronaves desconocidas. Aprovechando sus amplios conocimientos en programación escribió código para el Laboratorio de Investigación Cambridge de la Fuerza Aérea.
En aquella época la informática, la ingeniería de software (termino que posteriormente comenzaría a utilizar) no estaban reconocidas como disciplinas ni como formación universitaria.
«Comencé a llamar lo que hacíamos ‘ingeniería de software’ para que fuera reconocido como un tipo de ingeniería y al mismo tiempo como una disciplina propia, cuando se me ocurrió el término, nadie lo había oído. Por mucho tiempo fue motivo de bromas constantes. Para mí fue un día memorable cuando uno de los grandes gurúes del hardware dijo en una reunión que estaba de acuerdo conmigo, que crear software debería ser considerado un tipo de ingeniería».
Margaret era parte del Charles Stark Draper Laboratory en el MIT, convirtiéndose en 1965 en la responsable del desarrollo del software de vuelo a bordo de las computadoras de la misión Apolo, posteriormente dirigió y supervisó los desarrollos de la misión de la estación espacial Skylab.
«Estábamos creando un campo nuevo, no había ninguna institución que enseñara a programar. Cuando no podíamos hallar respuestas, debíamos inventarlas»
Uno de sus mayores logros durante la dirección del desarrollo del sistema operativo para las misiones Apolo fue el sistema de excepciones y carga asincrónica de tareas que jugó un papel crucial momentos antes del alunizaje, ya que cuando los astronautas se estaban preparando para descender la computadora empezó a arrojar los errores 1201 y 1202.
Durante unos minutos no sabían si proceder con el alunizaje o no debido al error que mostraba la computadora, pero el equipo de Hamilton rápidamente encontró entre sus notas que ese código significaba que la computadora estaba limpiando la lista de tareas de procesos poco prioritarios para dedicarle todo el procesamiento a las funciones de descenso. Una vez resuelta la incógnita de que significaba el mensaje de error, se procedió con el descenso en la Luna, el cual fue exitoso.
«Si la computadora no hubiera reconocido este problema y tomado medidas de recuperación, dudo que Apolo 11 aterrizara con éxito en la Luna»
Más tarde se descubrió que los mensajes de error no eran por un problema de software, sino que en la lista de procesos que le entregaron a Buzz Aldrin para la preparación de los instrumentos se lo instruyó a que encendiera un radar que no era utilizado durante el descenso, pero que podría ser útil en caso de requerir abortar la misión, este radar empezó a llenar el procesamiento del sistema con tareas de medición debido a todo tipo de lecturas que estaban llegando desde sus sensores, gracias a que Hamilton con su equipo tuvieron en cuenta como resolver un problema de este tipo, no terminó en ningún incidente.
«Casi todos eran hombres, ser ingeniera en un medio dominado por hombres no fue fácil. Yo era responsable del equipo de ingeniería de software, donde casi todos eran hombres. En aquella época «cosas que parecían aceptables serían chocantes ahora.»
«Los bancos requerían que una mujer tuviera el permiso de su esposo para pedir un préstamo. Y la excusa para que las mujeres ganaran menos era que contaban con el sustento de sus maridos. Tanto en la Universidad de Michigan como en Earlham College era a menudo la única mujer en las clases de matemáticas y física.»
El reconocimiento público tardó en llegar, pero por fin se materializó. «Simboliza esa generación de mujeres no reconocidas que ayudaron a enviar a la humanidad al espacio«, exclamó Barack Obama mientras le concedía la Medalla de la Libertad.