Hamilton inuti en attrapp av Apollos kommandomodul, 1969. Foto: NASA (public domain).
In Memoriam
Margaret Hamilton
17 augusti 1936 – 30 september 2026 · Datavetare · Chef för Apollos flygmjukvara · Moder till ”programvaruteknik”
Margaret Hamilton ledde MIT-teamet som skrev flygmjukvaran ombord för Apollo-programmet — koden som guidade besättningarna till månen och tillbaka, på en dator med en bråkdel av minnet i en modern klocka. Hon gjorde det samtidigt som hon uppfann disciplinen: det är hon som myntade termen programvaruteknik, i en tid då uttrycket behandlades som ett skämt.
Från Paoli till Cambridge
Margaret Heafield föddes i Paoli, Indiana, 1936 och växte delvis upp på Michigans övre halvö, dotter till en poet och filosofiprofessor. Hon studerade matematik — med filosofi som biämne — vid Earlham College och tog examen 1958, samma år som hon gifte sig med James Hamilton. Deras dotter Lauren föddes 1959.
Hon tänkte läsa abstrakt matematik på forskarnivå vid Brandeis. I stället, för att försörja sin man under hans juridikstudier på Harvard, tog hon det som var tänkt som ett tillfälligt jobb på MIT — att skriva väderprognosmjukvara åt Edward Lorenz (ja, kaosteori-Lorenz) på datorerna LGP-30 och PDP-1. Det fanns inga kurser i programmering; man lärde sig genom att göra det. Hon var bra på det direkt.
Det ledde henne till MIT:s Lincoln Laboratory och SAGE-projektet — det kontinentala luftförsvarssystem som var ett av de första att kräva mjukvara som inte fick fallera. På Lincoln Lab fick Hamilton rykte om sig att lösa de program ingen annan kunde laga; kollegorna började lämna över de svåraste, konstigaste buggarna till henne. Hon lärde sig feltolerans på en maskin som vaktade en kontinent.
Apollo
1965 hade MIT:s Instrumentation Laboratory — senare Draper — vunnit NASA:s kontrakt för Apollos ombordstyrning. Hamilton var den första programmeraren som anställdes till Apollo-projektet på MIT, och den första kvinnan som programmerade för det. Hon började på de obemannade uppdragen och steg till att leda teamet som skrev flygmjukvaran för de bemannade kommando- och månmodulerna. 1968 ansvarade hon för mjukvaran i kommando- och servicemodulen; på insatsens topp skrev fler än 400 människor kod för Apollo.
Maskinen som hennes kod måste flyga var ökänt liten: Apollo Guidance Computer gick på cirka 85 kilohertz med ungefär 72 kilobyte kärnrepminne — bokstavligen vävt, tråd för tråd, genom ferritkärnor av ”Little Old Ladies”, fabriksarbetarna som för hand trädde varje programbit. Mjukvara skrevs inte in på det minnet; den tillverkades in i det. Det gick inte att lappa i efterhand.
Det berömda fotot: Hamilton bredvid utskriften av Apollo Guidance Computer-mjukvaran — nästan lika hög som hon själv. Varje sida var förtjänad. (Draper Laboratory / public domain.)
Hennes dotter hittade buggen före NASA
En av de bästa historierna i mjukvaruhistorien är ett barns. Lauren Hamilton, då omkring åtta år, kom till labbet på helgerna och lekte astronaut på simulatorn. Vid ett besök hamrade hon på knapparna mitt i en simulering och startade ett förstartsprogram mitt under flygningen — och raderade datorns navigationsdata. Hamilton insåg vad som hänt och yrkade på en felkontroll så att sekvensen aldrig kunde köras i flyg. Svaret uppifrån: astronauter är tränade att aldrig göra misstag; det kan inte hända.
På Apollo 8 startade astronauten Jim Lovell — genom att göra exakt det Lauren gjort — av misstag samma program och raderade sina navigationsdata medan han kretsade runt månen. Hamiltons team arbetade dygnet runt för att bygga om tabellerna och få hem besättningen. Kontrollen hon bett om lades till efteråt. Varje programmerare känner igen läxan: om en människa kan göra det, kommer en människa att göra det.
Tre minuter som gav henne rätt
Hennes djupaste besatthet var felhantering — en radikal hållning på den tiden. Mjukvara förväntades fungera eller fallera; Hamilton insisterade på att den skulle fortsätta fungera genom felet: säga till besättningen vad som var fel och skydda det högst prioriterade arbetet först. Apollo-mjukvaran kördes under en prioritetsschemalagd exekutiv med ”prioritetsdisplayer” som lyfte fram larm i stället för att dölja dem.
20 juli 1969. Apollo 11 sjunker mot Stillhetens hav när styrdatorn börjar tjuta exekutivöverskridningslarm 1201 och 1202 — maskinen ombeds göra mer än den klarar, eftersom en rendezvous-radar matar den med data den inte behöver. Hamiltons design gör exakt det hon designat den för: den kastar arbetet med låg prioritet, fortsätter flyga landningen och talar om för besättningen vad som händer. I Houston förklarar den 24-årige ingenjören Jack Garman — som memorerat larmkoderna — för flygledaren Steve Bales vad larmen betyder. Beskedet går upp: ”go”. Armstrong och Aldrin landar.
Läxan hon lämnade oss: larmen var inte ett fel — de var systemet som gjorde exakt det det var designat att göra under förhållanden ingen fullt kunde förutse. Skriv mjukvara som talar sanning när den kämpar, som rangordnar det som betyder något och som degraderar graciöst i stället för att dö i tystnad. Den tanken — fel som designat beteende, inte överraskningar — är fortfarande hjärtat i god ingenjörskonst, och samma instinkt bakom verktyg som analyserar kod innan den körs.
”Programvaruteknik”
När Hamilton började kalla det de gjorde ”programvaruteknik” skrattade äldre kollegor — hårdvara var teknik; mjukvara var något man knappade in. Hon fortsatte använda termen tills själva arbetet gjorde den obestridlig: en disciplin med krav, design, test, simulering och granskning. Uttrycket överlevde skeptikerna. Det är i dag namnet på yrket — och hon myntade det inte bara, hon visade vad det betydde, på väg till månen.
Efter Apollo — teknik genom konstruktion
Hamilton ägnade de följande decennierna åt att formalisera vad Apollo lärt henne: att system ska vara korrekta genom design, inte debuggade till korrekthet efteråt. 1976 var hon med och grundade Higher Order Software, som producerade designverktyget USE.IT — system specificerade under axiomatiska regler så att hela felklasser förhindras innan en kodrad körs. 1986 grundade hon Hamilton Technologies i Cambridge och utvecklade Universal Systems Language (USL) med dess 001 Tool Suite — ”development before the fact”, systemteknik där mjukvaran ärver systemets stringens. Det arbetet ledde hon resten av sitt liv.
Utmärkelser
1986 — Augusta Ada Lovelace Award, Association for Women in Computing (dess första mottagare)
2003 — NASA Exceptional Space Act Award — den största utmärkelse NASA någonsin gett en enskild person
2007 — Hedersdoktorat, Bard College
2009 — Earlham College Outstanding Alumni Award (senare hederstitel)
2016 — Presidential Medal of Freedom, USA:s högsta civila utmärkelse
2017 — Förevigad i LEGOs set ”Women of NASA”
2019 — Intrepid Lifetime Achievement Award
President Obama delar ut Presidential Medal of Freedom till Hamilton, 2016 — ”hon symboliserar den generation av obesjungna kvinnor som hjälpte till att skicka mänskligheten ut i rymden”. (Vita husets foto — public domain.)
Det sista ordet
Hamilton dog den 30 september 2026 i Cambridge — inom synhåll för labbet där hon först lärt sig vad mjukvara kunde vara. Hon blev 90 år. Hon efterlämnar sin dotter Lauren — den lilla flicka vars fingrar en gång hittade en bugg som NASA:s processer inte kunde —, en svärson, två grandsons och fyra barnbarnsbarn. NASA:s administratör kallade henne ”en pionjär vars arbete hjälpte till att göra Apollo och mänsklighetens första resor till månen möjliga”. En minneshögtid planeras i Cambridge.
"Det fanns ingen andra chans. Det visste vi. Vi tog vårt arbete på allvar, många av oss började den här resan i tjugoårsåldern… Vi var tvungna att hitta en väg och det gjorde vi. När jag ser tillbaka var vi världens lyckligaste människor; det fanns inget annat val än att vara pionjärer."
Varför hon står bland jättarna
Den här sajten finns för att lära människor att programmera. Hamilton är personen som bevisade att programmering kan bära människolivs tyngd — och att det kräver stränghet, ödmjukhet och viljan att designa för ett fel man hoppas aldrig ska komma. En mor som debuggar i ett labb vid midnatt, en dator som vägrade ge upp på väg ner mot Stillhetens hav, och ett ord — teknik — som hon gjorde sant genom att göra det. Det är exakt det jättarna är till för.