Margaret Hamilton: Yazılıma Adını Veren Mühendis
Ay yüzeyine üç dakika kala Apollo 11 yönlendirme bilgisayarı alarm vermeye başladı. Buzz Aldrin, yedi görevi idare etmek üzere tasarlanmış bir makineye sekizinci eşzamanlı görev talebini göndermişti. İniş orada iptal edilebilirdi. Edilmedi; çünkü yazılımı yöneten kadın, yıllar önce tam olarak böyle bir şeyin olacağını varsaymış ve bilgisayarı başarısız olmak yerine kendi esansiyel olmayan işini bırakacak şekilde kodlamıştı. Daha sonra şöyle söyleyecekti: "Eğer bilgisayar bu sorunu fark edip kurtarma eylemi gerçekleştirmeseydi, Apollo 11'in o başarılı Ay inişi olabileceğinden şüpheliyim."
Paoli, Indiana
Margaret Elaine Heafield, 17 Ağustos 1936'da Paoli, Indiana'da Kenneth ve Ruth Esther Heafield'ın kızı olarak dünyaya geldi. Ailesi Michigan'a taşındı ve kendisi 1954 yılında Hancock Lisesi'nden mezun oldu. Babası şair, büyükbabası okul müdürü olan ev halkı onu matematik kadar felsefeye de kararlılıkla yönlendirdi — ki sonunda her ikisini de okuyacaktı. 1955'te Michigan Üniversitesi'nde eğitim gördü, ardından Earlham Koleji'ne geçiş yaparak 1958'de felsefe yan dalı ile matematik alanında lisans derecesi aldı. Earlham'ın matematik bölümünün başkanı Florence Long'un kendisini soyut matematiğe ve akademik bir kariyere teşvik etmesinden övgüyle söz etti. Haziran 1958'de James Cox Hamilton ile evlendi; kızları Lauren ertesi yıl doğdu.
Hava Durumu, Kaos, Yunanca ve Latince
Bilgisayar alanındaki ilk işi, 1959'un ortalarından itibaren MIT meteoroloji departmanında Edward Norton Lorenz ile birlikte LGP-30 ve PDP-1 makineleri için hava tahmini yazılımı yazmak oldu. Lorenz daha sonra kaos teorisine dönüşen çalışmaya katkısını kabul etti. 1961-1963 yılları arasında MIT Lincoln Laboratuvarı'nda, Yarı Otomatik Zemin Ortamı hava savunma sistemi için AN/FSQ-7 prototipini programladı; burada kendisine açıklamaları Yunanca ve Latince yazılmış, ün salmış derecede çetin bir program verildi — ve onu çalıştıran ilk insan oldu. Her iki iş de onu tanımlayacak ortak bir özelliğe sahipti: Kendisine kimsenin adam edemediği sistemler verilmişti.
Enstrümantasyon Laboratuvarı
1965 yılında, Apollo projesi için işe alınan ilk programcı ve ilk kadın programcı olarak MIT'nin Enstrümantasyon Laboratuvarı'na (daha sonra Charles Stark Draper Laboratuvarı) katıldı. Yazılım Mühendisliği Bölümü Direktörlüğüne yükseldi; Komuta Modülü ve Ay Modülü'ndeki Apollo Yönlendirme Bilgisayarı için uçuş içi uçuş yazılımından ve sonrasında Skylab sistemlerinden sorumlu oldu. Bu, ikinci şansı olmayan bir koddu: Yama yok, alçalma yörüngesinde yeniden başlatma yok, fırlatma rampasını terk ettikten sonra makineye ulaşmanın hiçbir yolu yoktu.
1202
Hamilton'ın cevabı, hatayı bir istisna olarak değil bir tasarım varsayımı olarak ele almaktı. Yazılımı hata tespiti ve kurtarma rutinleri içeriyordu ve en önemlisi bir "öncelik göstergesi" şemasına sahipti: Bilgisayar aşırı yüklendiğinde, önceliği düşük görevleri bırakacak ve inmeyi gerektiren işlevleri koruyacaktı. Ayrıca döngünün insan tarafını da düşünmüş, astronotların öncelik göstergesini gördüklerinde beşe kadar saymalarını sağlayacak bir prosedür tasarlayarak yazılımın işlem gecikmesine pay bırakmıştı.
20 Temmuz 1969'da mekanizma tam olarak tasarlandığı gibi çalıştı. Alarmlar çaldı, bilgisayar kaybetmeyi göze alabileceği şeyleri attı ve NASA görev kontrol bilgisayarı mühendisi Jack Garman kodları tanıyıp "Git, git!" diye bağırdı. Kartal iniş yaptı.
Bir Disipline İsim Vermek
Hamilton, erken Apollo yıllarında "yazılım mühendisliği" (software engineering) terimini yerleştirmesiyle kredilendirilir. Amacı betimleyici olduğu kadar yetki alanına dairdi. "Donanımdan ve diğer mühendislik türlerinden ayırmak için 'yazılım mühendisliği' terimini kullanmaya başladım," diye açıkladı, "yine de her mühendislik türünü genel sistem mühendisliği sürecinin bir parçası olarak ele aldım." Donanımcılar bundan et प्रभावित olmadı. "Uzun süre devam eden bir şakaydı," diye hatırladı. "Radikal fikirlerimle benimle dalga geçmeyi severlerdi." O şaka artık on milyonlarca insanı istihdam eden bir endüstrinin adı.
Gerçekleşmeden Önce Geliştirme
Kariyerinin geri kalanını bu çıkarımın peşinden gitmeye harcadı. 1976'da Apollo'nun kendisine öğrettiği hata önleme yöntemlerini resmileştirmek için Saydean Zeldin ile birlikte Higher Order Software'i kurdu; USE.IT ürünleri Uzay Mekiği ve Hava Kuvvetleri'nin ICAM projeleri dahil olmak üzere devlet programlarını destekledi. Mart 1986'da Cambridge, Massachusetts'te Hamilton Technologies'i kurdu; burada "gerçekleşmeden önce geliştirme" (development before the fact) adını verdiği bir paradigma etrafında Evrensel Sistemler Dili'ni (Universal Systems Language) ve 001 Araç Takımı'nı geliştirdi — bu argüman, hataların test sırasında avlanmak yerine tasarım anında imkânsız hale getirilmesi gerektiği savunusuydu.
Takdir yavaş yavaş ve ardından bir anda geldi: 1986'da Augusta Ada Lovelace Ödülü; 2003'te NASA'nın tarihindeki en büyük bireysel ödül olan 37.200 dolarlık NASA İstisnai Uzay Yasası Ödülü; 2016'da Barack Obama'dan Başkanlık Özgürlük Madalyası; 2017'de Bilgisayar Tarihi Müzesi Üyesi Ödülü; 2019'da Washington Ödülü; 2022'de Ulusal Havacılık Onur Listesi'ne kabul.
Margaret Neden Dahi Olarak Anılır
Yetenek, alanının düşünce biçiminin somut bir tersine çevrilmesidir. 1960'larda yazılım, çalışması gereken talimatlar olarak anlaşılıyor, hatalar ise daha sonra bulunacak üzücü olaylar olarak ele alınıyordu. Hamilton başarısızlığı bir numaralı tasarım nesnesi olarak ele aldı: Temelindeki varsayımlar geçerliliğini yitirdiğinde bir sistem ne yapmalı? Öncelik göstergesi bu zihnin en net eseridir. Önlenemeyen aşırı yüklenmeyi önlemez; kimsenin henüz deneyimlemediği koşullar altında bir makinenin, önemli olan tek şeyi yapmaya devam edebilmek için neleri feda etmeye razı olması gerektiğine önceden karar verir. Bu teknik olduğu kadar felsefi bir hamledir. İkinci iddiası kavramsal yazarlıktır: Bununla alay edilirken "yazılım mühendisliği" adını koymak, bütün bir mesleğin kendini anlam biçimini yeniden örgütledi.
Dürüst nitelemeler şunlardır. Onur kayıtları, ne kadar kapsamlı olsa da resmi olarak uygulanan "dahi" kelimesini göstermez; sonuç için madalyalar gösterir. Apollo 11'i kurtarmak solo bir eylem değil bir sistemdi — yazılımı alarmı çaldırdı, ancak Jack Garman kodları tanımalıydı, bir uçuş kontrolörü gitmeli demeliydi ve tasarım astronotların insani bir prosedürü izlemesine bağlıydı. Ve endüstri onun kelimesini yönteminden daha eksiksiz benimsedi: "Yazılım mühendisliği" evrenselken, "gerçekleşmeden önce geliştirme" uzman düzeyinde kalmaya devam ediyor. Dahiliği en iyi, çözmek için inşa ettiği her araçtan daha uzun süre hayatta kalan bir problem çerçevelemesinde bulunur.
Miras
Yönlendirdiği kod, "1202 alarmı" ifadesinin bir mezar yazıtından ziyade bir zafer olmasının nedenidir. Daha büyük miras, artık o kadar standart ki görünmez hale gelen varsayımdır — yazılımın mühendisliği yapılmış, toleranslara bağlı tutulan ve zarif bir şekilde başarısız olması beklenen bir şey olduğu varsayımı. Hem adı hem de ilk büyük kanıtı o sağladı.

