Put simply, systems now are designed for teams of people and automated testing. This adds complexity and verbosity not necessarily needed for small shop projects.
The reliance on Design Patterns (Gang of Four) went from nice to use, to mostly required.
So many developers now go right in to coding without learning other skills. The result is software to automate or help a system that the coders don't really know how to do manually and it shows. These coders know one language, one framework and maybe very good at that but they don't actually know how a computer works or why what they are doing work.
The reliance on Design Patterns (Gang of Four) went from nice to use, to mostly required.
So many developers now go right in to coding without learning other skills. The result is software to automate or help a system that the coders don't really know how to do manually and it shows. These coders know one language, one framework and maybe very good at that but they don't actually know how a computer works or why what they are doing work.