Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
In 1961, MIT was awarded the contract for a guidance system to fly to the moon, the first for the entire Apollo Program. Software was not mentioned. Six years later, the project had 400 engineers writing code. The Apollo Guidance Computer flew men to the moon before UNIX or C were created, and is to this day a marvel of engineering. NASA and MIT records of its creation allow us to look back on some pioneers of our industry, relive their experiences, and maybe learn a few things ourselves. Julian Simioni is a software developer at 42floors in San Francisco, CA. When not working tirelessly to bring technology to the world of commercial real estate, he can be found riding his bicycle, flying planes, and eating spaghetti. Help us caption & translate this video! http://amara.org/v/FGZf/
Date
Summarized using AI?
If this talk's summary was generated by AI, please check this box. A "Summarized using AI" badge will be displayed in the summary tab to indicate that the summary was generated using AI.
Show "Summarized using AI" badge on summary page
Summary
Markdown supported
In "Software Development Lessons from the Apollo Program," Julian Simioni explores the fascinating intersection of software development and space exploration, particularly focusing on the Apollo program of the 1960s. Despite a lack of formal knowledge about software engineering at the time, the Apollo Guidance Computer (AGC) was an engineering marvel that successfully flew missions to the moon, built by a team of engineers navigating unprecedented challenges. Simioni conveys that while key figures in software engineering, like Fred Brooks, were just beginning to pen their ideas, Apollo's engineers were learning critical lessons about the field in real-time. Throughout his talk, Simioni outlines several key points: - **Origins of Software Development**: The term 'software' was first used in 1950, but engineers at MIT were just discovering its importance and complexity while building the AGC. In the early stages, there were no deadlines or formal documentation, allowing for innovative experimentation. - **Handling Failures Gracefully**: Simioni emphasizes how the AGC was built to manage failures without drastic alerts, contrasting it with modern computing where a system crash often overshadows the underlying performance. - **Rigorous Testing**: The Apollo team employed extensive testing methods, particularly integration tests, to ensure various subsystems worked harmoniously, focusing on failure cases, which is still a lesson applicable in today's software development practices. - **User Interaction**: The story illustrates how astronauts initially resisted automation, wanting to retain their manual capabilities, yet ultimately benefitted from the automation the AGC provided. It highlights a common pitfall in development: users may not always know what they want. - **Team Dynamics**: The growth of the Apollo project to 400 engineers reflects challenges in scaling teams correctly and effectively communicating between various units—a core issue that remains relevant for today’s software teams. Simioni concludes with the notion that the Apollo program teaches modern software developers essential lessons about the past, particularly about communication, problem-solving, and embracing user behaviors. These lessons transcend time and remain relevant in today's context of software development and engineering practices.
Suggest modifications
Cancel