Fechar

Margaret Hamilton: rocket woman

Publicado por:
Fernando Cezar
0

Quando minha irmã lançou o questionamento no Facebook, de quantos homens você conhece que tem uma mulher como ídolo, eu cheguei à conclusão que preciso falar mais sobre Margaret Hamilton.

 

Dizer que Margaret Hamilton tem uma grande influência na computação moderna é mais do que um eufemismo, quase uma ofensa. Aos 28 anos, ela trabalhava como engenheira de software, liderando um grupo do MIT que desenvolvia o software de controle da Apollo 11, mas o mais importante dessa frase inteira é o cargo que ela ocupava de engenheira de software: esse título até então não existia. As metodologias e as técnicas seguidas nessa área não existiam, ninguém nunca tinha sequer ouvido falar sobre o termo ou os princípios de engenharia de software. Isso porque Hamilton inventou isso tudo.

 

Não por que ela tivesse muito tempo nas mãos pesquisando novas metodologias, mas por necessidade. Software para foguetes, é, na mais pura definição, rocket science. Os métodos “primitivos” de programação da época não eram mais adequados para o novo desafio. Então, tal qual Newton fez com o Cálculo na matemática, ela criou as técnicas que precisava para mandar um foguete à lua. Não foi fácil, se já não bastassem os problemas óbvios que envolvem desenvolver uma área completamente nova da computação para dar mais inteligência a algumas toneladas de metal para levar à lua e trazer de volta 3 homens pela primeira vez na história, é claro que ela também tinha que eventualmente lidar com o machismo.

 

Não machismo do time que liderava, esse pessoal já tinha há muito aprendido a dar ouvidos a ela depois de já ter se provado mais do que capaz incontáveis vezes (mais sobre isso depois), mas o pessoal da NASA era outra história. A perseverança (rotulada de teimosia pelos engenheiros) de Hamilton mais do que literalmente salvou a vida dos 3 astronautas. Mas vamos começar do começo. Senta que lá vem história.

 

Margaret Hamilton se formou em matemática, e por um tempo trabalhou como professora de francês para sustentar o marido enquanto ele terminava seu curso universitário em Harvard, e ele por sua vez a sustentou enquanto ela fazia sua pós graduação em matemática abstrata. Durante esse período, ela conta que sempre se sentia um pouco estranha por ser a única mulher em uma sala cheia de homens, mas algo em especial a motivava: o fato de todos terem aula com uma professora de matemática a fazia pensar que, mesmo sendo uma minoria, todos estavam lá prestando atenção no que ela falava, com respeito. Essa admiração a fez seguir em frente e terminar o curso.

 

Com 24 anos, ela assumiu uma posição em tempo integral dentro do MIT, trabalhando em projetos de respeito. No seu currículo contam projetos como SAGE (sistema semi-automático de detecção de aeronaves hostis). Lembre-se estamos na Guerra Fria nesse período, então estamos falando de detectar aviões Soviéticos, tecnologias como essa eram consideradas um tantinho importante para os Estados Unidos. Eu não vou contar essa parte da história, vou deixar ela mesma contar:

 

“O que eles faziam quando você começava nessa organização era colocar você em um projeto que ninguém tinha conseguido ainda entender, ou sequer fazer algo funcionar. Quando eu comecei, eles me colocaram nesse projeto também. Era um código complicado e a pessoa que primeiro escreveu o software se orgulhava do fato que todos os comentários estavam em Grego ou Latim. Então me colocaram nesse projeto, e eu consegui fazer ele funcionar. Eu até imprimi as respostas em Grego e Latim. Eu fui a primeira que conseguiu fazer o projeto funcionar”.

 

Se esse episódio não fosse o suficiente pra ganhar o respeito dos colegas (spoiler: foi), ela ainda protagonizou outra história pegando alguns hackers no pulo – pela primeira vez na história, diga-se de passagem. Alguns programadores do MIT, só como piada, resolveram fazer umas modificações marotas no software base do computador da Universidade. Só não esperavam que a próxima pessoa a usar esse computador era Hamilton. Ao ver que o output do seu programa estava longe do esperado, ela declarou “tem algo errado com o computador”.

 

Naquele contexto, declarar que o que está errado é o computador e não o seu software, era como declarar que a realidade estava errada, e não você. Mas tamanha era a sua confiança na qualidade do seu trabalho, que ela bateu o pé e investigou até conseguir encontrar qual foi a modificação feita no computador e quem a fez, mais uma vez calando a boca dos seus críticos.

 

Quando ela tinha 28 anos, seu marido viu a notícia circulando de que a NASA estava procurando programadores para mandar astronautas à lua. Foi quando ela pensou “Preciso ir lá!”. Com um currículo e referências como as dela, ela foi a primeira pessoa contratada para o projeto, e começou a construir seu time. Foi aí que ela começou a inventar uma nova área dentro da computação.

 

Margaret Hamilton percebeu que, para esse projeto funcionar, ela ia precisar de mais do que o que já existia. Se um software dava problema aqui na terra, tudo bem, era só voltar à etapa de desenvolvimento e consertar. Mas e no espaço? Não dá pra pedir pros astronautas darem meia volta (manualmente, porque o software já estaria fora de operação). Foi quando ela veio com a ideia maluca que, se uma parte do sistema falha, o resto do sistema deveria continuar funcionando, ignorando a parte não funcional. A isso damos o nome de Graceful Degradation, e qualquer software que se preze hoje em dia implementa esse conceito. É impossível construir projetos grandes sem isso. Na época dela isso não existia, nem era algo tão óbvio assim.

 

Enquanto trabalhava no projeto, Hamilton já tinha uma filha, Lauren Hamilton. Como não tinha com quem deixar a criança durante as longas horas em que trabalhava na missão Apollo, ela precisava levar a filha ao trabalho. Do ponto de vista da criança, sua mãe passava o dia brincando de astronauta – na verdade ela estava usando o simulador da espaçonave para testar o seu software. E claro, como qualquer criança, ela também queria brincar. Enquanto sua mãe testava o software e Lauren brincava de astronauta, o sistema inteiro simplesmente parou de funcionar, apresentando uma falha crítica, sobrecarregando o computador. Ao invés de ficar brava, Margaret ficou muito interessada em saber o que sua filha fez para quebrar de maneira tão espetacular o seu software. A criança então mostrou que escolheu virar uma chave que mudava o modo de operação da nave de “em voo” para “procedimentos de terra”, algo não previsto, uma vez que essas são fases bem distintas.

 

Empolgada com a nova descoberta, Margaret Hamilton propôs à equipe que eles deveriam implementar um mecanismo que não deixasse que os astronautas colocassem a nave em um modo de pane por acidente como sua filha fez. A resposta que encontrou foi que “astronautas são treinados para não cometer erros”. Essa explicação não era boa o suficiente para alguém do quilate de Hamilton, que bateu o pé e implementou a funcionalidade. Engraçado é que, 3 minutos antes do pouso na lua, um astronauta cometeu exatamente o mesmo erro que sua filha. Se o código de segurança não estivesse lá, a nave inteira entraria em pane, e talvez não fosse dessa vez que alguém teria pousado na lua.

 

Esse hoje é conhecido como o conceito de man-in-the-loop, que consiste em entregar o software, ainda em estágio de desenvolvimento, para alguém de fora do projeto usar, e levar em conta onde o software falha. Nesse sentido, Lauren Hamilton foi o primeiro “man”-in-the-loop da história, e ajudou a salvar a missão Apollo 11.

Margaret Hamilton e o manual de instruções do software do foguete.

 

Esses conceitos são importantíssimos para desenvolvimento de software sério, mas são só o começo dos conceitos inventados por Margaret Hamilton. Outros princípios que merecem ser citados são Software Assíncrono, Escalonamento de Prioridades, end-to-end test e Desenvolvimento Distribuído.

 

Hoje qualquer um que se forma em Ciência da Computação é familiar com esses conceitos, por que Engenharia de Software é uma matéria obrigatória no currículo do curso, algumas vezes tomando mais do que um semestre na vida universitária.

 

Margaret Hamilton está ainda hoje trabalhando com software, sendo CEO da sua própria empresa, a Hamilton Technologies. Ao longo da vida, escreveu mais de 130 artigos científicos, e em 2016 recebeu a Presidential Medal of Freedom – a mais alta condecoração civil nos Estados Unidos – das mãos do Presidente Barack Obama, pelo seu trabalho na Missão Apollo 11. Além disso, em 2003, recebeu o NASA Exceptional Space Act Award for scientific and technical contributions, acompanhado com um pagamento de pouco mais de 37 mil dólares – sendo essa a primeira e única vez que a NASA concedeu um prêmio em dinheiro a alguém.

 

Mulheres na computação são uma minoria, mas por outro lado, são poucos os homens na computação com contribuições tão expressivas para a área como as de Margaret Hamilton.

 

Margaret Hamilton colada no meu computador. Pra me lembrar quem inventou minha área de trabalho.

Sobre a autora
Fernando Cezar

Cientista da computação, programador, diferentão, nascido pra trazer o caos, trocou o Brasil pela Alemanha mas nunca se conformou com a falta de pão de queijo na Europa.

Outros posts
NÃO VER COMENTÁRIOSVER COMENTÁRIOS