See the talk by Joe Armstrong. 1. Code even you cannot understand a week after you wrote it (no comments!) 2. Code with no specifications 3. Code that is shipped as soon as it runs and before it is beautiful 4. Code with added features 5. Code that is very very fast very very obscure and incorrect 6. Code that is not beautiful 7. Code that you wrote without understanding the problem
"Systems should self-repair, self-configure, and evolve with time"
Be able to program for more than 5 minutes without an internet connection
Write clear code rather than fast code (fast code usually means removing abstraction layers that make things clearer)
Difficult to name things in precise, namespace-agnostic, unchanging, unique way