Id Software Programming Principles
> Write your code for this game only - not for a future game. You’re going to be writing new code later because you’ll be smarter.This really stood out for me. I'm always tempted, while writing something specific, to generalize it. I try to resist that, when I recognize it. Writing a ThingThatImWritingFramework risks ThingThatImWriting never seeing the light of day, or never being used.