TECH 으로 돌아가기
TECH HACKER NEWS 오늘 6분 읽기 29 READS

아폴로 소프트웨어의 설계자, 마거릿 해밀턴이 남긴 공학적 유산

아폴로 소프트웨어의 설계자, 마거릿 해밀턴이 남긴 공학적 유산
SOURCE IMAGE · HACKER NEWS

NASA 아폴로 프로그램의 비행 소프트웨어를 이끈 컴퓨터 과학자 마거릿 해밀턴(Margaret H. Hamilton)이 9월 30일 90세를 일기로 별세했다. 1936년 미국 인디애나주 파올리에서 태어난 그는 미시간대와 얼햄칼리지에서 수학을 전공했고, 1959년 보스턴으로 이주한 뒤 MIT에서 프로그래밍과 처음 인연을 맺었다. 당시 기상학자 에드워드 로렌츠의 일기 예측 소프트웨어를 돕던 작업이 출발점이었는데, 이 경험은 훗날 로렌츠의 카오스 이론 연구에도 영향을 주었다.

해밀턴의 이력에서 한국 IT 실무자가 주목할 지점은 그가 '소프트웨어 공학(software engineering)'이라는 용어와 분과 자체를 정착시키는 데 기여했다는 사실이다. 1960년대 초 MIT 링컨연구소에서 미국 최초의 방공 시스템인 SAGE 프로젝트의 소프트웨어를 작성하면서 그는 당시 거의 탐구되지 않았던 '소프트웨어 신뢰성'이라는 개념에 관심을 갖기 시작했다. 코드가 하드웨어의 부속물로 취급되던 시대에, 소프트웨어를 독립된 공학 영역으로 격상시키려는 그의 시도는 오랫동안 농담거리 취급을 받았다고 그는 2018년 엘파이스 인터뷰에서 회고했다.

달에 사람을 보낸 '방어적 프로그래밍'

1965년 MIT 기기연구소(Instrumentation Lab)가 NASA로부터 아폴로 탑재 비행 소프트웨어 계약을 따내면서, 해밀턴은 이 프로젝트의 첫 프로그래머이자 첫 여성 프로그래머로 합류했다. 무인 임무 소프트웨어를 거쳐 유인 임무의 탑재 소프트웨어 팀을 이끌었고, 1968년에는 사령선·기계선(Command and Service Module) 팀을 책임지는 부책임자가 되었다. 당시 아폴로 소프트웨어에는 400명 넘는 인력이 투입되고 있었다.

그가 남긴 가장 중요한 실무적 교훈은 이른바 '방어적 프로그래밍', 즉 오류를 미리 예상하고 스스로 복구하도록 설계하는 접근이었다. 유명한 '로런 오류' 일화가 이를 상징한다. 네 살이던 딸 로런이 시뮬레이터에서 비행 중 사전발사 프로그램 P01을 작동시켜 시스템을 멈추게 한 사건이다. 해밀턴은 실제 임무에서 같은 실수를 막을 소프트웨어 수정을 제안했지만, '고도로 훈련된 우주인은 그런 실수를 하지 않는다'는 이유로 받아들여지지 않았다. 그러나 1968년 아폴로 8호 임무에서 짐 러벌이 실제로 비행 중 P01을 실행해 항법 데이터가 사라졌고, 이후 그의 제안은 정식으로 반영되었다.

1202 경보와 우선순위 설계

1969년 7월 아폴로 11호의 달 착륙 직전, 탑재 컴퓨터가 '1202 오류'를 띄웠다. 하드웨어 스위치 결함으로 컴퓨터에 과부하가 걸린 상황이었다. 해밀턴 팀이 설계한 소프트웨어는 우선순위 기반으로 작동해, 불필요한 백그라운드 작업을 중단하고 임무에 핵심적인 연산을 먼저 처리하도록 되어 있었다. 휴스턴 관제센터는 이 소프트웨어를 신뢰해 임무를 계속하도록 결정했고, 인류는 처음으로 달에 발을 디뎠다. 자원이 한정된 실시간 시스템에서 '모든 작업을 다 처리하려다 멈추는 대신 무엇을 포기할지 미리 설계해 둔다'는 원칙은 오늘날 임베디드·실시간 시스템 설계에도 그대로 통하는 사고방식이다.

아폴로 프로그램이 저물면서 기기연구소는 MIT에서 분리돼 독립 법인 드레이퍼연구소(Draper Laboratory)가 되었다. 해밀턴은 1970년대 중반까지 MIT에 몸담은 뒤 창업의 길로 들어섰다. 1976년 오류 예방과 결함 허용(fault tolerance)을 철학으로 삼은 '하이어 오더 소프트웨어'를, 1986년에는 '해밀턴 테크놀로지스'를 세웠다. 후자의 대표 제품인 범용 시스템 언어(USL)는 복잡한 소프트웨어 시스템을 모델링하면서 오류 예방과 방어적 프로그래밍을 우선하는 방법론으로 정리되었다.

그의 업적은 2016년 버락 오바마 대통령이 수여한 대통령 자유 훈장을 비롯해 2003년 NASA 특별우주법상, 2017년 컴퓨터역사박물관 펠로상, 2022년 국립항공명예의전당 헌액 등으로 이어졌다. 130편이 넘는 논문을 남긴 그는 자신이 개발에 참여한 아폴로 코드가 2015년 깃허브에 전체 공개되고, 코드 출력물 옆에 선 사진이 온라인에서 회자되면서 과학기술계 여성의 상징이 되기도 했다.

다만 해밀턴의 유산을 '달 착륙을 성공시킨 영웅담'으로만 소비하는 것은 그 핵심을 놓치는 일이다. 그가 반복해 강조한 것은 '미지의 상황을 다루는 것(handling the unknown)', 곧 실패를 전제로 시스템을 설계하는 태도였다. 완벽한 코드를 쓰는 것이 아니라 오류가 발생할 것을 가정하고 그 영향을 통제하는 구조를 먼저 세운다는 원칙은, 반세기가 지난 지금의 클라우드·분산 시스템 엔지니어에게도 여전히 미완의 숙제로 남아 있다. 그의 유족으로는 딸 로런 해밀턴과 사위, 손자 두 명, 증손 네 명이 있으며, 추모식은 내년 봄 매사추세츠주 케임브리지에서 열릴 예정이다.

SOURCE · HACKER NEWS
원문 전체 보기 → https://news.mit.edu/2026/margaret-hamilton-computing-pionee...
SHARE
NEXT · CHOOSE

변화를 읽었다면,
내가 만들 수익 구조를 고릅니다.

정보를 더 모으는 데서 멈추지 않고, 광고·외주·판매·중개·구독 중 내 상황에 맞는 출발점을 정해보세요.

21가지 수익 구조 살펴보기 →
처리 중...