3 exercises — push back professionally, frame critique on the code not the person, and resolve review deadlocks constructively.
0 / 3 completed
1 / 3
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 / 3
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 / 3
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.