First Software Engineer | IEEE Computer Society
Het zal voor de meeste software-ingenieurs van vandaag misschien als een verrassing komen om te horen dat de grondlegger van hun discipline een vrouw is.
Margaret Hamilton, een gerenommeerd wiskundige en pionier op het gebied van computerwetenschappen, zou de term software engineering hebben bedacht toen zij als hoofd van de afdeling Software Engineering van het MIT Instrumentation Laboratory het geleidings- en navigatiesysteem voor het Apollo-ruimteschip ontwikkelde.
Hamilton legt uit waarom ze ervoor koos om het software engineering te noemen:
“Ik vocht om de software legitimiteit te geven, zodat het-en degenen die het bouwen- het gepaste respect zou krijgen en dus begon ik de term ‘software engineering’ te gebruiken om het te onderscheiden van hardware en andere soorten engineering, maar toch elk type engineering te behandelen als onderdeel van het totale systems engineering proces. Toen ik deze uitdrukking voor het eerst gebruikte, vond men ze nogal amusant. Het was een voortdurende grap voor een lange tijd. Ze hielden me graag voor de gek met mijn radicale ideeën. Software kreeg uiteindelijk en noodzakelijkerwijs hetzelfde respect als elke andere discipline,” zei ze in een recent interview met de Spaanse krant El Pais.
Recently, Hamilton was een featured keynote speaker at the 40th International Conference on Software Engineering held in Gothenburg, Sweden, where on May 31 she delivered her address “The Language as a Software Engineer.”
Zie de volledige kalender van IEEE Computer Society-conferenties
In de begindagen wist volgens Hamilton niemand echt wat ze aan het doen waren. Software was een wildernis. Ze wilde dat het net zo gerespecteerd zou worden als alle andere takken van techniek.
“Er was geen veld voor software engineering,” zei Hamilton, “Je stond er alleen voor. Kennis, of het gebrek daaraan, werd van persoon tot persoon doorgegeven.”
Hoewel software in het begin geen belangrijk onderdeel van het Apollo-programma was, werd het tegen 1965 – toen Hamilton aan boord kwam – duidelijk dat software een integraal onderdeel zou worden van het op de maan zetten van een man.
“Systeemsimulaties waren een mix van hardware en digitale simulaties van alle aspecten van een Apollo-missie, inclusief man-in-the-loop simulaties, om er zeker van te zijn dat een complete missie van begin tot eind zich precies zo zou gedragen als verwacht,” aldus Hamilton.
In het begin gaf NASA Hamilton en haar team carte blanche. Ze waren vrij om hun softwareprogramma’s ongehinderd te ontwikkelen. Maar toen veranderde alles.
Wil je meer technisch nieuws? Meld u vandaag nog aan voor de ComputingEdge Newsletter!
“Wij ontwikkelden onze ‘software engineering’-regels met elke nieuwe relevante ontdekking,” zei Hamilton, “terwijl de regels van het topmanagement van NASA van volledige vrijheid naar bureaucratische overkill gingen.” (Er werd haar eens gevraagd hoe onderzoekers zo’n verstikkende bureaucratie konden overwinnen. Hamilton zei: “Daar heb ik geen antwoord op.”)
Maar Hamilton was strenger voor zichzelf dan welke bureaucraat ook zou kunnen zijn.
“De ruimtemissiesoftware moest door mensen worden beoordeeld. Het moest niet alleen werken, het moest ook de eerste keer werken. Niet alleen moest de software zelf uiterst betrouwbaar zijn, het moest ook in staat zijn om fouten in real time op te sporen en te herstellen. Onze talen daagden ons uit om de meest subtiele fouten te maken. We waren op onszelf aangewezen om regels te bedenken voor het bouwen van software. Wat we leerden van de fouten zat vol verrassingen,” zei Hamilton.
Lees ons artikel over “The Epic Journey of Women in Computing: Advances, Setbacks, and an Uncertain Future”, een finalist voor een prijs.
Haar ijver wierp vruchten af.
Vlak voordat de Apollo 11 op de maan zou landen, overrulede het softwareprogramma de normale operaties om de astronauten te laten weten dat er iets mis was.
De problemen begonnen toen de computer werd overladen met commando’s van de rendez-vousradar en het landingssysteem, die meer verwerkingskracht vroegen dan de computer aankon. Met de radar op 13% en het landingssysteem op 90%, moest er iets gebeuren. Gelukkig had Hamilton de computer geprogrammeerd om taken te prioriteren naar belangrijkheid en niet naar volgorde. Toen de astronauten op de prioriteitsdisplays moesten beslissen of ze wel of niet op de maan wilden landen, zeiden ze: “Gaan.”
En de rest is geschiedenis.
Hamilton bleef werken aan de resterende Apollo-missies van de NASA en aan SkyLab, het eerste ruimtestation van Amerika. Haar rigoureus gespecificeerde ontwerpmethoden zijn vandaag de dag de basis geworden van veel moderne software engineering-technieken.
Van haar prille dagen bij NASA tot haar huidige status als een legende en grootheid op het gebied van software engineering, heeft Margaret Hamilton geholpen de weg vrij te maken voor een industrie-nu goed voor meer dan een biljoen dollar-om de wereld voor altijd te veranderen.
Ze ontving later de NASA Exceptional Space Act Award (2003) en de Presidential Medal of Freedom van Barack Obama (2016).
Op 1 minuut, 20 seconden in de bovenstaande video, beschrijft president Obama Hamilton’s bijdrage aan het Apollo-programma en de wereld van de technologie.
Highlights van Margaret Hamilton op ICSE 2018
Margaret Hamilton geeft haar keynote speech op de 40e International Conference on Software Engineering gehouden in Gothenburg, Zweden.
Hamilton op het podium tijdens de 40e International Conference on Software Engineering.
Wil je meer tech-nieuws? Meld u vandaag nog aan voor de ComputingEdge Newsletter!
Hamilton reageert op vragen tijdens de Q&A. Een van de aanwezigen vroeg Hamilton hoe zij onderzoekers zou adviseren om de bureaucratie te bestrijden, waarop zij met een grijns antwoordde: “Daar heb ik geen antwoord op.”
Nenad Medvidovic, organisator van de conferentie en hoogleraar computerwetenschappen aan de University of Southern California, geeft Hamilton na afloop van haar toespraak een zak Zweedse chocolaatjes.
Onderzoek van Margaret Hamilton in de Computer Society Digital Library: Universal Systems Language: Lessons Learned from Apollo