Ask HN: Are you limited in what language you can write in at FAANG?
Hello I was having a discussion with a friend and found that one of my assumptions about how FAANG companies tend to operate may actually not be true.
Hoping someone from Facebook or another could comment.
Each tech company has it's preferred languages - but I'm wondering how strict those guidelines are and how far they extend. If you wanted for example to write a microservice or script in Ruby at Facebook would you be allowed to? Or are the guidelines more strict for what languages you're allowed to use?
Thanks in advance for taking the time to read / respond.
9 comments
[ 5.0 ms ] story [ 29.9 ms ] threadIIUC most Apple teams write code for one of their hardware platforms, so they use the native languages supported by it - Objective C and Swift, with a fair amount of system-level C and C++ code too.
Amazon I've heard is more open; teams can use whatever they want, because everything is exposed through a big SOA anyway.
No idea about Facebook. They hired a bunch of ex-Googlers, so I'm guessing they largely copied the Google model but with different starting languages (eg. they started with PHP then evolved it through HipHop and Hack). Thrift supports a lot more languages than gRPC though, so that may indicate they allow more languages internally.
Not FAANG per se, but at Uber, you wouldn't be allowed to use Ruby for a new microservice. The only exception to language blacklists is if you're fixing issues in a fork of a 3rd party tool that is already written in an non-official language (e.g. homebrew or phabricator). Official languages get support from platform/infra teams (in terms of libraries, greenkeeping, etc) and are setup for things like security guideline compliance.
Our official stacks are Java (backend), Go (backend), Swift (ios), Java (android) and JS/Node (web).
Of course, there will always be unofficial languages, such as the odd library written in C++ or the odd project written w/ react native or legacy code written in python, but those are minorities, in terms of number of projects.
(If indeed, as it sounds, there's an across-the-board ban against it).
It's not about oppressive top-down control or anything like that. It's a matter of choice. And the better shops tend to make these kinds of choices... very carefully.
If you agree with their choices - then maybe they're great places for you. If you don't - to the extent that you wouldn't want to work there - that's also fine (and they'd probably respect that).
But those "anything goes" shops where you can write a microservice in whatever language you fancy? Those are the places you definitely want to stay away from.