Programmers seem to have forgotten the real purpose of software, that is to solve a real-world problem.
50 years ago, in 1968, the Working Conference on Software Engineering was held, sponsored by the NATO Science Committee. At that time, people started to notice software was becoming a fundamental part of society. However, it was also becoming too hard to understand. After that conference, programming started to become a whole industry. It started to move away from the control of business people.
Regardless of the path programming has taken since then, there’s still a problem with the separation between business and software development — or “engineering” as the conference called for the first time. If developers become too narrowly focused on development, they can miss the purpose behind the software they write. They may not see hidden solutions that don’t require any code.
With understanding of what a customer needs you may realize that some code is just not necessary to write.
However, just like Technical Debt, nothing should be used as an excuse to write crap code in the rest.
Not every code is worth writing