Margaret Hamilton ging bij het MIT werken aan softwareprojecten (waaronder meteorologische software voor Edward Lorenz, de vader van de chaostheorie, en SAGE systeemsoftware waarmee vijandelijke vliegtuigen werden opgespoord) voordat ze op het MIT/NASA contract terecht kwam als hoofdprogrammeur voor de Apollo geleidecomputer. Ze werkte aan elke bemande Apollo-missie en ook aan veel onbemande missies. Voor de bemande missies leidde Hamilton het team dat de vluchtsoftware ontwikkelde voor de commando- en maanmodules. Zij was de directeur van de Software Engineering Division van het Instrumentation Laboratory van MIT.
De code die Hamilton ontwikkelde was de software die de twee computers van de Apollo-ruimtevaartuigen zouden gebruiken en zou de basis vormen van wat vandaag een industrie is van software-ingenieurs die hun carrière te danken hebben aan Hamilton en haar team. De boordsoftware werd gebouwd om asynchroon te werken. Elke taak in de software kreeg een unieke prioriteit toegewezen door leden van het team. Hamilton ontwikkelde software om systeemfouten op te sporen en er in real time van te herstellen. Dit omvatte haar “man-in-the-loop” prioriteit-display-interface-routines die de software de mogelijkheid gaven om asynchroon in realtime te communiceren met de astronauten – de software en de astronauten lopen parallel – binnen een gedistribueerde systeem-van-systemen omgeving. Met dit als achtergrond waarschuwden de prioriteitsdisplays de astronauten in geval van nood door de normale missiedisplays van de astronauten te onderbreken en te vervangen door prioriteitsalarmdisplays, die hen noodgerelateerde opties gaven waaruit ze konden kiezen. Dit was het geval op de Apollo 11 vlak voor de landing op de maan toen de computer, als gevolg van het feit dat de rendez-vous radarswitch in de verkeerde stand was blijven staan, overbelast raakte. De prioriteitsalarm displays waren een herinnering aan de astronauten om de radar schakelaar terug te zetten waar hij hoorde. Toen de prioriteitsdisplays hen de keuze gaven: “te landen” of “niet te landen”, vanwege hun (en missiecontrole’s) geloof in de integriteit van de vluchtsoftware aan boord, kozen ze om te landen.
Hamilton bracht vaak haar dochter, Lauren, mee naar het werk tijdens de vrije uren. Op een keer, terwijl sommigen van het team missiescenario’s uitvoerden op de hybride simulatiecomputer, ging Lauren op verkenning en begon de DSKY-toetsen te selecteren op een “off nominal” manier. Ze startte een missiescenario op en zorgde ervoor dat de missie mislukte door halverwege P01 (pre-launch) te selecteren. Hamilton vroeg zich af, “wat als P01 per ongeluk zou worden geselecteerd door een echte astronaut tijdens een midcourse in een echte missie? Dat zou een groot probleem zijn, want dan zouden de navigatiegegevens worden gewist. Omdat Hamilton geen code mocht toevoegen om te voorkomen dat de astronaut deze fout zou maken, voegde hij een programmatoelichting toe aan de software, “selecteer P01 niet tijdens de vlucht”. In de volgende missie, Apollo 8, maakte de astronaut dezelfde fout; Hamilton en haar team konden de astronauten helpen de navigatiegegevens opnieuw te uploaden om de vernietigde gegevens te vervangen. Ze had nu toestemming om software toe te voegen om dit probleem bij toekomstige Apollo-missies te voorkomen.
“Hamilton is de persoon die op het idee kwam om de discipline de naam software engineering te geven, als een manier om het legitimiteit te geven”. Zij leidde een empirische studie van Apollo en latere inspanningen, die resulteerden in haar systeemtheorie van controle. Uit haar axioma’s werd de universele systeemtaal afgeleid, samen met haar automatiserings- en preventieparadigma. Hamilton is CEO van Hamilton Technologies Inc. Ze ontving de NASA Exceptional Space Act Award (2003) en de Presidential Medal of Freedom van president Barack Obama (2016). Ze kreeg haar eigen Lego in de Women of NASA Lego set.