type
area
size
Always plan for a way to switch your work off
Instead of keeping what you learn to yourself, share it as you go, for accountability, feedback, and networking.
Software entities should be open for extension, but closed for modification.
Framing a problem in its lowest sensible abstraction helps you understand and develop accurate solutions to a problem.
Documentation, in all forms, should be as close as it can be to the code.
Data should be held in one location, duplicates of that data should be by reference only.
Make the hidden principles, ideas and behaviors which make up a technology organization understood and explicit