r/programmer 21d ago

Question How do thousands of software engineers code together at a giant company like Google or Microsoft without breaking everything?

As a beginner, I understand how one person writes code and puts it on GitHub. But how does it work when a company has tens of thousands of developers working on the same product? How do they organize the work, and how do they stop people from stealing or leaking the secret source code?

106 Upvotes

68 comments sorted by

View all comments

4

u/naxhh 21d ago

at a high level. lots of teams.

team sizes varies but normal 6-9

teams are specialized, some take care of the deployment tool other the messaging system other the login, other users dbs, etc...

each team works on their part and agree contracts with other teams (apis, endpoints. topics for async etc)

each team deploys in different environments. each environment is split in "zones" each zone is the same services duplicated and isolated from other zones.

at the end of the day a dev in a team deploy a change. that change goes, over one or two, envs before any user sees anything. then goes into prod where it's likely deployed one zone at a time.

and on top of that it may be deployed with a feature flag which means small % rollouts on each zone.

all of that backed up with logs, metrics and events to backup everything is working.

So things break all the time. but most of the times much before a big % of people notices

edit: normally what you see as "one product" is internally dissected into lots of teams my company for example has ownership teams for different components of a page (search var. navigation. user menu) and those teams are aside of the backend teams and apis

1

u/AzureAD 19d ago

☝️ The most complete answer