So much this. I want a civil engineer try and build a bridge over 6 tectonic plates with pretty much all physical constants constantly changing. That would be the equivalent of working with an ever moving tech stack.
Even the language and best practise change constantly. Looking at possibly the most stable language C, we have entirely different best practise pattern from community to community.
This is hyperbolic. Plenty of completely reasonable tech stacks are over ten years old. You could have started writing a web application in TypeScript, my current language of choice, over five years ago. I can go write a web application in React and Spring Boot (which I also like) that's almost completely recognizable, and could have been carried forward from the state of the art of, 2014. Much older, in terms of the backend; Spring Boot is relatively new but it still uses the Spring that somebody might know from 2010 and builds very incrementally from there. Even that noophile bug zapper, Golang, is most of a decade old now.
New stuff shows up, but that doesn't mean you are compelled to leap upon it.
Even the language and best practise change constantly. Looking at possibly the most stable language C, we have entirely different best practise pattern from community to community.