What's the Point of Pull Requests?


Team-Driven Developer

A newsletter with tips and tools for building software as a team

We've recently started a group at Webflow to enhance our existing code review process.

And it made me think of an older article I wrote all about the point of pull requests.

In a nutshell, pull requests aren't the same as a code review, but they are a common channel to help code reviews run smoothly.

I rewrote and added some parts of the article based on the discussions we were having as a group, and wanted to share it back on the newsletter today.

Let's dive in!

Team-Building Exercise

I've recently been reading The Coaching Habit to help learn better tools for coaching and mentoring. I've found it to be both a 1) quick and 2) helpful read!

One bit that really stood out to me was what the author calls The Foundation Question: "What do you want?"

You can interpret that question in several ways, ranging from personal career ambitions to simply clarifying a request from a teammate. At a tactical level, one variant of this question that has helped me even in the past week is this:

"What are you trying to get out of this conversation?"

This question can be a fantastic question to help level-set what this conversation/meeting/thread is all about. As Duhigg remarks in Supercommunicators, knowing what kind of conversation you are having is the first step to having effective communication.

What does this have to do with code reviews and pull requests?

It is crucial to understand where your fellow engineers stand on their goals during a pull request. Yes, we should be striving to adopt a learning mindset, being open to giving and receiving technical feedback, etc.

But sometimes there is pressure to ship something for an incident. Sometimes there is stress for an engineer's first review. Or, hopefully, someone is looking to level up their understanding of a particular topic.

And while asking, "What are you trying to get out of this review?" might come off as insensitive, you can intuit some of this context from the description or in how they respond to feedback you give (or have asked for). It might be a good idea to reach out to the author or reviewer to discuss your goals.

  • Author: "Hey, thanks for being willing to look at my pull request! I'm trying to
  • Reviewer: "Thanks for the PR. I'm trying to focus on

It doesn't have to be every pull request, but having this in your toolbelt can help move a PR along when it isn't getting looked at or help progress the conversation forward if it's stuck in a loop.

Clear goals seem to do that.


Here are some more resources from me to help you build better teams!​

  • 📕 Code Review Champion - My book on code reviews will help you become a world-class code reviewer. From giving kind feedback to navigating conflict, this book can help anyone wanting to sharpen their code review skills.
  • ❓​Questions for Devs - Building a team takes more than catching up about your weekend at standup. I've used these questions to build relationships with my team and push past the same old surface-level conversations.
  • ​📋 Pull Request Template - Maximize your efforts in pull requests by giving context right at the beginning of a new pull request. Copy and paste this template into your repo, and voilà!
  • 📊 ​Code Review Metrics - Start measuring how your team tracks against a few common code review metrics. This python script will pull your GitHub pull requests and generate a CSV you can slice-n-dice to get the data you want. It also has graphs! As this is an open-source project, your contributions and feedback would be great!

Other Creators I Recommend

Image for Looking for your next tech job?

Looking for your next tech job?

You're in the right spot. I'm Dr. Kyle Elliott, the founder and tech career coach behind CaffeinatedKyle.com, and I love giving away free resources that help to ensure your job search and career success.

Join 7,435+ fellow job seekers who have downloaded my free Job Search Launch Guide.

Image for The Mindful Dev

The Mindful Dev

Dagna is an Engineer turned Coach for ambitious professionals in Tech. She has transitioned from programming computers to reprogramming human minds. Her book Brain Refactor is a recognized Amazon bestseller, helping professionals optimize their internal programming to thrive in tech.

113 Cherry St #92768, Seattle, WA 98104
Unsubscribe · Preferences

Dan Goslen | The Team-Driven Developer

Learn the tips and tools for building software as a team! Every other week, I send a long-form article, a team-building exercise, and resources to help you build better software teams so you can build better software.

Read more from Dan Goslen | The Team-Driven Developer

Team-Driven Developer A newsletter with tips and tools for building software as a team If you’ve ever joined a new team, tackled a legacy codebase, or stepped into an unfamiliar domain, the feeling can be overwhelming. There’s too much to know—and not enough time to learn it all. That’s why I use a model I call traversing the knowledge graph. It helps me orient quickly, pull in the most relevant context, and start contributing with confidence. In this post, I’ll describe: How I think and...

Team-Driven Developer A newsletter with tips and tools for building software as a team You’re staring at your editor. The code should work, but you’ve been fighting an error for a full day. You can’t figure out the problem no matter what you try. Or you’ve been staring at an empty file, wondering what code to write. You’ve got a vague Jira ticket, a lack of context, and a codebase that is difficult to understand. You’re blocked. Now, what do you do? It’s tempting—easy, even—to ping someone...

Team-Driven Developer A newsletter with tips and tools for building software as a team Imagine reading a technical design document or RFC. As you read, you notice that the language in the document is a bit confusing. For example: Requests likely need to be authorized using standard HTTP auth mechanisms What does this “requirement” mean? Are we using “standard” Authorization headers with base 64 encoded usernames and passwords? I don’t see a mention of HTTPS. And I also don’t know what...