What happened was that web companies gravitated towards using more and more off-the-shelf "solutions", instead of hiring engineers that built what they need more or less from the ground up.
Most companies would call this "reinventing the wheel", but in reality it was just lazy engineering that transformed the role into something that is more like a manager/product owner that can also code.
Creating a framework for the specific domain/solution is really the best option. It's avoided only because the web app industry is dominated by business and marketing think, which has pushed engineers to glue existing software together, which has created demand for general tools and frameworks. On the one hand, we can create websites incredibly quickly but on the other hand it is built on top of a giant tower of libraries and questionable abstractions that most of the time are overfitting the problem.
Food for thought: The only assumption I don’t fully agree with is that AI assistants are already good enough to generate everything correctly for you.
As long as human review is still necessary, these abstractions will continue to help in understanding the code—even if they do add a layer of complexity.
> Yes, and that mattered when you had to hand-type everything. But when AI can generate either version in milliseconds, the value proposition shifts dramatically.
This seems to assume nobody ever has to debug or maintain the code afterwards.
Most companies would call this "reinventing the wheel", but in reality it was just lazy engineering that transformed the role into something that is more like a manager/product owner that can also code.
Creating a framework for the specific domain/solution is really the best option. It's avoided only because the web app industry is dominated by business and marketing think, which has pushed engineers to glue existing software together, which has created demand for general tools and frameworks. On the one hand, we can create websites incredibly quickly but on the other hand it is built on top of a giant tower of libraries and questionable abstractions that most of the time are overfitting the problem.