Elon Musk's Engineering Philosophy
Elon Musk's Engineering Philosophy

Whilst giving Tim Dodd a tour of a SpaceX facility, Musk described an interesting five-step engineering process:

  1. Make the requirements less dumb.

    • The requirements are definitely dumb; it does not matter who gave them to you.
    • Requirements are particularly dangerous if an intelligent person created them, because you may not question them enough.
    • "Everyone’s wrong. No matter who you are, everyone is wrong some of the time."
    • "All designs are wrong, it’s just a matter of how wrong."
  2. Try very hard to delete the process or the component.

    • If parts are not being added back into the design at least 10% of the time, not enough parts are being deleted.
    • Musk noted that the bias tends to be very strongly toward “let’s add this part or process step in case we need it.”
    • Each requirement must come from a name, not a department.
    • A department cannot be asked why a requirement exists, but a person can.
  3. Simplify and optimize the design. Remove stuff.

    • The most common error for a smart engineer is to optimize something that should not exist.
  4. Accelerate cycle time.

    • "You’re moving too slowly, go faster! But don’t go faster until you've worked on the other three things first.”
  5. Automate.

    • An important part of this is to remove in-process testing after the problems have been diagnosed;
    • If a product is reaching the end of a production line with a high acceptance rate, there is no need for in-process testing.