Tag Archives: github

Pull Requests: Assign or Request Review?

If you're feeling confused about GitHub's new review requests feature (as opposed to the existing ability to assign people to issues and pull requests) here's my take.

When review requests were first rolled out, they were not very useful because there was no way to see a list of pull requests you had been requested to review. Thankfully, that deficiency has been fixed!

Now, review requests unleash a great way to manage workflow on pull requests.

When you create a pull request, you add a review request for one or more reviewers. In addition, assign the pull request to the reviewer to signal that you are awaiting their action.

When the reviewer finishes their review, they should either merge the pull request (LGTM!) or assign it back to you (or someone else) for action -- respond to a comment, answer a question, revise code, etc.

Then when you respond to feedback, you assign the pull request back to the reviewer, and the cycle repeats.

There is additional explicit signaling in the review request workflow that you can use, too.

So, improve your pull request workflow by:

What is it about Twitter?

I like people. I swear I do. It's just that personal interactions tend to be extremely tiring. They take a lot out of me. And the larger the group of people, the more severe the energy drain. Same with familiarity: the less familiar I am with people, the more draining it is to interact with them. So, most of the time, I avoid large gatherings and being with people I don't know very well.

One thing I've noticed, though, is that most interactions I have with people online are not at all draining. Twitter, IRC, IM, GitHub, email -- I thrive in these communities and get energized when I can interact with people online. Twitter and GitHub are my favorite ways to communicate with people.

Twitter is great because it's a really light lift. You don't even know who's listening. A lot of the time, it feels like making wise-cracks from the back of the classroom. But there's also information sharing. I like to tweet links to blog posts I've seen. Often, there are common threads that tie my Twitter timeline to in-person conversations I've been having. But I think the key is that no response is expected. Okay, sometimes I look forward to replies and favorites and retweets. If I post a funny tweet, I hope someone faves it -- it's the same as going for a laugh in conversation, but without the awkwardness when I flop.

GitHub is completely different than Twitter. By definition, on GitHub I am interacting with people on a specific programming project, and we are discussing code. At my company, we also do this in Pivotal Tracker, but the interaction there is terrible. On GitHub, it's incredibly easy to translate my thoughts into a new issue or comment on an existing issue. And when we get a good conversation going on GitHub, that same ease of communication can morph into something more than a debate over the merits of one approach to a problem over another. Specifically, it's really easy to post images and add emojis. The humor and fun that enables can turn an otherwise boring or contentious comment thread into experiences that I remember with the kind of fondness that I imagine other people have for great parties.

These tools enable me to experience the positives without the negatives. I get all the joys of interpersonal interaction without draining my energy.

And I realized tonight that that enablement -- providing that bridge from my personality island to the mainland of other people -- makes these tools dear to me in an intensely personal way. It's like they augment my personality. Or give me superpowers. Or something.

I haven't quite put my finger on it. But I'm pretty sure that that's why I get raging mad when Twitter shoves shitty advertising in my face or GitHub refuses to enable notifications for gist comments. They're fucking with my shit when they do that. These tools -- they're not a trifle to me. They've become a part of me because of the deep interactions they've enabled me to achieve. It's like I've integrated them with my own personality. So when you fuck with them, you're fucking with me.

And I don't like when you fuck with me.