What IDE Does Meta Use?
Visual Studio Code is the default development environment at Meta. Meta engineering has said publicly that it moved internal development onto VS Code and built its own extensions on top. Engineers can still use other editors, and many do.
An IDE, or integrated development environment, is the program you write, run, and debug code in.
Before VS Code, Meta built its own editor called Nuclide on top of Atom. Nuclide was retired when Atom stopped being developed. The work moved into VS Code extensions instead.
The Editor Stack at Meta
| Tool | Used for | Notes |
|---|---|---|
| Visual Studio Code | Most server and web work | The default, with internal extensions |
| Android Studio | Android apps | Required by the Android toolchain |
| Xcode | iOS and macOS apps | Required by the Apple toolchain |
| Vim and Emacs | Infrastructure and shell work | Allowed, and used by a minority |
| JetBrains IDEs | Some Java and Python teams | Less common than VS Code |
Why VS Code Won Internally
Three reasons come up in Meta's own engineering writing.
- It can be extended. Meta writes language support for Hack, its PHP based language, as a normal extension.
- It runs remotely. Most engineers edit code on a shared development server, not on their laptop. VS Code connects to that server and feels local.
- One tool, many languages. Meta uses Hack, Python, C++, Rust, Java, Kotlin, Swift, and JavaScript. One editor with per-language extensions is cheaper to support than six IDEs.
Mobile work is the exception. Android and iOS builds depend on tools that only Android Studio and Xcode provide.
The Internal Tools Around the Editor
The editor is the smallest part of the setup. The tools around it are what make a very large codebase usable.
- Source control. Meta uses Sapling, a version control system it built and released as open source. It is designed for a single very large repository.
- Build system. Buck2 builds the code. It caches results across the company so most builds are partly downloaded rather than compiled.
- Code review. Reviews happen in an internal tool, not in a public pull request page.
- Remote development. Code lives and builds on a devserver. The laptop is mostly a screen and a keyboard.
Can You Use Your Own Editor?
Yes. Meta does not force one editor on engineers. VS Code is the supported default, so the internal extensions, debuggers, and search tools work there first.
Engineers who use Vim or Emacs keep them, usually with the same language servers underneath. The tradeoff is that some internal features arrive later or not at all.
What This Means for Your Interview
Almost nothing. Meta interviews are not run in the company's own tooling.
Coding rounds use a plain shared editor in the browser. There is no autocomplete and no compiler. You cannot run the code in most rounds.
Practice at least a few problems that way. Losing autocomplete slows most people down, and the first time should not be in the interview.
The one useful signal is the language list. Meta uses Hack, Python, C++, Rust, and Java heavily. You may answer in any common language, so pick the one you write fastest.
How to Prepare
- Practice without autocomplete. Write code in a plain text box until syntax is automatic.
- Pick one language and stay with it. See which programming languages Meta uses before you choose.
- Learn the patterns the coding rounds test. Grokking the Coding Interview covers the patterns that repeat across Meta loops.
- Know the round order. How long the Meta interview process takes and what to expect in a Meta technical interview cover the stages.
- Prepare the design round. The Meta product architecture interview explains a round other companies do not run.
- Read the guide once. The Meta interview guide puts every stage in one place.

GET YOUR FREE
Coding Questions Catalog

$99

$197

$72