解決問題是她最喜歡的事情
瑪格麗特・漢彌爾頓(Margaret Hamilton) 開始寫電腦程式時,還沒有「軟體工程師」一詞。漢彌爾頓 1936 年出生於美國印第安納州,1958 年畢業於厄爾罕學院(Earlham College),兩年後獲得在麻省理工學院(Massachusetts Institute of Technology,MIT)寫電腦程式的工作。
在 MIT,漢彌爾頓開啟了後來延續整個職業生涯的興趣:修正程式設計錯誤。在程式設計初萌芽的時代,她和同儕從實作中學習工程和故障排除,用充滿創意的方法面對自己的工作。有時候他們可以透過大型電腦製造出來的背景噪音,分辨自己的軟體是否順暢運作。
1963 年,漢彌爾頓正準備進入布倫戴斯大學(Brandeis University)的研究所攻讀抽象數學的學位時,MIT 取得 NASA 的合約,為阿波羅太空船設計導引和導航電腦(AGC)。
漢彌爾頓不想錯過這個機會, 聯繫計畫辦公室,分別和兩名計畫主持人進行面談。兩位主持人都當場決定雇用她,她建議兩人應該丟銅板決定她要去誰的團隊工作。
接下來幾年之內,漢彌爾頓成為 MIT 儀控實驗室(MIT Instrumentation Lab)軟體工程組(Software EngineeringDivision)的主持人,也是 AGC 背後的主要設計者之一。
為阿波羅導引電腦設計軟體時,漢彌爾頓和她的團隊必須創造新的軟體系統,以引導和控制阿波羅任務太空船前進月球。
「除了作為開路先鋒,別無選擇……找不到問題的答案時,我們只能創造答案。」
她後來回顧。
團隊中充滿「天不怕地不怕的二十多歲年輕人」,他們有自由(也有壓力)來對付太空導航的挑戰。使用漢彌爾頓軟體的阿波羅計畫和太空實驗室(Skylab)計畫期間,從沒發生過嚴重故障。
然而漢彌爾頓的女兒蘿倫(Lauren)卻預示了一次最嚴重的錯誤。那時四歲的蘿倫在漢彌爾頓的辦公室玩著顯示器和鍵盤(DSKY),在模擬器的飛行途中,輸入了發射前使用的程式 P01,導致嚴重錯誤。
漢彌爾頓因此建議加入一行程式碼,以避免這種情況發生。但 NASA 告訴她,沒有任何太空人會犯下這種錯誤。
在阿波羅 8 號任務時,吉姆・洛維爾意外刪除了指揮和服務艙的導航數據,導致與漢彌爾頓女兒所造成的相同狀況。幸好電腦的設計很穩健,漢彌爾頓和她的團隊才能夠找到方法,在幾小時內從地面修正問題, 見證任務圓滿完成。
漢米爾頓後來為 NASA 發展太空梭使用的軟體。她也成立了兩間公司,專門設計可靠的軟體,並因為她為阿波羅計畫做出的貢獻,在 2016 年獲頒美國總統自由勳章(Presidential Medal of Freedom)。
她一直是工作場域裡少數的女性之一,在締造阿波羅計畫的成功、幫助推動電腦在外太空的運算上,她都是一位卓越的人物。