This relevant XKCD is right on point: https://xkcd.com/2030/
The problem may have come from the top down, but now it's endemic to the entire industry, and in any large company no one, at any level, can make anything stable and reliable without completely failing at whatever metrics the company is using.
I think a large part of that is management-centric software design philosophies that push constant output and metrics over good software.
For example, Agile's four values could be read in a way that supports good software development, but in practice they are effectively asking for: prioritizing appearance and metrics, releases that are undocumented proofs of concept, sales-department directed capabilities, and feature creep.
It's so counter to the development of working software that the only explanation is that one of the signatories of the Agile Manifesto had stated: "The best way to get the right answer on the Internet is not to ask a question; it's to post the wrong answer."