Looking at all the things that can be improved in various Google or Facebook products, there is not too few work for developers. The problem is that the classical management structure is not suited for developer companies.
Google and Facebook have cheated when at the beginning, the management and development were two, respectively one person. Management understood what development was doing. Nowadays, when those roles are split into many people, it takes much more management to understand what some code is doing.
Code is a very dense notation. If the same knowledge has to be communicated in normal language, it requires far more people.
So if Google and Facebook don't want to leave decisions to developers, they have to increasing their management overhead. They could introduce various committees to manage all aspects of a product. That would require a massive cultural shift because management wouldn't be a hierarchy anymore.
Google and Facebook have cheated when at the beginning, the management and development were two, respectively one person. Management understood what development was doing. Nowadays, when those roles are split into many people, it takes much more management to understand what some code is doing.
Code is a very dense notation. If the same knowledge has to be communicated in normal language, it requires far more people.
So if Google and Facebook don't want to leave decisions to developers, they have to increasing their management overhead. They could introduce various committees to manage all aspects of a product. That would require a massive cultural shift because management wouldn't be a hierarchy anymore.