The whole problem is rapid size increase. The whole "grow big fast" mentality led to many tech companies hiring like mad to grab all territory they could, diluting their mission, they basically entered every vertical they could and any time a startup drew attention to an area, they'd rush to hire and occupy it.
Google in particular, took in a huge influx of people from Microsoft and Oracle, and that also ended up changing the culture, but that might be unfair to them (correlation), because they were already big companies, and Google was becoming a big company.
When you add a huge number of people, they're going to spawn thousands of projects, and most of them aren't going to ship, so the probability you're on a team that ships something tends to go down with company size increase.
The monorepo IMHO is not a problem, it's a huge boon. The google infrastructure is fantastic and still has features that you won't get on GitHub. In particular, Code Review and Code Search is much better. The build/test/CI infra is IMHO better than external alternatives (e.g. jenkins/circle/etc) Moreover, when you want to make changes that cross over N different projects, you don't have to checkout N different siloed repos, or worry about different versioning, as Google's repo (mostly) guarantees a single version of everything.
There are external libraries however that are better than the Google equivalents, especially in the world of Web frontends. It would be good for Google if they allowed each team to decide what external libraries they wanted to use for smaller scale projects (e.g. use React/Vue/Next/etc instead of say, Closure Compiler compatible internal frameworks)
The tech stack stuff tho isn't the real issue with Google, as the original essay pointed out, there's no real connection to customers and no urgency to ship anything. There's also a preference for rewriting into new stuff vs maintaining old stuff.
Google in particular, took in a huge influx of people from Microsoft and Oracle, and that also ended up changing the culture, but that might be unfair to them (correlation), because they were already big companies, and Google was becoming a big company.
When you add a huge number of people, they're going to spawn thousands of projects, and most of them aren't going to ship, so the probability you're on a team that ships something tends to go down with company size increase.
The monorepo IMHO is not a problem, it's a huge boon. The google infrastructure is fantastic and still has features that you won't get on GitHub. In particular, Code Review and Code Search is much better. The build/test/CI infra is IMHO better than external alternatives (e.g. jenkins/circle/etc) Moreover, when you want to make changes that cross over N different projects, you don't have to checkout N different siloed repos, or worry about different versioning, as Google's repo (mostly) guarantees a single version of everything.
There are external libraries however that are better than the Google equivalents, especially in the world of Web frontends. It would be good for Google if they allowed each team to decide what external libraries they wanted to use for smaller scale projects (e.g. use React/Vue/Next/etc instead of say, Closure Compiler compatible internal frameworks)
The tech stack stuff tho isn't the real issue with Google, as the original essay pointed out, there's no real connection to customers and no urgency to ship anything. There's also a preference for rewriting into new stuff vs maintaining old stuff.