Developing C++ @ Facebook Scale
summary
At Facebook scale the claim is that automation + targeted tooling lets an engineer reason locally without rebuilding everything. Built pieces include injecting Folly symbolizer calls into every test main for deterministic stack traces, lint rules and clang-format autofixes at review, a distributed CI that builds the transitive closure via Buck, “wardens” that detect and disable flaky tests, an error‑message DB and inline logs, plus an ASAN output normalizer; together these cut noise, increase trust, and make regressions actionable.
AI-written summary · about
chapters (16)
- 0:00Intro
- 0:54Fundamental Developer Concerns
- 3:07Perspective
- 4:36Setting the Scene
- 8:28A default test main function weak
- 12:21Automatic Code Review
- 17:24Pass/Fail State is complicated
- 24:31Human Code Review
- 29:41Shipping the Code
- 31:20Optimizing Turnaround
- 32:23What gets through?
- 36:42ASAN (Raw-ish Output)
- 38:53Informing Developers
- 39:501 problem, 1 task
- 41:18Task Aggregation
- 42:39Who knows about X?
related talks
25m10 Things I Love About Engineering at Facebook
56mPractical Techniques for Improving C++ Build Times
01h 32mClosing Keynote: C++ Development Tools: Past, Present and Future
39mFireside Chat
01h 01mTools from the C++ Ecosystem to save a leg
52m“Tools from the C++ eco-system to save a leg”
44mThe Road to Running Haskell at Facebook Scale
01h 00mAdvanced Tools for Better Productivity
