Andromeda
Note

SpaceX Software Philosophy

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).

Connected Concepts