sevensor parent
I like to take the “programming as theory building” approach. Every program is an experiment. When it stops working, you have more information about the world. At that point, you can revise the program, or you can let it go. Either way, you’ve refined your theory of the domain, and that’s much less likely to tumble back down the hill than some source code that at best represents an imperfect application of the theory.
Related, it’s more fun to engage in your own theory building by programming, right?
One thing that has changed in the industry, I think due to a combination of labor force expansion, DevOps, and greater reuse, is software engineers have increasingly become users of software. It’s… less fun. Where have all the sysadmins gone? Oh wait, we’re the sysadmins now. :-/