Hamilton joutui aikoinaan perustelemaan ohjelmistotyön merkitystä laiteinsinööreille NASAn sisäisissä kokouksissa. Hänen sinnikkään työnsä ansiosta ohjelmistokehitystä alettiin pitää varsinaisena insinööritieteen haarana, ja termi software engineer sai virallisen hyväksynnän. Apollo-ohjelman aikana hän eteni MIT:n Software Engineering Divisionin johtajaksi vastaten koko Apollo-ohjelman ohjelmistoista.
Ohjelmointi oli Hamiltonin uran alkuvaiheessa hyvin erilaista kuin nykyään. Ohjelmat kirjoitettiin suoraan konekielellä nollina ja ykkösinä. Ensimmäisessä työpaikassaan hän muokkasi ohjelmakoodia kirjaimellisesti tekemällä reikiä paperinauhoihin kynällä tai peittämällä niitä teipillä, jolloin nollat vaihtuivat ykkösiksi ja päinvastoin.
Apollo-ohjelmassa muistiratkaisutkin olivat kaukana nykyisestä teknologiasta. ROM-muisti rakennettiin pienistä metallirenkaista, joiden läpi pujotettu johdin vastasi yhtä bittiä eli ykköstä. Apollo-aluksen ROM-muistin koko oli 72 kilotavua, mikä tarkoitti yhteensä 589 824 rengasta. Muistien fyysisen ohjelmoinnin suoritti joukko erittäin taitavia naisia, joita Hamilton kutsui leikkisästi nimellä LOL (Little Old Ladies).
Ohjelmistovirheitä puolestaan kutsuttiin nimellä FLT (Funny Little Things). Virheiden etsintä, eli debuggaus, tapahtui usein niin sanotulla Auge Kugel -menetelmällä, jonka nimi tarkoittaa saksaksi silmämunaa. Käytännössä ohjelmoijat kävivät lähdekooditulosteita läpi käsin ja yrittivät seurata ohjelman toimintaa mielessään samalla tavalla kuin tietokone.
Apollo-ohjelmistosta kehitettiin aikansa mittapuulla poikkeuksellisen vikasietoinen. Järjestelmään sisällytettiin hajautettu virheidenvalvonta, joka kykeni tunnistamaan ongelmatilanteita ja ilmoittamaan niistä astronauteille. Apollo 11:n historiallisen kuulaskeutumisen aikana ohjelmisto havaitsi, että alukselle oli jäänyt päälle tutkajärjestelmä, joka kuormitti prosessoria tarpeettomasti. Ohjelmisto reagoi käynnistämällä itsensä uudelleen, priorisoi kriittisimmät tehtävät ja sulki vähemmän tärkeät prosessit. Tämä ratkaisu auttoi mahdollistamaan onnistuneen laskeutumisen Kuun pinnalle.
Apollo-ohjelmasta saamiensa kokemusten pohjalta Hamilton kehitti myöhemmin formaaleja menetelmiä vikasietoisten järjestelmien suunnitteluun. Hän kutsui lähestymistapaansa nimellä Development Before the Fact, jonka tavoitteena oli ehkäistä ohjelmistovirheitä jo ennen koodin syntymistä. Samankaltaiset ajatukset ovat sittemmin nousseet laajempaan käyttöön esimerkiksi funktionaalisessa ohjelmoinnissa sekä Rust-ohjelmointikielessä.
Tunnetussa vuonna 1969 otetussa valokuvassa Margaret Hamilton seisoo Apollo 11:n ohjausjärjestelmän tulostetun lähdekoodin vieressä. Kuvasta on tullut yksi ohjelmistotekniikan historian ikonisimmista symboleista, ja se muistuttaa siitä, kuinka ratkaisevassa roolissa ohjelmistot olivat ihmiskunnan matkalla Kuuhun.













