Correctness. Maintainability. Performance

First, make it work

A feature is useless if it doesn’t work the way it’s intended. Even if it was the most readable, optimized piece of code ever written, if it doesn’t work (or does something completely different from what was expected) then it might as well be that the feature was nonexistent.

Then, make it right

The person who wrote the code today is never the same person who will read it in the future (even though may be the same biological organism). Our limited brain capacities make it difficult to keep context; therefore we need to make sure that old code makes us remember the reasons why it was written in the first place.

After that, make it fast

A job performed twice as fast means twice as more output in the same amount of time. This output translates to costs: either less costs to operate the software (e.g. less hardware required for hosting) or less costs incurred by users (e.g. because there’s less time spend waiting for a job to finish).

Correctness. Maintainability. Performance.

In that order.