3 ms·
> If you wanted for example to write a microservice or script in Ruby Not FAANG per se, but at Uber, you wouldn't be allowed to use Ruby for a new microservice
by lhorie 8y ago
> If you wanted for example to write a microservice or script in Ruby
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.
- drugme 8y agoWithout getting into a language debate per se - what does Uber have against Python? (If indeed, as it sounds, there's an across-the-board ban against it).
- lhorie 8y agoThe decision was from before my time, so I'm not sure what the specifics are. As I understand, the main motivations to move away from Python were that Java/Go provided better performance (e.g. memory usage) and reliability (read: static typing)
- drugme 8y agoFair enough - I just like to understand where people are coming from on this issue.
- lhorie 8y agoOn a side note, my brother works at Duolingo and wrote an article detailing a very similar migration (from Python to Scala) here: http://making.duolingo.com/rewriting-duolingos-engine-in-scala http://making.duolingo.com/rewriting-duolingos-engine-in-sca... and lists very similar reasons for the switch.