
NASA’s $125M Unit Error: Why Your API Needs Explicit Naming
TL;DR: In 1999, a unit mismatch between Metric and Imperial measurements destroyed NASA’s Mars Climate Orbiter. To prevent silent, logic-breaking failures in your software, you must move beyond generic number types. By using explicit field naming and branded types, you ensure that context is baked directly into your data schema. In 1999, NASA turned a $125 million spacecraft into expensive space dust. The Mars Climate Orbiter was supposed to gently settle into orbit, but instead, it hit the Martian atmosphere at the wrong angle and was obliterated. It’s gone. It’s not coming back. This wasn't a failure of complex physics. It was a failure of communication between two teams of literal rocket scientists. One team designed the thruster software using Metric units (Newtons). The other team, providing the input data for those thrusters, used Imperial units (Pounds-Force). Because the interface between these two systems didn't specify the units, the software received the wrong numbers, and t
Continue reading on Dev.to
Opens in a new tab



