I saw electrical engineers get replaced by CAD and outsourcing. The outsourcing was mostly skilled labor, because EE is a mature field; it is easy to judge skill level in mature fields due to more repeatability and established metrics. The CAD replaced the problematic and tedious area of board layout and the tedious area of schematic drawing. It also helped verification.
Software, OTOH, is mostly just outsourcing without a reduction in tedium or increase in automated verification. 1/n
However, you can't prove or disprove a hypothesis with no metrics, so anecdote becomes the metric; this causes people to complain about "big design up front" and "abstraction", both of which are productivity and quality enhancers when done right, but popular hypothesis of how to do both have led to an aversion of both.
The software world needs to start maturing before we have a real software crisis. #immatureSoftware
This has resulted in a reduction in reliability, because software isn't a mature field. While an EE level of CAD (automation) exists, it is little used. While metrics exist, they are little used. Repeatability is not considered a desirable trait. Untrained practitioners learn by development of small systems, and best practices in such development do not lead to best practices in the development of large systems. Some of this is the fault of bad hypothesis treated as theory. 2/n