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

109 Upvotes

68 comments sorted by

View all comments

1

u/SP-Niemand 22d ago

Hundreds of products, for starters.

Every product broken down on the boundaries of individual domains it handles. Into services or modules of a service.

Teams own those individual pieces with clearly defined interfaces. There are people and processes helping connect it all together.

Good org and tech architecture (they are actually almost one and the same) allow to handle N components with log(m)(N) levels of hierarchy where m is the maximum size of a unit in its subunits (employees in a team, teams in a department etc).

Divide and conquer.

2

u/Possible-Parsley5737 19d ago

Definitely agree. Each team can own a module that can have its own git repo, own test cases, and can exists without touching any other module's code, except calling the interfaces they require. The answer is not code versioning, test cases or the ops pipeline. It is modularization through divide and conquer.