One man developper can build a start to finish, efficient program.
Large companies, ie Google, Facebook have hundreds of programmers, working one a tiny part of a huge program.
They cannot know ALL the other parts of the program!
One man will make a piece of code, another is writing the same piece of code, maybe just with another name, but they may do similar things but in a different way!
I have been working for years in a team, but we had a "manager" who established the rules we had to follow.
We are talking of a team of FOUR! And it was quite difficult to link the program parts into one...
Now, imagine 1000 coders working on one gigant program: WE CANNOT COMMUNICATE!
That is why ALL programs written by "groups" are crap!
If Windows was developped by ONE programmer, it would be fantastic.
Too many people working on the same thing.
Ideally, we should have ONE progrtammer working on ONE part of the program (ie, one on display, one on keyboard inpute, one on the network etc)
Once the "display guy" TOUCHES the network program, he can ONLY bugg it!