Definition
A minimalist, high-reliability approach to flight software development where code is treated as a “liability” and simplified to the absolute minimum necessary to achieve mission goals.
Why It Matters
In high-stakes environments like rocketry, software is often the most hidden and catastrophic failure point; treating code as a liability rather than an asset forces an engineering discipline that prevents “feature creep” from compromising mission-critical reliability.
Core Concepts
- Code as Liability: Every line of code is a potential point of failure. The goal is the “simplest, dumbest piece of software possible.”
- Video Game DNA: Influenced by engineers from the console gaming era (e.g., Robert Rose), emphasizing rigorous memory management and “single-shot” reliability (no over-the-air patches in the early days).
- Autonomous Flight: After T-1 minute, the rocket is a “flying computer,” accounting for perturbations in pressure, wind, and speed in real-time.
- Strict Verification: A single line of code may be analyzed and simulated for weeks to ensure it handles all conceivable flight modes.
- Hardware-Software Link: Close collaboration between software and hardware teams (e.g., software timing fixes for engine shutdown symmetries).