Interesting insights from a Google engineer.
There is, by and large, only one code base at Google. This has many advantages. Most obvious is that it is really easy to look at and contribute to code in other projects without having to talk to anyone, get special permissions or fill out forms in triplicate. That is just the tip of the iceberg, though. Having one codebase means that there is a very high degree of code sharing. Need to base 64 encode/decode something? No problem, there is a standard Google routine for that. Found a bug? Just fix it and check it in after getting it code reviewed by a documented owner. One of the reasons that environments like Perl, Python, C#, Java, etc. flourish is that they have large and well through out libraries of useful code. For a variety of reasons, C++ has never had this. …
… The intranet in Google is super transparent. Teams are actively encouraged to share the most intimate details of their projects with the rest of the company. This happens through tech talks, design docs, lunch table conversations, etc. When two teams are doing similar things, people start with the assumption that they must have their reasons and that the situation will be worked out in time. There isn’t a huge push to over optimize and have only one solution for each problem.
…When someone comes up with a new idea, the most common response is excitement and a brainstorming session. Politics and who owns what area rarely enter into it.
There is a lot of detail here, and given how little Googlers tend to blog about work, it’s rather refreshing.