3 exercises — push back professionally, frame critique on the code not the person, and resolve review deadlocks constructively.
0 / 24 completed
1 / 24
You strongly disagree with a reviewer's architectural suggestion. They want to split a module you believe should stay together. Which response best demonstrates professional disagreement?
Option B is the model for professional technical disagreement. It follows the AEI pattern: • Acknowledge the reviewer's concern ("I understand the concern about coupling") • Explain your specific reasoning with data ("seven downstream consumers", "transactional guarantee") • Invite a path forward that isn't "do it my way" ("revisit as a separate ticket")
Notice what's missing: no personal language ("you're wrong"), no dismissal, no passive compliance. The disagreement is framed as a trade-off discussion, not a conflict.
2 / 24
Complete the diplomatic disagreement phrase: "I see your point about using a singleton here. My concern is that _____ makes this much harder to unit test in isolation — we'd need to mock the global state in every test."
"the singleton pattern" is the most professional choice because it names the design choice, not the person. Compare: "your approach makes this harder" (mildly personal) vs. "the singleton pattern makes this harder" (purely technical).
This is the essence of blameless technical discourse: critique the code, the pattern, the decision — not the person who made it. Even though the reviewer is the one who suggested the singleton, framing the problem as a property of the pattern keeps the conversation collaborative.
3 / 24
After a lengthy back-and-forth discussion in a PR, you and the reviewer still disagree. What is the most professional way to resolve this?
Option C uses the "disagree and escalate" pattern — one of the most important conflict-resolution tools in engineering teams. When two people can't resolve a technical disagreement, escalating to a third party (tech lead, architecture team, team vote) is entirely appropriate and professional.
Key phrases in Option C: "we see this trade-off differently" (neutral — neither of you is wrong, you just weigh things differently); "escalate to the team" (invites team input); "happy to go with whatever the team decides" (shows you're collaborative, not ego-driven).
Merging without addressing (A) breaks trust. Blocking indefinitely (B) is unproductive. Option D abandons the discussion without a resolution.
4 / 24
PR Description
**Subject:** Refactor: User Profile Service - Improved Data Validation
**Body:** I've updated the user profile service to include more robust data validation checks. This prevents invalid data from being stored and improves overall system stability. Specifically, I've added schema validation using JSON Schema 2019-09 draft and implemented stricter input sanitization for all fields.
Reviewer: 'This is a nice improvement, but adding so much validation will significantly slow down the API response times. Perhaps we should consider delaying some of these checks to asynchronous tasks?'
This question tests your ability to respond constructively during a code review disagreement. Option 1 is incorrect because it dismisses the reviewer's valid concern regarding performance without proposing any mitigation strategies. Option 2 is good, asserting your position clearly while acknowledging the other side. However, option 1 is better as it demonstrates an attempt to find common ground – suggesting a tiered approach, which is a typical response in these situations. Option 3 is too vague and doesn't offer a specific solution, and option 4 repeats the reviewer's concern without adding any value.
5 / 24
Reviewer: 'This is a nice improvement, but adding so much validation will significantly slow down the API response times. Perhaps we should consider delaying some of these checks to asynchronous tasks?' You believe that immediate validation is crucial for data integrity and performance. Which response best reflects your professional disagreement while maintaining a collaborative tone?
Insufficient is too blunt and doesn't address the underlying issue of differing priorities. Correct demonstrates you've understood their concern (API speed) but immediately pushes back on the proposed solution, highlighting the core reason for your validation strategy – data integrity. While options B and D are reasonable responses, 'Correct' most precisely reflects a professional disagreement rooted in technical justification and maintains a collaborative tone by acknowledging the reviewer's point before asserting your position.
6 / 24
You're in a standup meeting and a teammate says, 'I'm blocked on getting the latest version of the authentication service. It's taking ages to deploy.' What is the MOST diplomatic way to respond?
This assesses your ability to handle blockers and offer support in a team setting. Option 3 is too aggressive and could escalate the situation unnecessarily. Option 4 demonstrates empathy, seeks understanding, and offers assistance – this is the most diplomatic approach for a standup discussion.
7 / 24
You review a PR that adds logging to a critical service. The reviewer's comment reads: 'This is great, but the logs are too verbose and will impact performance.' What's the BEST response to add to the PR?
This question tests your ability to address concerns about performance within a code review context. Option 1 is confrontational. Option 2 demonstrates willingness to compromise and suggests a practical solution. Options 3 and 4 are both dismissive and unprofessional. The goal is to acknowledge the concern while proposing a specific action.
8 / 24
PR Description
**Subject:** Refactor: User Profile Service - Improved Data Validation
**Body:** I've updated the user profile service to include more robust data validation checks. This prevents invalid data from being stored and improves overall system stability. Specifically, I've added schema validation using JSON Schema 2019-09 draft and implemented stricter input sanitization for all fields.
Reviewer: 'This is a nice improvement, but adding so much validation will significantly slow down the API response times. Perhaps we should consider delaying some of these checks to asynchronous tasks?'
This question tests your ability to respond constructively during a code review disagreement. Option 1 is incorrect because it dismisses the reviewer's valid concern regarding performance without proposing any mitigation strategies. Option 2 is good, asserting your position clearly while acknowledging the other side. However, option 1 is better as it demonstrates an attempt to find common ground – suggesting a tiered approach, which is a typical response in these situations. Option 3 is too vague and doesn't offer a specific solution, and option 4 repeats the reviewer's concern without adding any value.
9 / 24
Reviewer: 'This is a nice improvement, but adding so much validation will significantly slow down the API response times. Perhaps we should consider delaying some of these checks to asynchronous tasks?' You believe that immediate validation is crucial for data integrity and performance. Which response best reflects your professional disagreement while maintaining a collaborative tone?
Insufficient is too blunt and doesn't address the underlying issue of differing priorities. Correct demonstrates you've understood their concern (API speed) but immediately pushes back on the proposed solution, highlighting the core reason for your validation strategy – data integrity. While options B and D are reasonable responses, 'Correct' most precisely reflects a professional disagreement rooted in technical justification and maintains a collaborative tone by acknowledging the reviewer's point before asserting your position.
10 / 24
You're in a standup meeting and a teammate says, 'I'm blocked on getting the latest version of the authentication service. It's taking ages to deploy.' What is the MOST diplomatic way to respond?
This assesses your ability to handle blockers and offer support in a team setting. Option 3 is too aggressive and could escalate the situation unnecessarily. Option 4 demonstrates empathy, seeks understanding, and offers assistance – this is the most diplomatic approach for a standup discussion.
11 / 24
You review a PR that adds logging to a critical service. The reviewer's comment reads: 'This is great, but the logs are too verbose and will impact performance.' What's the BEST response to add to the PR?
This question tests your ability to address concerns about performance within a code review context. Option 1 is confrontational. Option 2 demonstrates willingness to compromise and suggests a practical solution. Options 3 and 4 are both dismissive and unprofessional. The goal is to acknowledge the concern while proposing a specific action.
12 / 24
PR Description
**Subject:** Refactor: User Profile Service - Improved Data Validation
**Body:** I've updated the user profile service to include more robust data validation checks. This prevents invalid data from being stored and improves overall system stability. Specifically, I've added schema validation using JSON Schema 2019-09 draft and implemented stricter input sanitization for all fields.
Reviewer: 'This is a nice improvement, but adding so much validation will significantly slow down the API response times. Perhaps we should consider delaying some of these checks to asynchronous tasks?'
This question tests your ability to respond constructively during a code review disagreement. Option 1 is incorrect because it dismisses the reviewer's valid concern regarding performance without proposing any mitigation strategies. Option 2 is good, asserting your position clearly while acknowledging the other side. However, option 1 is better as it demonstrates an attempt to find common ground – suggesting a tiered approach, which is a typical response in these situations. Option 3 is too vague and doesn't offer a specific solution, and option 4 repeats the reviewer's concern without adding any value.
13 / 24
Reviewer: 'This is a nice improvement, but adding so much validation will significantly slow down the API response times. Perhaps we should consider delaying some of these checks to asynchronous tasks?' You believe that immediate validation is crucial for data integrity and performance. Which response best reflects your professional disagreement while maintaining a collaborative tone?
Insufficient is too blunt and doesn't address the underlying issue of differing priorities. Correct demonstrates you've understood their concern (API speed) but immediately pushes back on the proposed solution, highlighting the core reason for your validation strategy – data integrity. While options B and D are reasonable responses, 'Correct' most precisely reflects a professional disagreement rooted in technical justification and maintains a collaborative tone by acknowledging the reviewer's point before asserting your position.
14 / 24
You're in a standup meeting and a teammate says, 'I'm blocked on getting the latest version of the authentication service. It's taking ages to deploy.' What is the MOST diplomatic way to respond?
This assesses your ability to handle blockers and offer support in a team setting. Option 3 is too aggressive and could escalate the situation unnecessarily. Option 4 demonstrates empathy, seeks understanding, and offers assistance – this is the most diplomatic approach for a standup discussion.
15 / 24
You review a PR that adds logging to a critical service. The reviewer's comment reads: 'This is great, but the logs are too verbose and will impact performance.' What's the BEST response to add to the PR?
This question tests your ability to address concerns about performance within a code review context. Option 1 is confrontational. Option 2 demonstrates willingness to compromise and suggests a practical solution. Options 3 and 4 are both dismissive and unprofessional. The goal is to acknowledge the concern while proposing a specific action.
16 / 24
PR Description
**Subject:** Refactor: User Profile Service - Improved Data Validation
**Body:** I've updated the user profile service to include more robust data validation checks. This prevents invalid data from being stored and improves overall system stability. Specifically, I've added schema validation using JSON Schema 2019-09 draft and implemented stricter input sanitization for all fields.
Reviewer: 'This is a nice improvement, but adding so much validation will significantly slow down the API response times. Perhaps we should consider delaying some of these checks to asynchronous tasks?'
This question tests your ability to respond constructively during a code review disagreement. Option 1 is incorrect because it dismisses the reviewer's valid concern regarding performance without proposing any mitigation strategies. Option 2 is good, asserting your position clearly while acknowledging the other side. However, option 1 is better as it demonstrates an attempt to find common ground – suggesting a tiered approach, which is a typical response in these situations. Option 3 is too vague and doesn't offer a specific solution, and option 4 repeats the reviewer's concern without adding any value.
17 / 24
Reviewer: 'This is a nice improvement, but adding so much validation will significantly slow down the API response times. Perhaps we should consider delaying some of these checks to asynchronous tasks?' You believe that immediate validation is crucial for data integrity and performance. Which response best reflects your professional disagreement while maintaining a collaborative tone?
Insufficient is too blunt and doesn't address the underlying issue of differing priorities. Correct demonstrates you've understood their concern (API speed) but immediately pushes back on the proposed solution, highlighting the core reason for your validation strategy – data integrity. While options B and D are reasonable responses, 'Correct' most precisely reflects a professional disagreement rooted in technical justification and maintains a collaborative tone by acknowledging the reviewer's point before asserting your position.
18 / 24
You're in a standup meeting and a teammate says, 'I'm blocked on getting the latest version of the authentication service. It's taking ages to deploy.' What is the MOST diplomatic way to respond?
This assesses your ability to handle blockers and offer support in a team setting. Option 3 is too aggressive and could escalate the situation unnecessarily. Option 4 demonstrates empathy, seeks understanding, and offers assistance – this is the most diplomatic approach for a standup discussion.
19 / 24
You review a PR that adds logging to a critical service. The reviewer's comment reads: 'This is great, but the logs are too verbose and will impact performance.' What's the BEST response to add to the PR?
This question tests your ability to address concerns about performance within a code review context. Option 1 is confrontational. Option 2 demonstrates willingness to compromise and suggests a practical solution. Options 3 and 4 are both dismissive and unprofessional. The goal is to acknowledge the concern while proposing a specific action.
20 / 24
Sarah, your team deployed a new feature that uses a complex regular expression to validate user input. The reviewer comments: 'This regex is incredibly inefficient and will likely cause performance issues under heavy load.' What's the most constructive way to respond in a code review comment?
This question tests acknowledging criticism while maintaining a professional tone. The best response demonstrates willingness to consider alternatives and shows you've received the feedback. Option A is passive, option B dismissive, and option D shifts blame. Profiling would be a good next step but isn't the immediate focus of the comment.
21 / 24
During a Slack discussion regarding a recently submitted pull request for a new microservice, Mark says: 'This code is beautiful! But I'm worried about potential race conditions if multiple users access the same resource simultaneously.' What's the most effective way to respond to Mark's comment?
This assesses communication skills in addressing a specific technical concern. Mark has identified a potentially serious issue. Response option C acknowledges the concern and proposes concrete steps for discussion – this demonstrates proactive engagement. Options A and B are dismissive while D ignores the valid point.
22 / 24
You've reviewed a PR that introduces a new API endpoint for retrieving customer data. The reviewer's comment is: 'The response format doesn't conform to the established JSON schema.' What should you add to the PR description to provide further context and guidance?
This tests clarity in communicating technical specifications. The reviewer has pointed out a deviation from standards. Option A focuses on a process, option B is vague, and option D shifts responsibility. Option C seeks clarification and acknowledges the existing validation.
23 / 24
In a daily standup meeting, David says: 'I'm still waiting for the database connection pool to be upgraded. It's significantly impacting my ability to query user data.' What is the MOST diplomatic and helpful response you can offer?
This explores empathy and collaborative problem-solving. David is experiencing a blocker. Option A pressures him, option C provides false reassurance, and option D avoids responsibility. Option B demonstrates support and initiates action to resolve the issue – crucial for team collaboration.
24 / 24
You're reviewing a PR that includes detailed error handling throughout a service. The reviewer's comment reads: 'While comprehensive error handling is appreciated, the sheer number of try/catch blocks makes the code difficult to maintain and debug.' What's the best way to respond?
This evaluates the ability to refine feedback on architectural choices. The reviewer points out maintainability concerns. Option A proposes a solution focused on simplification – this shows you understand the issue and are willing to improve the code. Options B and D ignore the problem, while option C suggests an alternative approach but doesn't directly address the core concern.
What does the "Diplomatic Disagreement" exercise practise?
Learn how to push back professionally in code reviews: disagree without conflict, name concerns on the code not the person, and escalate when stuck. 3 advanced exercises.
How many questions are in this exercise?
This exercise has 24 questions, each multiple-choice with a full explanation shown after you answer.
What English level is this exercise for?
This exercise is tagged Advanced. If the vocabulary feels difficult, browse the Code Review Language category page for an easier module to start with.
Is this exercise free to use?
Yes. Every exercise on CoderSlingo, including this one, is free with no account, sign-up, or paywall.
Do I get feedback if I answer incorrectly?
Yes — whichever option you choose, right or wrong, you'll immediately see an explanation clarifying the correct term and why the other options don't fit.
Can I retry this exercise?
Yes — once you finish all the questions, a "Try again" button on the results screen resets the exercise so you can practise as many times as you like.
Do I need an account to track my progress?
No account is required. Your progress bar and score for this session are tracked in the browser as you go, but nothing is saved once you leave the page.
Is "Diplomatic Disagreement" part of a larger series?
Yes — it's one exercise in the Code Review Language category on CoderSlingo. See the category page for the full list of related exercises on similar terminology.
Can I link directly to this exercise?
Yes — this exercise has its own permanent URL, so you can bookmark it or share the link directly with a colleague or study partner.
Where can I find more exercises like this one?
See the Code Review Language category page for related exercises, or browse the main Exercises hub for other IT English topics.