Settings

Theme

Ask HN: Is Go used at Google? What do they use it for?

9 points by taklimakan 5 years ago · 6 comments · 1 min read

Reader

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?

nostrademons 5 years ago

It's used pretty extensively. Standard language for log analysis (across all products), plus a bunch of newer microservices are written in it. It tends to be more internal tools & services, because...

Google 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.

  • silentsea90 5 years ago

    Do you think I'd be limiting my career at Google if I despise C++? I am in a java oriented team but anytime I have to touch C++ I feel sad.

  • wikibob 5 years ago

    Would you say overall it’s easier to have impact there as a Java, C++, or Go focused Dev?

    • nostrademons 5 years ago

      Among the core languages - C++ > Java > Go > Python. Also possible to have a lot of impact with JS (client) > Java/Kotlin (Android) > ObjC/Swift (iOS).

      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.

      • wikibob 5 years ago

        Thanks for the thoughts!

        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?

mtmail 5 years ago

https://go.dev/solutions/google/ lists three Google projects

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection