>But I've seen plenty of small and temporary things turn into large and permanent things when they end up being useful.
My experience is that probably more than 9/10 temp projects end up forever projects. My goal is never to work anywhere again that insists on just get it done quick and dirty "its temporary" ever again.
I don't remember where I stole it from but at work any time we're discussing something temporary I like to drop in a "remember there's nothing more permanent than a temporary fix" and it usually gives us at least a few more minutes of considering things carefully before pulling the trigger. Makes me feel better anyway.
I have a wood block wedged between my car's battery and battery mount because the new battery was smaller and I couldn't get the mount to adjust down. I cringe whenever I get the oil done but I don't fix it because it is good enough. I do feel dirty about it and every other weekend I think, "I should install a proper sized mount." But the battery doesn't wiggle. It works. It is a temp fix that has been there half a year. Code is even less visible to most, so even more out of sight and out of mind.
In modern development best practice, you'd refactor that bug fix, by moving the block of wood to underneath the battery where you can't see it any more. (And writing "node_modules/" on it with crayon...)
This perfectly captures the node_modules / JavaScript experience, because being underneath the battery would also stop it from working as intended and the battery would be loose again.
My experience is that probably more than 9/10 temp projects end up forever projects. My goal is never to work anywhere again that insists on just get it done quick and dirty "its temporary" ever again.