As a programmer, it's interesting to view organizational structure and culture through the lens of software design. Specifically, how Google's culture and organization is so radically different from Amazon's.
Amazon genuinely tries to embody the Unix philosophy. Two pizza teams that have ownership over their slice of the company, and get to decide how their team/org should operate. As a individual contributor at Amazon, there is zero expectation that you'll have unrestricted visibility into what other organizations are doing.
Google in contrast, breaks every rule in software design. There is no information hiding - everyone can see everything else. Decisions aren't made locally by the team in question - they are made centrally by people you will never see. Or by a mob of random employees who have made it their hobby to lobby against your plans. As a team manager, you cannot even decide which members of your team can check in changes into the (mono) repository - you have to get approval from someone who has been certified by the "readability team", and they have almost year-long waits to get certified.
Amazon is microservices and Google is the majestic monolith.
The Google approach works great at smaller sizes, but as the organization grows in size and complexity, I don't think the monolith approach can still work. I'd wager that is exactly the growing pains they are now going through.
Amazon genuinely tries to embody the Unix philosophy. Two pizza teams that have ownership over their slice of the company, and get to decide how their team/org should operate. As a individual contributor at Amazon, there is zero expectation that you'll have unrestricted visibility into what other organizations are doing.
Google in contrast, breaks every rule in software design. There is no information hiding - everyone can see everything else. Decisions aren't made locally by the team in question - they are made centrally by people you will never see. Or by a mob of random employees who have made it their hobby to lobby against your plans. As a team manager, you cannot even decide which members of your team can check in changes into the (mono) repository - you have to get approval from someone who has been certified by the "readability team", and they have almost year-long waits to get certified.
Amazon is microservices and Google is the majestic monolith.
The Google approach works great at smaller sizes, but as the organization grows in size and complexity, I don't think the monolith approach can still work. I'd wager that is exactly the growing pains they are now going through.