Stacked diffs and tooling at Meta with Tomas ReimersTomas Reimers, ex-Meta engineer and Graphite co-founder, shares how Meta’s custom developer tools pioneered practices like stacked diffs and monorepos—shaping industry standards and the future of AI-a
Stream the Latest EpisodeListen and watch now on YouTube, Spotify, and Apple. See the episode transcript at the top of this page, and a summary at the bottom. Brought to You By• Swarmia — The engineering intelligence platform for modern software organizations. • Sentry — Error and performance monitoring for developers. — In This EpisodeWhy 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! TakeawaysMy biggest takeaways from this conversation: “Stacked diffs” makes a lot of sense inside companies. However, it makes less sense when working on, e.g., open source projects. Perhaps this is a reason that GitHub has not added support for this workflow — even though it’s popular inside companies like Meta or Uber. We previously did a deepdive on Stacked Diffs (and why you should know about them). The “trust matrix:” this is a good way to decide how much process/tooling to put in place in a team. If you trust people a lot and are willing to tolerate mistakes, you should lean on culture and not process. If you start to become a team or company where you need to trust people less: this is the time to move more tooling and more process. So, as a small startup you probably don’t need that much tooling and process! There could be an industry-wide movement to monorepos: at mid-sized and larger scaleups and tech companies. Tomas sees a lot of scaleups they work with the move from polyrepos (several repositories) to monorepos. Moving to a monorepo is still a lot of work and requires custom tooling: and this is why it was limited to the largest tech companies in the past. Interesting to hear about this change! AI coding tools increase the importance of quality code reviews. We’ll see more code churned out by AI: but an engineer needs to review it before it goes out. It’s a good question how we can stick to thorough code reviews when it is so tempting to just say, “Looks good to me (LGTM)” and have the seemingly correct code merged. The Pragmatic Engineer deepdives relevant for this episode• Stacked Diffs (and why you should know about them) |