Playback speed
×
Share post
Share post at current time
0:00
/
0:00
Preview

Code Reviews, AI, and Modern Engineering 🔍 — with Greg Foster

Refactoring Podcast — Season 2 • Episode 10

Today's guest is Greg Foster!

Greg is CTO at Graphite, a tool that helps teams do better code reviews, and smaller and faster code changes.


🎙️ Episode

You can watch the full episode on Youtube:

Or listen to it on Spotify, Apple, Overcast, or your podcast app of choice.


🥇 Interview Summary

If you are a 🔒 paid subscriber 🔒 you will find my own summary of the interview below.

It’s the 10-minute, handcrafted takeaways of what we talked about, with timestamps to the relevant video moments, for those who don’t have time to sit through the 1-hour chat.

Here is the agenda:

  1. 🔍 Graphite and stacked changes (01:07)

  2. 📊 Code review best practices (17:41)

  3. 🤖 AI's impact on software development (29:22)

  4. 👨‍💻 Graphite's engineering team (41:05)

  5. 🚀 Deployment and staging practices (47:32)

⠀Let's dive in 👇


1) 🔍 Graphite and stacked changes (01:07)

Greg Foster explains that Graphite is a code change collaboration tool that works on top of GitHub. Its main goal is to help teams create, review, and merge code changes more efficiently.

Greg also provides a historical perspective on engineering practices, highlighting a continuous trend towards faster and smaller code changes.

This evolution includes at least three steps:

  1. 1980s — annual software release cycles with in-person code reviews.

  2. 2000s — introduction of Git and pull requests.

  3. Today — need for even faster and smaller code changes

Graphite aims to continue this trend by enabling developers to break down work into so-called stacked changes. Stacked changes have been used by big tech companies like Google, Facebook, and Uber, for a long time through custom tooling, as they offer several advantages:

  • 🏃‍♂️ Unblock engineers — they allow engineers to continue working on code without becoming blocked by reviews.

  • 🏅 Improved quality — they split in smaller batches, which improves the quality of reviews.

  • ↩️ Easier rollbacks — they make it easier to debug and possibly rollback because even large changes are treated as a collection of smaller ones.

While this workflow is also possible without specialized tools, it easily becomes cumbersome. Graphite aims to make this process seamless for teams using GitHub.

After this intro, we moved to discuss code review best practices 👇

This post is for paid subscribers

Refactoring
Refactoring Podcast
Interviews with world-class engineering leaders about writing great software and working well with humans.