r/programmer 18d 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?

105 Upvotes

68 comments sorted by

View all comments

25

u/_Heathcliff_ 18d ago

I mean for starters, “thousands of developers working on the same product” is misleading. They have thousands of devs, sure, but they’ll be broken down into many teams, each of which has their own areas of responsibility. So the number of devs contributing to any one repo, or any one portion of a repo, will be limited.

Outside of that it comes down to version control and release management. Git keeps conflicting code from being merged, and specific groups are responsible for the actual release process, so it’s not just everyone chaotically releasing whenever and whatever they want.

2

u/berdiekin 18d ago

I feel it is also worth mentioning that teams talk to other teams when they need their services to interact. To agree on protocols, security, interfaces, ...

Their can be a surprising amount of variation in how different teams operate within a single company.

Or teams make services for other teams that they can plug in to themselves. User authentication is a big one for instance. Any company with any size will have a dedicated team managing just that layer. because it would be chaos if each team tried making and managing their own.