Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have some customers who expect everything for next to nothing. They also want things to behave a certain way, or look a certain way, but when explaining to them why it's not a good idea to implement a certain feature and offering suggestions, they don't listen. When things go wrong, they get moody, and demand I change/recode the entire feature to their liking, but when told that it's because they wanted it that way, they don't listen.

I've found that after years of being around these types of people, it's had a major impact on the way I deal with people I can't stand, and I've seriously run out of ideas.

How do you deal with people who never listen, never learn, and want everything for free?


migration rejected from Oct 22 '13 at 1:13

This question came from our site for professional and enthusiast programmers. Votes, comments, and answers are locked due to the question being closed here, but it may be eligible for editing and reopening on the site where it originated.

closed as primarily opinion-based by gnat, GlenH7, MichaelT, World Engineer Oct 22 '13 at 1:13

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise.If this question can be reworded to fit the rules in the help center, please edit the question.

If it were me, I'd disregard them and move my business elsewhere. – Christian Mar 19 '11 at 8:25
How is this specifically related to programming? I can think of a half dozen professions where this question would be valid. Please edit this question and relate it more to programming. – Walter Mar 19 '11 at 11:40
Just because it can be valid to more than one profession, doesn't make it any less related to programming. – J.T.S. Mar 19 '11 at 11:55
This is what contracts are for. – user1249 Mar 19 '11 at 19:56
@Thorbjørn Ravn Andersen - Yes. :) It is. These particular customers I originally did work for as a favor to someone I know. At the beginning there were no contracts, but I'm going to be introducing them very soon by the looks of it. – J.T.S. Mar 19 '11 at 19:58
up vote 1 down vote accepted

My answer is Transactional Analysis. See How would you like to be coached?
The answer is to stop the games before they get away from you.


In an interview with Seth Godin on the Difference Between Leadership and Management, Mr. Godin suggests firing those customers who take 80% of your time for 20% of the benefit.

Doing so will allow you to focus 100% of your time on the customers that make a difference.

Is it good for your awesome, amazing customers if you take their call right after getting the life sucked out of you, or is it better for those amazing customers if you're able to give them your full attention.

Every relationship involves a give and take, and business relationships are no different! You also choose your customers just as much as they choose you.

Choosing your customers is a rather idealistic way of looking at the world. Not everyone has that option, and even if they have - it will stll come to someone else, to do the job with the "annoying client". Work is work; no matter the people it still has to be done. – Rook Mar 19 '11 at 9:56
@Rook - I agree, but in this case, the clients don't want to pay, so who needs unprofitable clients? – JeffO Mar 19 '11 at 11:21
@Rook : The idea is that "someone else" might agree with the customer, and not find him annoying. – Bo Persson Mar 19 '11 at 12:58
You could also increase the rate of the "pesky" ones, then they'll either go away, or you'll be happier to do what they ask... – BlackICE Mar 19 '11 at 16:10
@Rook - Sure, but while you're scrambling to make Mr. Unhappy happy, I'll be innovating and growing my business and providing great solutions for all my wonderful customers. In the end, is Mr. Unhappy really going to be there for you when all your other customers leave? As I said in my answer, a good business relationship is give and take. – jmort253 Mar 19 '11 at 18:33

How do you deal with people who never listen, never learn, and want everything for free?

they get moody

Stop the drama. The only way "they get moody" is if you're responding to them being moody.

You're as much to blame as they are because you're part of the drama. Drama requires two actors to be in conflict. You're one of those actors. You're in active, intense conflict with your customer.

If you don't like the drama, you have to take steps to stop the drama.

  1. Recognize when the drama begins and distance yourself. Stop talking. Seriously. When the drama starts, shut up.

  2. Recognize that childish behavior means someone needs to take an adult role. Stop being part of the drama and be the adult. This means teaching and guiding. You can't give orders or make decisions, you can only show them the consequences of their actions.

  3. Write stuff down. If they can't learn from their mistakes and don't listen, it means you're at fault. It's your problem that they're not learning and listening. Write things down. Write everything down. Write it down and show it to them. Then do the work they asked for. When they don't like it, show what you wrote down. It's easy.

  4. Stop the drama. It's just business. They ask for something. You do it. You send them a bill. You don't have to like it. If it's dumb, do it anyway and send them a bill. You're only doing it to make some money. It's not art, it's not a religious calling. It's just work that's safer and cleaner than fishing or forestry.

+1 Could not agree more with 3. I keep a file for every project that has every note related to the client from every meeting, along with a printed copy of every email correspondence with the client. I bring the file to every meeting. Seems like a bit of overkill to some, but it has saved me A LOT of time, money, and even legal trouble in the end. Things can change, but for a price. That way, changes can be welcomed, since they are just more business. Many even bill changes each as a seperate project. Repeat customer! Terrific! – Morgan Herlocker May 18 '11 at 15:12
@Jim G. It sure sounds like @jmort253 is advocating treating the customer well. That means that the OP must act as if the OP is to blame. How the OP responds is the issue. In my experience, a moody customer likes drama and the OP must be enabling that drama. "Give and Take" seems vague to me. Avoid Drama, Be the Adult, Take Notes, Recognize the Context seem more concrete. But amount to the same basic recognition of the situation. – S.Lott May 18 '11 at 15:40

They don't want to pay or they don't pay? Doesn't sound like they are very profitable. You only have so much time and energy; don't waste it.

When their desires have negative consequences, ask them which one they want. If they want both, triple their fee. If they can wish for miracles, so can you.


I have some customers, who expect everything for next to nothing. They also want things to be a certain way, or look a certain way, but when explaining to them why it's not a good idea, and offering suggestions, they don't listen. When things go wrong, they get moody, and demand I do something about it, but when told that it's because they wanted it that way, they don't listen.

The problem is (most often, from my experience) that not everyone knows what they really want. So you need to take a proactive approach, and do sometimes things on your own hand. That example, you mentioned - "they also want things to be a certain way, or look a certain way, but when explaining to them why it's not a good idea ...". Take it like this; first do it their way (note: this doesn't mean you should always do it your way), then do it your way. When meeting with a client, explain the drawbacks of their approach, and the advantages of yours. If a client sees that, the will insist on his/her approach a few more times, after which he'll probably leave the whole thing to you, seeing you are competent and know better.

This is an approach which works remarkably well with most.

-1: First do it their way... - No, this is bad advice. This should be your last resort. // Poor software design is often very expensive. In situations like this, you need to assert your position as the expert. // If you were a surgeon, would you oblige a patient who asked you to refrain from washing your hands before surgery? ;) [Reference borrowed from @Uncle Bob. 'Clean Code'] – Jim G. May 18 '11 at 15:37
@Jim G. - There is a difference between doing it "their way" and doing it "the stupid way". In my experience, this "advice" has served well. – Rook May 21 '11 at 21:49

Some business books say that there is what they call a "bad customer". Bad customers are always demanding and require much effort and they are very hard to satisfy and are always complaining . The advice I read is to encourage them to move their business elsewhere. If you are an employee you may communicate these issues with management and pray they take the right decision.


One of the key things in reducing this situation is to be very clear up front about the cost involved for a certain delivery. This would mean you would need to fully document what exactly they would be getting in the product (very high-level documentation vs. details they wouldn't understand - something like: POS system that has x, y, z functionality). Then tell them this is what you can deliver and it'll cost __. If they ask you to make changes, work with them but also let them know up front that changes may cost more depending on how much work is involved to make the change. Also never start work on a project until you feel fairly comfortable that both you and the customer understand what has been agreed upon to this point. Once you think the plan is developed let the customer know you will begin work and that significant changes made after this point could result in additional costs which will be discussed at the time of the request before the changes are made in the code. This should eliminate the money issue. If they don't like what has been outlined they'll pass and go somewhere else or drop the project.

Keep in mind too that customers unlike programmers don't know what is involved to make a product. Perhaps they had a simple paper system, for example, before they wanted to upgrade. So they automatically assume because they've gotten so used to it that a similar computer system should be equally simple so they can add to it and it should still be simple. Be patient and help them see the work involved as best you can.


How do I handle it? I charge them for it, according to contract.

Here's a great presentation from the guy from Mule Design about getting paid and having a contract.



I have some customers who expect everything for next to nothing.

I like things for next to nothing, and sometimes I actually ask for it. That is what negotiation is. If I went to a car dealership and said "I expect to pay 500 dollars for that car", they would not say "Well ok, I'll sell it for $500, but I'm gonna be pretty upset about only getting that much for it". Respectful haggling is what business is all about! An attempt to get the best deal possible should be expected from any competent consumer. At the same time, anyone selling something is reasonably expected to sell it at the highest price they can bring in. If the consumer cannot get the deal they want, then they can turn it down, but who could blame them for taking such a sweet deal? They get most of your time/energy for next to nothing! At the same time, a seller could not be blamed for walking away from a terrible deal.

At the same time, I have to say that changes are terrific, so long as you are paid for them. If you don't like your 32" TV from Best Buy, you can't return it and get a 50" without paying more, but Best Buy would be more than happy to accomodate you when you pay the difference.


Not the answer you're looking for? Browse other questions tagged or ask your own question.