The Pragmatic Engineer

Stacked diffs and tooling at Meta with Tomas Reimers


Listen Later

Supported by Our Partners

Swarmia — The engineering intelligence platform for modern software organizations.

Sentry — Error and performance monitoring for developers.

Why did Meta build its own internal developer tooling instead of using industry-standard solutions like GitHub? Tomas Reimers, former Meta engineer and co-founder of Graphite, joins the show to talk about Meta's custom developer tools – many of which were years ahead of the industry.

From Phababricator to Sandcastle and Butterflybot, Tomas shares examples of Meta’s internal tools that transformed developer productivity at the tech giant. Why did working with stacked diffs and using monorepos become best practices at Meta? How are these practices influencing the broader industry? Why are code reviews and testing looking to become even more critical as AI transforms how we write software? We answer these, and also discuss:

• Meta's custom internal developer tools

• Why more tech companies are transitioning from polyrepos to monorepos

• A case for different engineering constraints within the same organization

• How stacked diffs solve the code review bottleneck

• Graphite’s origin story and pivot to their current product 

• Why code reviews will become a lot more important, the more we use AI coding tools

• Tomas’s favorite engineering metric 

• And much more!

Timestamps

(00:00) Intro

(02:00) An introduction to Meta’s in-house tooling 

(05:07) How Meta’s integrated tools work and who built the tools

(10:20) An overview of the rules engine, Herald 

(12:20) The stages of code ownership at Facebook and code ownership at Google and GitHub

(14:39) Tomas’s approach to code ownership 

(16:15) A case for different constraints within different parts of an organization 

(18:42) The problem that stacked diffs solve for 

(25:01) How larger companies drive innovation, and who stacking diffs not for 

(30:25) Monorepos vs. polyrepos and why Facebook is transitioning to a monorepo

(35:31) The advantages of monorepos and why GitHub does not support them 

(39:55) AI’s impact on software development 

(42:15) The problems that AI creates, and possible solutions

(45:25) How testing might change and the testing AI coding tools are already capable of 

(48:15) How developer accountability might be a way to solve bugs and bad AI code

(53:20) Why stacking hasn’t caught on and Graphite’s work 

(57:10) Graphite’s origin story 

(1:01:20) Engineering metrics that matter 

(1:06:07) Learnings from building a company for developers 

(1:08:41) Rapid fire round

(1:12:41) Closing

The Pragmatic Engineer deepdives relevant for this episode:

Stacked Diffs (and why you should know about them)

Inside Meta’s engineering culture

Shipping to production

How Uber is measuring engineering productivity

See the transcript and other references from the episode at ⁠⁠https://newsletter.pragmaticengineer.com/podcast⁠⁠

Production and marketing by ⁠⁠⁠⁠⁠⁠⁠⁠https://penname.co/⁠⁠⁠⁠⁠⁠⁠⁠. For inquiries about sponsoring the podcast, email [email protected].



Get full access to The Pragmatic Engineer at newsletter.pragmaticengineer.com/subscribe
...more
View all episodesView all episodes
Download on the App Store

The Pragmatic EngineerBy Gergely Orosz

  • 5
  • 5
  • 5
  • 5
  • 5

5

47 ratings


More shows like The Pragmatic Engineer

View all
Hanselminutes with Scott Hanselman by Scott Hanselman

Hanselminutes with Scott Hanselman

378 Listeners

Software Engineering Radio - the podcast for professional software developers by se-radio@computer.org

Software Engineering Radio - the podcast for professional software developers

262 Listeners

The Changelog: Software Development, Open Source by Changelog Media

The Changelog: Software Development, Open Source

285 Listeners

a16z Podcast by Andreessen Horowitz

a16z Podcast

999 Listeners

Thoughtworks Technology Podcast by Thoughtworks

Thoughtworks Technology Podcast

43 Listeners

Software Engineering Daily by Software Engineering Daily

Software Engineering Daily

630 Listeners

Soft Skills Engineering by Jamison Dance and Dave Smith

Soft Skills Engineering

271 Listeners

Syntax - Tasty Web Development Treats by Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

Syntax - Tasty Web Development Treats

984 Listeners

REWORK by 37signals

REWORK

212 Listeners

CoRecursive: Coding Stories by Adam Gordon Bell - Software Developer

CoRecursive: Coding Stories

185 Listeners

The Stack Overflow Podcast by The Stack Overflow Podcast

The Stack Overflow Podcast

63 Listeners

The Real Python Podcast by Real Python

The Real Python Podcast

136 Listeners

Oxide and Friends by Oxide Computer Company

Oxide and Friends

47 Listeners

No Priors: Artificial Intelligence | Technology | Startups by Conviction

No Priors: Artificial Intelligence | Technology | Startups

105 Listeners

Latent Space: The AI Engineer Podcast by swyx + Alessio

Latent Space: The AI Engineer Podcast

64 Listeners