How to Politely Push Back on Unreasonable Demands

by Arif Ikhsanudin, Backend Developer

Clients can sometimes ask for the impossible—or the unreasonable.
Here’s how to set boundaries without burning bridges.

Recognize When It’s Too Much

First, identify the difference between challenging and unrealistic.

  • Look for tasks that conflict with your timeline, budget, or expertise.
  • Note requests that compromise quality or violate best practices.
  • Trust your instincts: if it feels off, it probably is.

Key: A quick reality check saves stress later.

Respond Calmly, Not Emotionally

Your tone is everything. Responding with frustration only escalates tension.

  • Use neutral language like “I want to make sure we maintain quality here.”
  • Avoid words like “impossible” or “never”—frame it as a constraint.
  • Keep sentences short, clear, and solution-focused.

Tip: Calm communication shows professionalism, not weakness.

Offer Alternatives

Clients respect pushback when paired with options.

  • Suggest adjusted timelines, scaled-down scope, or phased delivery.
  • Show how your alternative meets their goals without overextending.
  • Be flexible, but don’t sacrifice core standards or your well-being.

Pro insight: Alternatives make it a discussion, not a rejection.

Set Clear Boundaries

Being upfront prevents future conflicts.

  • Explain your workload, priorities, and realistic capacity.
  • Use statements like “I can focus on X first, then address Y by [date].”
  • Document agreements in writing to avoid misunderstandings.

Remember: Boundaries are a sign of reliability, not rudeness.

Keep Perspective

Pushing back is part of healthy professional relationships.

  • Clients may be testing limits, not attacking you personally.
  • Standing your ground can build trust, not tension.
  • Reflect on each experience to improve future negotiation strategies.

Closing line: Politely pushing back isn’t confrontation—it’s smart, professional self-respect that keeps projects—and relationships—on track.

Scale Your Backend - Need an Experienced Backend Developer?

We provide backend engineers who join your team as contractors to help build, improve, and scale your backend systems.

We focus on clean backend design, clear documentation, and systems that remain reliable as products grow. Our goal is to strengthen your team and deliver backend systems that are easy to operate and maintain.

We work from our own development environments and support teams across US, EU, and APAC timezones. Our workflow emphasizes documentation and asynchronous collaboration to keep development efficient and focused.

  • Production Backend Experience. Experience building and maintaining backend systems, APIs, and databases used in production.
  • Scalable Architecture. Design backend systems that stay reliable as your product and traffic grow.
  • Contractor Friendly. Flexible engagement for short projects, long-term support, or extra help during releases.
  • Focus on Backend Reliability. Improve API performance, database stability, and overall backend reliability.
  • Documentation-Driven Development. Development guided by clear documentation so teams stay aligned and work efficiently.
  • Domain-Driven Design. Design backend systems around real business processes and product needs.

Tell us about your project

Our offices

  • Copenhagen
    1 Carlsberg Gate
    1260, København, Denmark
  • Magelang
    12 Jalan Bligo
    56485, Magelang, Indonesia

More articles

Why “Enjoying WFH” Doesn’t Mean You Deserve Less Pay

Many people assume that working from home is a perk that justifies lower pay. But enjoying the flexibility of WFH doesn’t reduce your skills, effort, or value.

Read more

N+1 Query Problem: The Silent Performance Killer in Spring Boot

The N+1 query problem turns a single request into dozens or hundreds of database queries without throwing an error or logging a warning. Here is how to detect it, diagnose which code causes it, and fix it at the right layer.

Read more

Stop Writing "Fixed Bug" as Your Commit Message

A commit message that says "fixed bug" is worse than no message at all — it creates false confidence that the history is documented while giving future developers nothing to work with.

Read more

Type Erasure in Java — What Disappears at Runtime and What That Means for Your Code

Java generics are a compile-time feature. By the time your code runs, most generic type information is gone. Understanding exactly what survives and what doesn't explains a category of bugs and design constraints that otherwise seem arbitrary.

Read more