Ask HN: Is Go used at Google? What do they use it for?
I recently spoke with a Googler friend (not an engineer) who told me that Go adoption within Google itself is quite limited.
Is that actually the case? Beside the very team that maintains the language, what other teams/products do use Go as their main programming language?
6 comments
[ 4.0 ms ] story [ 22.0 ms ] threadGoogle has the disadvantage of history: a lot of the primary products were written before Go came out, and a lot of the newer products are spin-outs from existing codebases. It's very difficult to switch the language of a large existing codebase, and particularly difficult to switch the language to Go (because its runtime is incompatible with C++ and the JVM). You pretty much need a clean-sheet project, which occurs when there's a new microservice that talks via RPC, but almost never occurs in a primary consumer-facing product.
Most good devs - and basically all devs who make it to L5+ (Senior SWE) - will end up working in multiple languages, though. There are a bunch of proprietary ones as well, some of which are open-source (like Protobufs and Bazel) and a few I'm not at liberty to discuss. L6+ your soft skills (communication, EQ, management, prioritization) become more important than your technical skills.
I’m curious about the split between where C++ is often found and where Java is used.
Is it more like less latency critical (or compute cost) services are in Java, and things like Search core are C++? Are there legacy reasons for one over the other?
If you were going to spend time gaining experience in Java or C++, with a long term plan of working on something really interesting and high impact there, which would it be?