Collaboration & Process › Communication
Saying No
Declining or pushing back on work constructively.
Saying no at work means declining a request, setting a boundary, or explaining that a proposed change does not fit the current constraints. A constructive response explains the reason and offers choices when possible, instead of silently accepting work that cannot be completed.
For example: “We can add the export, but not before the migration deadline without dropping another item. We could ship the current format first, move the deadline, or pause the migration—what outcome matters most?” This makes the trade-off explicit and returns the priority decision to the people responsible for it.
A flat refusal can miss useful context, while an automatic yes creates hidden commitments and last-minute surprises. Ask what problem the request solves, clarify urgency, and distinguish “not now” from “never.” If the request is unsafe or violates policy, explain the constraint and involve the appropriate owner rather than negotiating away a necessary safeguard.
Backend, frontend, and data engineers should describe technical consequences in terms of user impact, risk, and opportunity cost. Do not frame every disagreement as a conflict; it is normal to expose competing goals. Follow through on alternatives you offer. See scope creep, disagree and commit, and cost of delay.
Choose the channel and amount of detail for the people who need to act, then make important outcomes findable later. If a conversation changes scope or ownership, record that change rather than relying on memory. Backend developers can explain service impact, frontend developers can clarify interaction concerns, and data engineers can make lineage or measurement implications visible.
After trying it, ask whether people had enough context to act and revise the agreement if it created extra coordination or left someone out.