Margaret Hamilton

17 augusti 1936 -

Margaret Hamilton

IT är än idag en mansdominerad bransch, men innan programmering eller datavetenskap ens lärdes ut i skolorna så var det en kvinna som tog rodret och kodade sig in i historien. Margaret Hamilton är inte bara en sjuhelvetes programmerare, hon satte även människan på månen.

Margaret Elaine Heafield föds den 17 augusti 1936 i Paoli, Indiana, och växer upp i mellanvästerns USA. När hon som sjuttonåring tar studenten från Hancock High School år 1954 har hon hittat sin första stora kärlek: matematik. Hon har snabbt insett att hon gillar att gå i skolan, men det är något speciellt med matematik som hon gillar mer än någonting annat. Hon gillar att kunna räkna fram svaren, hon vill inte behöva memorera saker, det är för mycket begärt. Och, om hon skulle vara ärlig, alldeles för lat för. Med matematik finns svaren redan där.

Valet är därför enkelt när hon ska välja fortsatta studier. År 1955 börjar hon på University of Michigan innan hon snart byter till Earlham College, huvudämnet är självklart matematik. Oftast är hon den enda tjejen i matematik- och fysikklasserna på båda skolorna. Men på Earlham är en av matteprofessorerna en kvinna som heter Florence Long. Hon är en favorit bland alla mattestudenter, även för Margaret. Florence inspirerar henne att bli intresserad av abstrakt matematik och att själv bli en professor i matematik. Utanför skolan ser Margaret upp till sin pappa Kenneth som är filosof och poet. De åker ofta ut på bilturer där de diskuterar allt mellan himmel och jord tillsammans. När Margaret börjar studera allt mer avancerad matematik säger hennes pappa att det hon nu håller på med faktiskt inte är så olikt hans eget område som filosof. Det här får Margaret att 1958 ta en kandidatexamen i matematik med filosofi som breddningsämne.

På Earlham Collge har Margaret träffat James Cox Hamilton och kort efter att ha tagit examen gifter de sig den 15 juni 1958. Paret flyttar året efter till Boston då James bestämt sig för att studera på Harvard Law School. I november 1959 föds deras dotter Lauren. Margaret som själv hade planerat att doktorera inom abstrakt matematik tar istället ett jobb vid Massachusetts Institute of Technology (MIT) för att försörja familjen så att hennes man kan fortsätta studera.

Vid tjugofyra års ålder börjar därför Margaret som programmerare. Först och främst får hon lära sig vad en dator är och hur man skriver programvara. Några utbildningar inom datavetenskap eller programmering finns inte på den här tiden. Man får lära sig på jobbet. Hon upptäcker att de på MIT har en tradition att tilldela nybörjare program som ingen annan lyckas få igång eller förstår. Det här händer Margaret också. Programmet hon får har kodats av någon som skadeglatt sig åt sin egna svåra programmering, så pass att han skrivit alla kommentarer i koden på grekiska eller latin. Men Margaret får programmet att fungera. Hon är den första som lyckas.

På MIT hamnar hon hos professor Edward Norton Lorenz, skaparen av kaosteorin. Under honom börjar Margaret arbeta på system för att förutsäga vädret. Storleken på datorerna hon får arbeta med går från att vara enorma, att de tar upp hela lagerlokaler, till att vara ganska stora, som ett halvt rum. Sommaren 1961 hoppar Margaret över till Lincoln Laboratories på MIT och blir involverad i projektet Semi-Automatic Ground Environment (SAGE), det första amerikanska luftförsvarssystemet. Under två år arbetar hon med att koda program vars uppgift är att söka efter ”ovänliga” flygplan – en mycket tidig form av ”homeland security”. Kalla kriget är i full gång och flygvapnet vill kunna identifiera fiendens flygplan.

År 1964 är James klar med juridikstudierna och Margaret är redo att återuppta sina egna inom abstrakt matematik. Det är då hennes man får syn på en jobbannons i lokaltidningen. Ett annat laboratorium på MIT har fått ett lukrativt kontrakt med NASA och nu söker de folk för att utveckla programvara för att skicka människan till månen! President John F. Kennedy har inte långt tidigare proklamerat landets ambitiösa rymdplaner. När Margaret får se annonsen tänker hon direkt, wow, hon måste dit!

Hon ringer omedelbart MIT för att se om hon kan bli involverad i projektet som låter som en once in a lifetime-möjlighet. Inom bara några timmar har hon fixat intervjuer med de två projektledarna på MIT. Inte bara det, båda erbjuder henne en position direkt efter intervjuerna. Margaret vill inte såra någons känslor så hon säger att de får singla krona eller klave om vem som ska få anställa henne. Det är Dan Lickly, som utsetts till att leda gruppen som ska utveckla guidnings- och kontrollsystemet för rymdfarkosten, som vinner myntsinglandet. Margaret hurrar, det var vad hon hade hoppats på.

Tjugoåtta år gammal börjar hon därmed arbeta på Apollo-projektet som ska föra amerikanerna till månen. Hon är inte bara den första kvinnan de anställer, utan även den första programmeraren. Under den första tiden på Apollo-projektet tas inte programmering på allvar av de andra ingenjörerna och teknikerna. Programmering är inte vetenskap eller lika tekniskt som att bygga hårdvara menar de. Margaret känner ett behov av att legitimera sitt område, hon bygger faktiskt komplexa system. Hon myntar därför termen ”software engineering”. Ingen där har hört talas om det förut och hon blir pikad för sina radikala idéer. En dag i ett möte upplyser en av de mest respekterade hårdvaruguruerna för alla att han är överens med Margaret. Processen att bygga mjukvara bör också betraktas som en teknisk disciplin, precis som med hårdvara. Det är ett stort ögonblick för henne.

Redan efter ett år har Margaret befordrats till chef över Software Engineering Division, som avdelningen nu heter och har till uppgift att koda och testa programmen som ska få astronauterna till rymden och hem igen. Många i teamet är orädda tjugoåringar, vilket behövs då inget av vad de sysslar med har gjorts förut. Det finns inga färdiga svar, det finns ingen tid att vara nybörjare. De måste hitta på allt själva, men det var också det roliga. Ju större utmaning, desto roligare har de. Utbildningen sker genom att testa sig fram och ofta är det just dramatiska händelser som får diktera förändringar.

Ofta på kvällar eller på helger tar Margaret med sin unga dotter, Lauren, till jobbet. En dag bestämmer sig Lauren för att leka astronaut i kopian av rymdkapseln som byggts för att simulera ett uppdrag till månen. Hon vill imitera sin mamma som hållit på att testa systemen. Lauren börjar dra i reglage och trycka på knappar. En av dem får plötsligt systemet att krascha. Margaret inser omedelbart att det här misstaget är något en astronaut också skulle kunna göra. Hon rekommenderar därför att de justerar programvaran för att förhindra det, men cheferna på MIT och Nasa skakar på huvudet. Astronauterna är för välutbildade för att göra ett sådant misstag. Under nästa uppdrag gör astronauten Jim Lovell på Apollo 8 exakt samma fel som Margarets dotter hade gjort. Lyckligtvis kan Margarets team korrigera problemet inom några timmar. Efter det låter de henne direkt programmera om mjukvaran så att det aldrig kan hända igen.

Den 16 juli 1969 fyller amerikanerna motorvägar, gator och hem för att bevittna uppskjutningen av en raket från Kennedy Space Center: Apollo 11. Destination: Månen. Hundratals människor jobbar nu med Apollos mjukvara, under ledning av Margaret. För en tidning har hon poserat bredvid all kod hon varit med att programmera och som ska få Apollo 11 till månen och tillbaka. Högen är högre än hon själv. Jämfört med dagens teknologi är det en monumental prestationen. De har bara tillgång till 72 kilobyte med datorminne. En 64 gigabyte mobiltelefon idag har nästan en miljon gånger mer lagringsutrymme.

Margaret är uppkopplad från MIT till Mission Control-rummet den 20 juli 1969 när månkapseln Eagle närmar sig månens yta med Neil Armstrong och Buzz Aldrin ombord. Tre minuter innan farkosten ska landa börjar varningssignaler att lysa. Datorn meddelar att det är en nödsituation och att astronauterna nu måste ta ett go/no-go beslut (att landa eller inte landa). Vad Margarets team senare upptäcker är att astronauterna knappat in felaktiga instruktioner som gjort att datorn blivit överbelastad. Det här är tack och lov något Margaret förutsatt skulle kunna hända och har programmerat datorn att ignorera lågprioriterade uppgifter. Projektledarna i Mission Control litar på hennes mjukvara och säger åt Apollo att ”Go!”. Med bara bensin kvar för 30 sekunders mer flygning sprakar det till i radion igen. “The Eagle has landed.”

Först då slår det Margaret vad som precis har hänt. Hela tiden har hon fokuserat på mjukvaran, inte på uppdraget i stort. Nu efter att hennes feldetekterings- och återhämtningsfunktioner kommit till räddning och astronauterna landat säkert landar också det historiska ögonblicket hos henne. De klarade det. Det funkade!

NASA är så imponerad av hennes program att den används på alla sex månlandningar fram till 1972. Inte bara det, den används som grund för mjukvaran på Skylab, Förenta staternas rymdstation, och senare rymdfärjans alla flygningar ända fram till 2000-talet. Då har Margaret hunnit gå vidare i karriären. År 1972, när Apollo 17 gör den sista månlandningen i programmet, lämnar hon MIT och startar fyra år senare sitt eget mjukvaruföretag, High Order Software, för att fortsätta utveckla sina idéer om felförebyggande och feltolerans i system. Hon är VD för företaget fram till mitten av 80-talet när hon slutar för att starta ett nytt företag, Hamilton Technologies. Där skapar hon Universal Systems Language, ytterligare ett steg mot att göra datorsystem mer pålitliga.

År 2003 får Margaret ta emot NASA Exceptional Space Act Award från rymdorganisationen som ett erkännande över hennes bidrag till mjukvaruutveckling och tilldelar henne 37 200 dollar, det största belopp NASA någonsin delat ut till en individ. Den 22 november 2016 finner sig Margaret stå på scen och ta emot Medal of Freedom från president Barack Obama som tack för sitt arbete med Apollo-programmet. Det är den högsta utmärkelse en civil kan få i USA. Samma år görs hela hennes kod för Apollo 11 tillgänglig på open source-plattformen Github. Bland de första raderna går det att läsa: ”SUBMITTED: MARGARET H. HAMILTON DATE: 28 MAR 69 / M.H.HAMILTON, COLOSSUS PROGRAMMING LEADER / APOLLO GUIDANCE AND NAVIGATION.” I sitt tal säger President Obama: “Our astronauts didn’t have much time, but thankfully they had Margaret Hamilton.” Astronauterna må ha landat på månen, men det var Margaret Hamilton som fick dem dit och hem.

Don’t let fear get in the way and don’t be afraid to say “I don’t know” or “I don’t understand” – no question is a dumb question. And don’t always listen to the so-called experts!
– Margaret Hamilton

Läs mer

  • Koden för Apollo 11 på Github