My guiding principles after 20 years of programming
I always enjoy these kinds of takes—“things I’ve learned over two decades of doing this”.
Pick the right tool for the job or you’ll have to find the right job for the tool you got.
Respect people more than code.
Don’t attach your identity to your code. Don’t attach anyone’s identity to their code. Realize that people are separate from the artifacts they produce.
Don’t do speculative programming. Only make the code extensible if it is a validated assumption that it’ll be extended. Chances are by the time it gets extended, the problem definition looks different from when you wrote the code.