3. Eagleson’s Law
“Any code of your own that you haven’t looked at for six or more months might as well have been written by someone else.”
This seemingly demotivational saying is actually something to embrace. The fact is, nobody is perfect. You might think you’re a genius programmer right now, but there’s always something more you can learn, always more room to grow. If you ever look back on old code and cringe, it probably means you’ve learned something new since then.
Put another way: if you look back on an old project and you can’t see anything you can improve or would do differently next time around, you’ve likely stagnated as a programmer.
4. Principle of Least Astonishment
“If a necessary feature has a high astonishment factor, it may be necessary to redesign the feature.”
First published in the IBM Systems Journal back in 1984, this principle is still surprisingly relevant today — perhaps more so than ever before.
It essentially touches on the delicate balance between innovation and familiarity: if a piece of software is too different from others of its kind and doesn’t conform to user expectations, then they likely won’t adopt it. It’s better to strive for incremental improvements that are just big enough to be impressive but small enough to stay familiar.