I think it's easy to go in circles with the concept of "future proofing" and definitely see it as over-engineering a lot of the time.
Counter-intuitively I think it can also legitimately harm the future when it really is just over-engineering.
I see future-proofing as making sure to not close the wrong doors at the interface level, and to keep technical debt under control. Nitty gritty code cleaning has some value, but I wouldn't call it future proofing in and of itself.
I think this sums it up better than I could have, thanks Ben.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.