Rule 1. You can't tell where a program is going to spend its time. Bottlenecks occur in surprising places, so don't try to second guess and put in a speed hack until you've proven that's where the bottleneck is
A smart terminal is not a smartass terminal, but rather a terminal you can educate.
Object-oriented design is the roman numerals of computing.
Fancy algorithms are slow when N is small, and N is usually small.
There's nothing in computing that can't be broken by another level of indirection.
Productivity is most important by engineering management rules, but enjoyment is most important for engineers. One stems from the other.