In 2018, we have loads of resources for teaching ourselves absolutely anything– including programming. Even though programming has joined the ranks of disciplines taught via formal education, there are many other routes a budding programmer can take. Online courses abound, as well as individual books, videos, podcasts, and guides. But imagine having none of that at your fingertips, like the first programmers. One of the greatest self-taught programmers in history, Margaret Hamilton, made her mark on technology long before any programming classes were available.
Hamilton had some formal education (a B.A. from the University of Michigan in Mathematics with a minor in Philosophy), but her programming skills were entirely self-taught. In the fifties and sixties, everyone’s were– it was learned at work with hands-on methods of trial and error. Computer Science and Software Engineering (a term Hamilton herself coined) did not exist yet, so programmers had to make do with their own ability to reason out problems.
Her programming career began in 1960 when she took a position at MIT to help develop software so that Professor Edward Norton Lorenz could more accurately predict the weather. It was known as Project Whirlwind. While she was at MIT, she helped create innovations like the code for the world’s first portable computer, which would influence the entire direction of what would become Computer Science.
Margaret Hamilton’s remarkable skill in aiding with Project Whirlwind led into a position with SAGE, an organization devoted to developing technology to detect potential Soviet air strikes. This was, remember, the Cold War, and staying one step ahead of the Soviets was a primary goal for everyone in America. Luckily for them, they had Hamilton on their side.
If you’re a Star Trek fan, you’ll know the story of the Kobayashi Maru– a training exercise for Starfleet cadets that was unwinnable. Future officers might not have been able to beat the game, but they could show important character traits through their choices. Well, Hamilton encountered a real-life Kobayashi Maru situation and, like the infamous Captain Kirk managed to beat it.
Every newcomer to SAGE was given a practically unsolvable program and tasked with getting it to run. The person who wrote it even encoded their comments in Greek and Latin for a particularly punishing ordeal. Hamilton was the first to actually get it to run, securing her place within the organization.
This, in turn, showed that she was equal to the task of creating software for NASA’s Apollo missions.
Leading up to July 20, 1969– when Neil Armstrong, Buzz Aldrin, and Michael Collins would land on the moon– more than 400,000 people contributed to the mission. Hamilton, as it turns out, was a key player.
Software Engineering was not particularly valued at the time. In fact, the original budget for the missions didn’t even cover it. Fortunately, Hamilton’s tireless work would keep everyone safe and the mission successful.
One of her team’s most significant accomplishments in regards to the moon landing was the development of a system of priorities that could interrupt the default tasks with error messages to alert them of emergencies. This process was a critical part of the moon landing’s success and benefited greatly from Hamilton’s insistence on rigorous testing.
Dr. Paul Curto, who nominated her for a NASA Space Act Award, is cited as saying that her work comprised “the foundation for ultra-reliable software design” because no bugs were ever found in the Apollo software.
What does Margaret Hamilton have to teach us?
1. Women, of course, should not be excluded from technological fields. While they are often viewed as newcomers to STEM, in reality, there are many important women like Margaret Hamilton who shaped the history of STEM.
2. Hands-on learning is always the way to go. It’s sometimes tempting to read a book from front to back, but unless you’re making use of the principles in that book, nothing will stick. While often learning on the job comes with a lot of pressure, which can make it challenging, Hamilton shows us that it’s not impossible to learn purely by trial and error– once we have a few core principles down.
Do you have a favorite STEM woman? Let us know in the comments below!
Want to learn to program? Register for my free Self-Taught Coder Masterclass where I cover how I went from a novice to a software engineer at eBay in less than one year.