F8 2015 - Big Code: Developer Infrastructure at Facebook's Scale
Meta Developers1 HN recommenders · 2015–2016
99K views · talk · dated · Uploaded 2015-03-28
An F8 2015 talk touring the tool-chain Facebook uses to let thousands of engineers build mobile apps, including its move to Mercurial, an Atom-based IDE and continuous integration.
HN points to it as a look at developer infrastructure at large scale, with speakers covering source control and CI test selection.
38:47RailsConf 2014 - All the Little Things by Sandi Metz
Confreaks
40:20"Testing Distributed Systems w/ Deterministic Simulation" by Will Wilson
Strange Loop Conference
1:03:55🚀 TDD, Where Did It All Go Wrong (Ian Cooper)
DevTernity Conference
54:20Bret Victor - Inventing on Principle
Rui Oliveira
32:56Bret Victor The Future of Programming
Joey Reid
1:02:26Solving Problems the Clojure Way - Rafal Dittwald
Clojure/north
52:35Debugging Under Fire: Keep your Head when Systems have Lost their Mind • Bryan Cantrill • GOTO 2017
GOTO Conferences
42:15"Performance Matters" by Emery Berger
Strange Loop Conference
4 comments from Hacker News
All correct, but I don't think Bryan O'Sullivan does much haskell these days. He's the manager of some sort of "Developer productivity" team. The Hack programming language came out of his team [1] (tho he wrote a blog post to contrast all the media coverage and say "my people did it, not me! [2]); he spoke about his activity at the last F8 [3]. But he does teach Haskell at Facebook after work :) [4] [1] [LINK] [2] [LINK] [3] [VIDEO] [4] [LINK] EDIT: spelling
I think the best part of this article was the small link to the F8 2015 "Big Code" video [0] where they go into detail about switching from Git to Mercurial, building their own IDE around Atom, and detailing their continuous integration process. It's a long video but it's very watchable using the YouTube speed multiplier. :) [0] [VIDEO]
Facebook does this to scale their tests, you can hear Katie Coons talking about it in CI at the end of [VIDEO] . There are also rules that say "if you changed this file, run all tests" for things like CI config and such. Also, the build tool Buck ( [LINK] ) enables this because it knows the graph and associates tests with the code they test...so you even get this test minimization locally as a developer (that is, outside CI) for free. I'm sure Bazel likely has a similar feature too.
It's an internal system, but it was discussed at F8 last year. Here's the video ( [VIDEO] ) and someone's notes on it ( [LINK] ).