I would also argue that in the front end world frameworks have vastly improved code quality and developer experience. 10 years ago every team had their own homegrown build system, there were no libraries for type checking, you had write code or conditionals for the lowest version browser you support. Oh and app structure? Every team did something different.
Compare that to now: We have a handful of large open source build systems, so if you jump teams/projects there is consistency. We have things like TypeScript and Flow. We have Babel, which can transpile modern JavaScript in to older versions of the language, so you can support older browsers without even thinking about it. Finally, we have frameworks like React and Vue, which enforce a component based architecture. This is great because you can jump between different projects and for the most part will find code organized in the same way. All of this is amazing.