Now we need more than 145,000 lines of code…
On July 20th, 1969, at 20:17 UTC, the Apollo Lunar Module Eagle landed on the Moon as part of the Apollo 11 mission. Just six hours and 39 minutes later, Neil Armstrong etched his name in history as the first human to set foot on the Moon. Later, he described this majestic event as “one small step for a man, one giant leap for mankind.” While the world marveled at the astronauts, only few marveled at the 145,000 lines of code that safely guided them to the moon and back.
„Software engineer“
Margaret Hamilton, a lead computer scientist on the mission, played a pivotal role in creating the 145,000 lines of code. She not only contributed to this remarkable feat but also coined the term “Software Engineer” to describe her work. Unlike today, software development in the 60s closely resembled engineering tasks. Although commended for inspiring women to pursue engineering careers, Hamilton utilized Core Rope memory, ironically mostly woven by women, to significantly expand the memory on the Apollo Lunar Module.
Despite the code’s sheer size, a famous photograph shows Margaret Hamilton standing next to a stack of handwritten code created by her team for the Apollo Mission computers. The code’s impressiveness extended beyond size; it featured dynamic software loading for adaptability, priority scheduling for error handling, rope memory programming to increase usable memory, and rigorous documentation and verification.
Core Rope Memory
While deemed a success, it took several months for Margaret and her team to write, test, and document the code. Focused solely on the code, this team of creative computer scientists played a small but critical role in the entire mission, primarily ensuring the safe landing of the Lunar Module Eagle. Their emphasis on code, written in assembly for easy execution, allowed the team to iron out bugs and enable the astronauts to complete their mission.
Focus on the task!
Just think about it! Large enterprises today face challenges similar to those of the Apollo 11 team. Their businesses venture into an unknown, ever-changing market, where operational circumstances change rapidly, and their “astronauts” need constant support from “computer scientists.” Comparing this unique and dangerous ‘60s mission to the everyday life of a large enterprise might seem unfair—unfair not to the Apollo 11 mission, but the other way around.
Flying closer to the Sun
Similar to Apollo 11, enterprise IT systems soared to the cloud. While Apollo journeyed far beyond the clouds, IT systems for large companies didn’t just make a brief visit; they permanently moved to the cloud to enable further development and stay competitive. This shift required significant work, not only for migration but also for laying the foundation for future endeavors. Many companies completely reorganized both their company and IT structures after moving to the cloud.
Blurring the lines
Margaret and her team weren’t just excellent computer scientists; their main task was writing software to safely transport astronauts to the moon and back, requiring knowledge of physics and astronomy. Similarly, today’s modification or creation of new IT systems supporting business operations demands collaboration between rare IT specialists and businesspeople. Creating “fusion teams” that include businesspeople from different branches alongside IT specialists has enabled some enterprises to expedite development and yield more focused end products.
Error handling
Not to diminish the impressive work of the computer scientists’ team on Apollo 11, the fast-moving world we live in demands faster and more efficient error handling than the methodology Margaret helped develop. In IT enterprise systems and general company management, errors are unavoidable. Therefore, more agile methodologies, followed by flexible and adaptable IT systems, have become necessary for any enterprise striving for success.
No time for focus
The original team needed several months to create the software that would land the Eagle on the moon, mostly limited by the technology of the time. While technology limitations still exist, they no longer significantly hinder development. RAD (Rapid Application Development) serves as a basis for the majority of current work but is being overtaken by the necessity of creating new applications to keep businesses growing. Instead of handwriting 145,000 lines of code, enterprises now require agile technologies that don’t involve writing any code at all. Low-Code and No-Code application development are already essential for many enterprises to succeed.
In essence, modern business environments allow no time to focus and create comprehensive, impressive stacks of code just to complete a single mission. Still, a modern equivalent of a cutting-edge IT system, limited only by technology, simmilar to the one the Apollo 11 computer engineering team created, requires agility and flexibility. Although everything has changed from 1969 to today, some things have stayed the same.
Conclusion
To wrap up our journey from Apollo 11 to today’s enterprise IT: “Yes, now we need more than 145,000 lines of code but we do not have (time) to write them!”. Margaret Hamilton and her team faced tech challenges in the ’60s but left a lasting mark on how we approach innovation. Their knack for focus, teamwork, and careful workmanship still shapes our IT world, where staying nimble and flexible is key. In comparison, the success which an enterprise seeks nowadays could seem unreachable as was the moon back in ‘60s and the technology as limiting as the punch cards did but the key to unlocking it lies in embracing the change.
The story of Apollo 11 isn’t just about the past; it is something we still encounter. We’re reminded to adapt, work together across different fields, and keep pushing for efficiency. While our tools have evolved, the heart of innovation remains the same. As we navigate the tech universe, let’s remember Apollo 11 as a guide, urging us to explore new horizons in the ever-changing landscape of technology and business.