4 ms·
Am Googler. I do a lot of work on google3 code health and maintenance. I do not think that this is the primary cause of product turndowns. Messy product design
by UncleMeat 3y ago
Am Googler. I do a lot of work on google3 code health and maintenance.
I do not think that this is the primary cause of product turndowns. Messy product design, left-hand/right-hand problems, internal politics, unfunded regulatory mandates, and other organizational complexity seem like much more direct causes. People like to add promotion-focus to this list but I don't actually buy that since there are tons of Googlers who are happy at their current level and want to maintain stuff even we if take it as a given that maintenance can't get people promoted. VPs showing up and changing org priorities so that various products no longer match the priorities and then get their funding cut is way more common.
I do think that there is something to the fact that the monorepo and single-version rule means that sometimes a team says "we are changing how you do X with our system, everybody needs to update by Date Y" and then the bulk of teams upgrade but there's some project with a skeleton crew doing maintenance and it is not possible to fund the upgrade and so the entire project gets deleted instead.
However, I also think that the monorepo is a superpower. What I describe above is a problem but there are so many incredible benefits (under the assumption that you've got tooling as good as Google's) that I feel that the benefits dramatically outweigh the costs. Comparing the code quality of the stuff in google3 vs the stuff in various isolated git repos is night and day.
- game_the0ry 3y ago> I do think that there is something to the fact that the monorepo and single-version rule means that sometimes a team says "we are changing how you do X with our system, everybody needs to update by Date Y" and then the bulk of teams upgrade but there's some project with a skeleton crew doing maintenance and it is not possible to fund the upgrade and so the entire project gets deleted instead Yeah that sounds familiar and sort of makes sense.