Comment on PRs like you’re Negotiating

The best and most effective way to influence change in a pull request — while upholding developer etiquette — is to treat it like a negotiation

Quinn Vissak
Level Up Coding
Published in
4 min readMar 19, 2020

--

Former FBI negotiator Chris Voss’s Never Split the Difference — Negotiating as if your life depended on it is a transformation-inducing book that has the capability to enhance numerous aspects of your communication. Incorporating the negotiation tactics discussed by Voss into your daily life — including your job — will undoubtedly result in more desirable outcomes from your interactions.

A lot of my written communication as a software engineer occurs through pull requests. Admittedly, I don’t always convey my thoughts as intended. Even more problematic, sometimes a comment slips through my mental filter and I do convey my thoughts exactly as intended. Reminding myself that every pull request is a negotiation, I do my best to tailor the content of my comments in such a way that my coworkers understand my perspective. More often than not, the following negotiating tactics convince coworkers to trade more of their time and effort for my stamp of approval.

3 Negotiation Tactics You Need

1. Loss Aversion

“People will take greater risks to avoid losses than to achieve gains” (Voss 128).

As a general rule, people are loss averse. Most people would rather invest in a low-risk asset even if they would probably make more money from a high-risk asset. Applying the same concept to giving feedback, it is best to highlight what could be lost by merging the proposed changes as opposed to what could be gained by iterating on your feedback.

Is it possible for you to refactor this into O(n) time instead of O(n²)? O(n²) time would increase application response times, which could decrease throughput, causing cascading failures to other systems.

By commenting on what can be lost, the contributor is more likely to correct the mistake. Management is more likely to notice a loss (failing systems) than its corresponding gain (faster response times).

--

--

Sr SDE @ Amazon Web Services, EC2 Core — passionate about utilizing the best software practices to increase efficiency.