Від «оборонки» до польоту на Місяць: що Маргарет Гамільтон подарувала людству

Від «оборонки» до польоту на Місяць: що Маргарет Гамільтон подарувала людству

Історія першої жінки, найнятої NASA.

Програмістка, бізнесвумен та вчена Маргарет Гамільтон мало не закинула кар’єру заради кохання, потрапила до NASA за оголошенням у газеті та була нагороджена найвищою громадянською нагородою США — Президентською медаллю свободи. Вона вигадала термін «програмна інженерія» і стала однією з тих, завдяки кому людина потрапила на Місяць.

Маргарет Гамільтон на врученні Президентської медалі свободи у 2016 році/ Lawrence Jackson

На початку 1960-х, у часи, коли процвітав сексизм, Гамільтон працювала в оборонній сфері, допомагала з рішеннями для метеостанцій, а пізніше очолила розробку програмного забезпечення для висадки місії «Аполлон-11» на Місяць.

Розповідаємо історію Маргарет Гамільтон.

Перша в NASA

Маргарет Гамільтон (Партінгтон) народилася в містечку Паолі, штат Індіана, 17 серпня 1936 року. У 1955 році вона стала вивчати математику в університеті штату Мічиган, а в 1958 — філософію в коледжі Ерлхема. Під час навчання майбутня програмістка познайомилася зі своїм чоловіком. Незабаром у пари народилася донька, і сім’я вчених почала думати над тим, як їм продовжувати наукову кар’єру.

В інтерв’ю The Guardian Гамільтон говорила, що могла вступити до аспірантури з абстрактної математики, але її чоловік захотів продовжити юридичну освіту в Гарварді, тому Маргарет довелося кілька років забезпечувати сім’ю. Поки чоловік навчався, вона викладала в середній школі, а потім знайшла роботу в Массачусетському технологічному інституті (MIT), де й почала програмувати.

«Я приєдналася, — ділилася Гамільтон, — до команди професора Едварда Лоренца, батька теорії хаосу. Моя робота в лабораторії полягала в розробці системи для прогнозування погоди. Саме в лабораторії я дізналася, що таке комп’ютер та як писати програмне забезпечення. Інформатика та програмування тоді ще не існували як окремі дисципліни, а програмісти навчалися всього прямо під час роботи».

У Массачусетському технологічному інституті (MIT) Маргарет почала вивчати автоматизацію прогнозу погоди, а потім вступила до аспірантури з метеорології. Пізніше Гамільтон запросили до Лабораторії Лінкольна MIT, яка на замовлення Міністерства оборони США досі досліджує та розробляє рішення для нацбезпеки.

Спочатку вчена писала в Лабораторії Лінкольна програми для виявлення повітряних суден противників, але головний прорив був попереду.

«Я хотіла повернутися до аспірантури, але чоловік побачив оголошення в газеті, — розповідала Гамільтон The Guardian. — Там йшлося, що Лабораторія вимірювальної апаратури Массачусетського технологічного інституту шукає людей для розробки програмного забезпечення, щоби “відправити людину на Місяць”».

Вчена та програмний код «Аполлона» / Вікіпедія (Wikimedia Commons)

За словами програмістки, лабораторія отримала контракт не просто так. До того, як NASA попросили вчених розробити програмне забезпечення для «Аполлона», ці же вчені вже створювали для агенції обчислювальне обладнання. А Гамільтон ідея «долучитися до космосу» сподобалася не лише складністю, а й новизною, — до її групи ніхто у світі цього не робив. Вчена стала «першим програмістом і першою жінкою, найнятою NASA».

Два бортові комп’ютери

Коли Гамільтон узяли до NASA, їй було лише 30 років. У 32 роки програмістка очолила відділ, який займався програмним забезпеченням для польотів на Місяць. Щоби визначити (або навіть легалізувати) те, над чим вони з командою працювали, учена незабаром після призначення вперше використала термін «програмна інженерія». Її колеги-чоловіки спочатку не зрозуміли цього й навіть жартували з Гамільтон. Але, як каже сама вчена, вони не здогадувалися, що саме програмна інженерія стане вирішальним фактором можливості відправити людину на Місяць

У новій місії «Аполлона» було два великі бортові комп’ютери. Вони розташовувалися в модулях: командному, який називався «Колумбія», і в місячному — під назвою «Орел». Позивні екіпажу збігалися із назвами модулів.

«Розроблене нами програмне забезпечення мало бути дуже надійним. ПЗ повинне було вміти виявляти неполадки та усувати їх у будь-який момент протягом усієї місії», — говорила вчена в інтерв’ю The Guardian.

Спочатку в команді Гамільтон було приблизно 20 осіб. Коли стало зрозуміло, що доведеться розробляти не лише програмне забезпечення для бортових комп’ютерів модулів, а й загальне програмне забезпечення, команда розрослася до ста програмістів.

У розмові з Futurism Гамільтон розповідала, що атмосфера NASA була дуже схожа на атмосферу MIT: колеги підтримували неформальне спілкування, але водночас намагалися зберігати субординацію під час роботи. За словами програмістки, члени її команди буквально фанатіли від розробки програмного забезпечення для космічної агенції — «чим складніше було випробування, тим більше всі кайфували».

«Мені й моїй команді, — казала Гамільтон, — дуже пощастило опинитись у потрібному місці. Ми тоді не мали вибору — довелося стати піонерами. Не було ні школи, ні місця, де можна було б вивчати те, що сьогодні називають програмною інженерією. А ще не було фрази “я не можу знайти відповідь” — відповіді доводилося шукати та винаходити».

LOL memory

На своєму найвідомішому знімку Гамільтон стоїть поряд із дуже високим стосом документів — це програмний код «Аполлона», який вченій доводилося писати вручну.

Щоби код став справжнім ПЗ, програмістка роздруковувала його, а потім склеювала, об’єднуючи в програми. Такий клопіткий метод кодингу називали LOL memory, де LOL — це не сміх, а little old ladies — жінки старшого віку, які роздруковували та склеювали код.

Розробники створювали програмне забезпечення для бортових комп’ютерів кілька років. В одному зі своїх інтерв’ю Гамільтон розповідала, як сильно переживала, спостерігаючи за переміщенням астронавтів. У момент, коли вони майже досягли місячної поверхні, у бортових комп’ютерах стався серйозний збій. За однією версією вони сильно перегрілися, за іншою — не могли функціонувати через перевантаженість інформацією.

Команда Маргарет Гамільтон передбачила це та розробила швидке перезавантаження ПЗ. Астронавти Ніл Армстронг та Едвін Олдрін змогли очистити комп’ютер від даних, які заважали посадці місячного модуля.

Після роботи в NASA в 1976 році вчена стала співзасновницею Higher Order Software, а через 10 років заснувала власну компанію Нamilton Technologies, яка досі займається розробкою ПЗ для модернізації планування та автоматизації процесів у бізнесі.

Нині Гамільтон 85 років. Вона рідко з’являється на публіці, але продовжує керувати компанією Нamilton Technologies.

За матеріалами The Guardian, Britannica, Futurism, Smithsonian Magazine.

Ще статті
Віктор Шитюк, Lead Data Engineer з 12 річним досвідом у IT сфері, про робочу рутину інженера даних, must-have інструменти та перспективи професії.