Margaret H. Hamilton è nata a Paoli, Indiana, e ha studiato matematica all’Università del Michigan e al Earlham College. Si è laureata con un bachelor nel 1958 e ha pianificato di proseguire gli studi alla Brandeis University. Invece, la Hamilton accettò una posizione temporanea al Massachusetts Institute of Technology (MIT), dove sviluppò un software di previsione meteorologica per il professor Edward N. Lorenz sui computer Librascope LGP-30 e PDP-1, notando all’epoca che i programmatori imparavano la loro professione con una formazione pratica (non esistevano ancora programmi formali di informatica nelle università).
Dal 1961-63, la Hamilton lavorò al massiccio sistema di difesa aerea statunitense SAGE ai Lincoln Laboratories, dove iniziò ad interessarsi all’affidabilità del software. “Quando il computer andava in crash durante l’esecuzione del programma, non ci si poteva nascondere. Le luci lampeggiavano, le campane suonavano e tutti, gli sviluppatori e gli operatori del computer, correvano a scoprire di chi era il programma che stava facendo qualcosa di male al sistema”.
Durante il periodo delle missioni spaziali Apollo, Hamilton ha guidato il team che ha creato il software di volo a bordo dei moduli di comando Apollo e dei moduli lunari della NASA. Era a capo dello sforzo del software di bordo di Apollo (e Skylab) mentre serviva anche come direttore della divisione di ingegneria del software al laboratorio di strumentazione del MIT. Durante questo periodo al MIT, voleva dare al loro software “legittimità”, proprio come per altre discipline ingegneristiche, in modo che esso (e coloro che lo costruivano) ricevessero il dovuto rispetto; e, di conseguenza, inventò il termine “ingegneria del software” per distinguerlo da altri tipi di ingegneria.
Con i suoi programmi di rilevamento e recupero degli errori Priority Displays, creò nuovi concetti di uomo nel cerchio che fornivano la possibilità per il software di volo a bordo di comunicare in tempo reale in modo asincrono con l’astronauta all’interno di un sistema distribuito di ambiente di sistemi. Questo permetteva al software (in esecuzione in parallelo con gli astronauti) di interrompere gli astronauti e sostituire i loro normali display con display prioritari; al fine di avvisarli in caso di emergenza durante una missione Apollo. Tale fu il caso durante l’atterraggio dell’Apollo 11.
Colmò lo sforzo dell’Apollo guidando il suo team nell’eseguire un’analisi empirica basata sulle lezioni apprese dallo sviluppo del software di volo a bordo dell’Apollo. Queste lezioni sono state formalizzate in una teoria per i sistemi e il software, che serve come origine e gran parte del fondamento del linguaggio universale dei sistemi di Hamilton (USL).
Hamilton è il fondatore e il CEO di Hamilton Technologies, Inc. È responsabile dello sviluppo dell’Universal Systems Language (USL) insieme al suo ciclo di vita preventivo integrato “Development Before the Fact” e la sua automazione, la 001 Tool Suite; tutto basato sulla sua teoria matematica di controllo per sistemi e software.
A causa del suo paradigma preventivo, con USL, invece di cercare più modi per testare gli errori e continuare a testare gli errori in ritardo nel ciclo di vita, la maggior parte degli errori, compresi tutti gli errori di interfaccia, non sono ammessi in un sistema, semplicemente per come è definito.
Per oltre cinque decenni, i metodi di Hamilton hanno avuto un grande impatto sul campo dell’ingegneria del software fino ai giorni nostri.
Hamilton ha ricevuto il NASA Exceptional Space Act Award (2003) e la Medaglia presidenziale della libertà conferita da Barack Obama (2016).