• 10 10℃ 서울
  • 10 10℃ 인천
  • 10 10℃ 춘천
  • 10 10℃ 강릉
  • 10 10℃ 수원
  • 8 8℃ 청주
  • 8 8℃ 대전
  • 9 9℃ 전주
  • 9 9℃ 광주
  • 8 8℃ 대구
  • 12 12℃ 부산
  • 14 14℃ 제주

숫자 0과 1만을 이용해 지구에 못 돌아올 뻔한 '아폴로 11호' 구한 여성

과학자 마거릿 해밀턴이 아폴로 11호를 구할 수 있었던 이야기를 소개한다.

인사이트소프트웨어를 테스트 중인 마거릿 해밀턴 / NASA


[인사이트] 강유정 기자 = 세계 최초로 달에 착륙한 유인 우주선 '아폴로 11호' 하면 떠오르는 인물이 있을 것이다.


바로 달에 발을 디딘 최초의 인류로 기록된 닐 암스트롱과 버즈 올드린이다.


하지만 미국에서는 '아폴로 11호' 하면 이 여성의 이름을 빼놓지 않는다.


바로 '코딩계의 대모'라 불리는 위대한 컴퓨터 과학자 마거릿 해밀턴(Margaret Hamilton, 85)이다.


인사이트직접 작성한 소스 코드 옆에 서있는 마거릿 해밀턴 / heidi news


미국의 컴퓨터 과학자이자 시스템 공학자, 사업가이기도 한 마거릿은 미항공우주국(NASA) 아폴로 프로젝트의 비행 소프트웨어를 개발한 MIT 계기 장비 연구소 소프트웨어 공학 부문 책임자였다.


1936년 미국 인디애나주 파올리에서 태어난 그는 대학에서 수학을 전공했다.


결혼 후 하버드 법대에 다니는 남편을 돕기 위해 독학으로 프로그래밍을 배운 그는 MIT에서 계약직 프로그래머로 일하면서 컴퓨터로 날씨를 예측하는 소프트웨어를 개발하는 등 뛰어난 실력을 보였다.


얼마 후 그는 NASA의 아폴로 미션에 참여하게 됐다.


인사이트딸 로렌과 마거릿 / Hackaday


인사이트아폴로 11호의 디스프레이 키보드 유닛(DSKY) / medium


워킹맘이었던 그는 집에서도 일하곤 했는데 4살 난 딸 로렌이 놀다가 아폴로의 시뮬레이터 디스플레이와 키보드 장치(DSKY)를 잘못 만져 'PO1'이라는 사전 발사 프로그램을 가동해 시뮬레이터가 꺼진 것을 발견했다.


이를 가만히 보던 그는 "우주 비행사들이 로렌처럼 이런 실수를 한다면?"이라는 우려를 하기 시작했다.


그는 이런 실수를 예상하고 코드를 바꾸는 것을 고려해야 한다고 주장했고 동료들과 함께 오류 회피 소프트웨어를 개발했다.


당시 프로그램을 만들기 위해서는 키보드가 아닌 0과 1로만 이루어진 천공 카드로 일일이 입력해야 해 수천, 수만 장의 천공카드가 있어야 했지만 오랜 시간 밤을 새우며 노력한 끝에 완성했다.


인사이트발사되는 아폴로 11호 / NASA


하지만 이들이 이렇게 노력해 만든 소프트웨어는 비행사들에 의해 거절당했다.


"우주 비행사들은 숙련된 사람들이니 그런 우려는 할 필요 없다. 그런 일은 일어나지 않는다"라는 이유에서였다.


하지만 이는 아폴로 8호 이전 비행에서도 실수가 있었기에 NASA의 경영진은 마거릿의 말대로 모든 비행에 대해 사용자 오류 검사를 코드에 포함하기로 합의했다.


마거릿은 "비행 중 PO1을 선택하지 말라"라는 프로그램 노트까지 추가했다.


인사이트아폴로 미션 일을 하고 있는 마거릿 해밀턴 / Smithsonian National Air and Space Museum


인사이트아폴로 미션 중인 마거릿 해밀턴 / IEEE Computer Society


그리고 마거릿의 예상은 완벽히 적중했다.


아폴로 11호가 달 표면에 도달하기 3분 전, 몇 대의 컴퓨터가 경보를 울렸다.


착륙선의 랑데부레이다에 부정확한 위상 전원이 공급되자 컴퓨터가 과부하를 일으켜 일시 중단된 것이다.


이때 해밀턴이 개발한 프로그램으로 아폴로 11호는 무사히 달에 착륙할 수 있었다.


인사이트달에 착륙한 아폴로 11호 / NASA


인사이트대통령 자유 훈장을 받고 있는 마거릿 해밀턴/ YouTube 'The White House'


그가 프로그램을 개발하지 않았다면 아폴로 11호는 달에 안전히 착륙하지도, 닐 암스트롱과 버즈 올드린이 달 표면을 밟지도 못했을 것이다.


아폴로 11호의 달 착륙 소식은 실시간으로 전 세계에 알려지며 수많은 이들의 박수를 받았다.


이런 공을 인정받아 마거릿은 지난 2016년 11월 22일 버락 오바마 대통령으로부터 대통령 자유 훈장을 받기도 했다.


그가 짠 소스 코드는 버그가 0이었다고 전해진다.


코딩의 중요성이 커진 요즘, 마거릿 해밀턴의 업적은 전 세계에서 다시 조명되고 있다.