Not All SpaceX Software Goes To Space

SpaceX has always been willing to break from aerospace tradition if they feel there’s a more pragmatic solution. Today this is most visible in their use of standard construction equipment like cranes in their Starship development facility. But the same focus on problem solving can also be found in their software parts we don’t see. Recently we got two different views behind the scenes. First, a four-part series about “software in space” published by StackOverflow blog, followed quickly by an Ask Me Anything (AMA) session on SpaceX Reddit.

Some of the StackOverflow series cover ground that has been previously discussed. Mostly in the first part dealing with their workhorse Falcon and Dragon vehicles, and some in the second part discussing Starlink whose beta program is reaching more and more people. Both confirmed that spaceflight software has to meet very stringent requirements and are mostly close to the metal bespoke C++ code. But we receive fascinating new information in part three, which focuses on code verification and testing. Here they leverage a lot of open source infrastructure more common to software startups than aerospace companies. The fourth and final component of this series covers software to support SpaceX hardware manufacturing, which had been rarely discussed before this point. (Unfortunately, there was nothing about how often SpaceX software developers copy and paste code from StackOverflow.)

The recent Reddit AMA likewise had some overlap with the SpaceX software AMA a year ago, but there were new information about SpaceX work within the past year. There was Crew Dragon’s transition from a test to an operational vehicle, and the aforementioned Starship development program. Our comments section had a lot of discussion about the practicality of touchscreen interfaces in real spacecraft, and here we learn SpaceX put a lot of study into building something functional and effective.

It also showed us that essentially every Sci-Fi Movie Interface was unrealistic and would be unreadable under extreme conditions.

In the course of this research, they learned a lot of pitfalls about fictional touch interfaces. Though to be fair, movie and television spacecraft UI are more concerned about looking cool than being useful.

If the standard AMA format is not to your liking, one of the contributors compiled all SpaceX answers alongside their related questions in a much more readable form here. And even though there’s an obvious recruiting side to these events, we’re happy to learn more about how SpaceX have continued to focus on getting the job done instead of rigidly conforming to aerospace tradition. An attitude that goes all the way back to the beginning of this company.

13 thoughts on “Not All SpaceX Software Goes To Space

  1. I wish that there was more like this, a focus on the people doing amazing things at SpaceX rather than Musk. Nothing against him, but it would be great if he stepped back and let the spotlight shine on the amazing engineers and workers making the vision a reality sometimes.

    1. Sponsored by the spotlight industry. :-p

      “In the course of this research, they learned a lot of pitfalls about fictional touch interfaces. Though to be fair, movie and television spacecraft UI are more concerned about looking cool than being useful.”

      One would have though glass cockpits would have been ironed out decades ago.

        1. I think you are thinking about the Nikola Semi demo where the screen froze, and turned out to be fake anyway?
          Tesla is pretty good at developing screen interfaces.

        1. It’s difficult enough to hit a button on a touchscreen when your shaking arm weighs 1 times its normal weight, without a glove, in a car going 65 mph over cracks and dips in the road.

  2. I’m surprised they’re using C++. It’s a grotesquely overly complex language that even its inventor says he only understands a small fraction of today. There are pieces of legit C++ syntax that compile down to 2 different behaviors with the gcc and clang compilers and both claim to have the correct interpretation.

    Simply put: C++ is a Rube Goldberg contraption!

    1. You can write contrived, broken code in any language. C++ certainly has fewer safety rails than most, but it’s pretty common in the embedded world to use a subset of C++ that adds value and avoid using the bits that balloon complexity. The folk working on flight software at SpaceX have been very carefully vetted for their software engineering skills, and there’s tons of process checks before any code makes it into space, including code reviews, ticket reviews, unit tests, hardware-in-the-loop tests, etc.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.