NASA’nın İlk Yazılım Mühendisi: Margaret Hamilton

20 Temmuz 1969’da tahminen saat 16.00’da insanlık ayın yüzeyine inişten sadece birkaç dakika uzaktı. Ancak astronotlar son inişlerine başlamadan önce bir acil durum alarmı çaldı. Bilgisayarın aşırı yüklenmiş olduğu konusunda uyarmak için alarmlarla kesintiye uğrattı. Hamilton, MIT’deki izleme odasında dururken bunu olduğu gibi öğrendi..

Bugünkü konumuz, Margaret Hamilton;  daha önce bu ismi duymuş muydunuz ? Eğer duymadıysanız bu yazı sizin için güzel bir öğrenme fırsatı olacak.

Matematik alanında lisans derecesine sahip olan Margaret Heafield Hamilton (17 Ağustos 1936 doğumlu), 24 yaşındayken MIT’de programcı olarak çalışmaya başlamıştı. MIT Lincoln Laboratuvarı’nda, düşman uçaklarını aramak amacıyla Amerika’nın ilk hava savunma sistemi için yazılım geliştirdi.. Asıl planı, Harvard Hukuk’taki üç yıllık görev arası süresince eşi James Hamilton’a destek olmak ve sonrasında kendi yüksek lisans derecesi üzerine çalışmaktı.

Ancak bir süre sonra, Apollo Uzay Programı ortaya çıktı ve Hamilton, NASA’nın Apollo programı için uçak içi uçuş yazılımı geliştiren Yazılım Mühendisliği Bölümü’nün başına geçerek laboratuvarda kalmaya karar verdi.

O zamanlar henüz hiçbir okul yazılım mühendisliği öğretmiyor, bu yüzden de ekip üyelerinin sorunları kendi başlarına halletmeleri gerekiyordu.

Hamilton, Apollo görevinin ilk dönemini şu sözlerle ifade ediyor:

“İlk başladığımda, kimse ne yaptığımızı bilmiyordu. Vahşi Batı gibiydi.”

Bu dönemde Hamilton, sistem hatalarını tespit etmek ve bilgisayar çökmesi durumunda bilgileri kurtarabilmek için özellikle yazılıma odaklandı. Bu iki unsur da astronotlar Neil Armstrong ve Buzz Aldrin’i Ay’a götüren 1969 yılındaki Apollo 11 görevi sırasında çok önemli olacaktı.

Görevinin ilk dönemini şu sözlerle ifade ediyor:

“Uzay görevi yazılımının sadece çalışması değil, aynı zamanda ilk seferinde çalışması gerekiyordu. Yazılımın yalnızca kendisinin son derece güvenilir olması değil, aynı zamanda gerçek zamanlı olarak hata tespiti ve kurtarma yapabilmesi gerekiyordu. Yazılım geliştirme kuralları bulmak için kendi başımıza kaldık. Hatalardan öğrendiklerimiz sürprizlerle doluydu.”

Hamilton’un yazılımı, aya inişten yaklaşık üç dakika önce, ekibe verilen hatalı operasyon betiğinin uçuş bilgisayarının öncelikli işlemesini radar sistemine geçiren anahtarı elle ‘açık’ duruma getiren komutunu geçersiz kıldı. Böylelikle görevin güvenli bir şekilde devam etmesini sağladı.

Hamilton, Wired’a verdiği bir röportajda, 1960’lardaki iş ortamında çalışan bir anne olarak çok aykırı görüldüğünü, kızını hafta sonları ve akşamları laboratuvara getirip ofis katında uyutarak, kendisinin Apollo üzerinde çalışmaya devam ettiğini ve diğer zamanlarda kızını nasıl evde bırakabildiği gibi sorularla karşılaştığını söylüyor. Ayrıca kusurlu olduğunu fark ettiği kodu düzeltmek için gece geç saatte bir partiden ayrıldığı detayını anlatıyor.

NASA’da Apollo projesine yaptığı katkı kadar, “yazılım mühendisliği” kavramını ortaya atan ilk kişi olmasıyla da iz bırakan Hamilton, Apollo görevinin başlarında yazılım geliştirmeyi bir mühendislik disiplini olarak meşrulaştırmakla da ilgileniyordu.

“Yazılım mühendisliği” terimini kullanmaya ilk başladığında, yazılım geliştirme diğer mühendisliklerle karşılaştırıldığında ciddiye alınmıyor ve bir bilim olarak görülmüyordu. (Zamanla bu terim, diğer teknik disiplinlerle aynı saygıyı kazandı. IEEE Software Eylül / Ekim 2018 sayısı, yazılım mühendisliğinin 50. yıl dönümünü kutladı.)

Hamilton, “yazılım mühendisliği” terimini nasıl oluşturduğunu şöyle açıklıyor:

“Bu terimi ilk ortaya attığımda, daha önce kimse duymamıştı, en azından bizim dünyamızda. Uzun zamandır devam eden bir şakaydı. Radikal fikirlerim konusunda beni kandırmayı seviyorlardı. En saygın donanım uzmanlarından birinin, bir toplantıda herkese, yazılım geliştirme sürecinin de tıpkı donanımda olduğu gibi bir mühendislik disiplini olarak görülmesi gerektiğini kabul ettiğini açıkladığı unutulmaz bir gündü. Yeni ‘terimi’ kendiliğinden kabul ettiği için değil, onu hak ettiğimiz için ve odadaki diğerlerinin kendi başına bir mühendislik alanında olduğunu kabul ettiğimiz içindi.”

Hamilton, Apollo yazılımını geliştirmedeki çalışmaları ve getirdiği yeniliklerden dolayı 2003 yılında NASA tarafından onurlandırıldı.

2016’da NASA’nın Apollo Ay görevi için uçak içi uçuş yazılımının geliştirilmesini sağlayan çalışmaları nedeniyle Başkan Barack Obama’dan Başkanlık Özgürlük Madalyası’nı aldı.

2017’de LEGO, Margaret Hamilton, Mae Jemison, Sally Ride ve Nancy Grace Roman’ın mini figürlerini içeren bir “NASA Kadınları” LEGO seti satışa çıkardı.

2019’da Google, Apollo 11 inişinin 50. yılını kutlamak için Hamilton’a bir saygı duruşu yapmaya karar vererek, Ivanpah fabrikasındaki 107.000 aynayı ay ışığında Hamilton ve Apollo 11’in bir resmini oluşturacak şekilde yapılandırdı.

Margaret Hamilton’un bilim dünyasına katkıları, insanları aya götürmede önemli bir rol oynamanın çok daha ötesinde. Hamilton, çalıştığı projeler, bilimsel makaleleri ve daha sonra kurduğu şirketin çalışmalarına ek olarak; programlamanın temel ilkeleri ve yapı taşlarının oluşturulmasına, hata toleransı ve güvenilirlik hakkındaki gelişmelere de önemli katkılarda bulundu. Ayrıca, daha fazla kadının yazılım gibi STEM alanlarına yönelip başarılı olmasında bir rol modeli ve öncü olduğu için de muazzam bir övgüyü hak ediyor.