Hacker News new | past | comments | ask | show | jobs | submit login
Some clients are evil and their work is toxic (hossgifford.com)
144 points by j4mie on Oct 8, 2010 | hide | past | favorite | 56 comments



Wanting it fast, good, and cheap is also a red flag for lots of other little bonuses, such as:

  - You will constantly wait for them to make a decision.
  - It will be your fault they took so long to make a decision.
  - They will have emergencies of their own making.
  - It will be your fault they have emergencies.
  - They will commit to little or nothing on paper.
  - It's not their fault because they never committed to that.
  - You think you have specs; they think you're prototyping, so...
  - You will do much work 2 or 3 times.
  - They will constantly change priorities.
  - They will forget they changed priorities, so...
  - They will complain when a lower priority isn't done.
  - You won't get paid on time.
  - You will spend lots of time trying to get paid.
  - They will always find some excuse to not pay.
  - You may never get paid.
  - If it's good, it's because they thought of it.
  - If it's bad, it's because you suck.
  - You can't win.
Honestly, I wish we could tattoo these people to save the next developer all the heartache. Listen to OP; as soon as you realize they want it fast, good, and cheap, run the other way.


When you're dealing with anyone outside the Fortune 10,000, money is still not something that is just thrown around willy nilly. So, in the grand scheme of things, --everyone-- wants it fast, good and cheap, if it's possible.

If you can educate your prospect on why it's not possible, they'll usually come around and even be reasonable about things.

So I would say if the prospect wants it fast, good and cheap, and it smells like they're going to be clueless dicks about it, then run the other way.

With respect to many of the bullet points above, I would also say that you have to vet your prospects just as much as they are vetting you, and protect yourself with a contract that isn't heavily in favor of the customer (i.e., you're entitled to stop work if you're not paid on time, that you have an exit clause, etc., etc.) More often than not, you also have to put your bad cop hat on and manage the customer. I've seen so many projects fail because the Account Manager or PM was too scared to say anything to control the scope of the project.


You're correct, but you're missing the point that many clients interests are not aligned with either yours or even their organizations. When someone refuses to commit to decisions in writing, even in an email, then you are a pawn in some game they are playing. You're being set up to fail and to be scapegoated because they believe that this will advance them in the organization quicker than you succeeding (e.g. the project's sponsor is a rival of theirs). That is why they are best described as toxic.


I would agree. Client interests are rarely aligned with yours.

If the economic relationship, however, between you and the client is genuinely fair (i.e., they need you as much as you need them) then you're actually in a position to push back and get balanced results.

I tend to find that most services companies are more obsessed with the 'close' than they are with making sure the relationship is going to work (i.e., vetting them, asking tough questions back) before signing on the dotted line. You also have to acknowledge that a high percentage of those who take on toxic clients and projects did it to themselves.


> "If you can educate your prospect on why it's not possible, they'll usually come around and even be reasonable about things."

You're assuming they don't already know. I wouldn't lump the ignorant in with the Toxic, Evil bastards discussed in the article. They know full well what they're asking for. And what they're really shopping for, is someone desperate enough to take the work, because that will mean they have them by the short-and-curlies and can continue to take advantage of the relationship.


With the toxic projects I've been on, the clients have been naive and greedy, but have also yielded when we pushed back because they knew there was real scarcity in the labor force for the enterprise software that we deployed.

I'm sure that if I was dealing with a more commoditized service offering in a buyer's market the case may have been very different.


I've found that the best thing to do with these people is send them offshore. Let them see what cheap, "fast" work looks like. Let them have all their preconceptions shattered, and their sense of what it takes to build software modified towards reality. Let them get all the frustration out of their system until they're ready for you to show them what good, genuinely fast work looks like.

The quickest way to accomplish this is to tell them your rate upfront. They'll go "ouch", at which point you can gently point them towards rentacoder, safe in the knowledge that they'll be back in 6 months time with a bit of perspective and a willingness to pay your extortionate rate so long as you promise never to put them through anything like what they just suffered ever again.


I think smart offshoring can be a good idea. If they want the stuff for 1/10th price than they will not get quality. But if they want the stuff for half price they in fact can have at least as good qualty if not better. You can find the top talent here in Eastern Europe for half of the salary usual in the U.S. I know this, because I've already worked in the 'West' doing absolutely the same work for much more money than I can earn here. Honestly the real bottleneck of (smart) offshoring is communication. If communication is solved then it can work well.


If communication is solved then it can work well.

That's a big if. For most projects, the work is not that difficult in a technical sense. The hard parts are accurate communication and managing change over time. IMO these factors are much more likely to cause project failure than some pure technical hurdle.


I agree wholeheartedly, but also agree with jsankey's comment that "If communication is solved then it can work well" is a really, really, really big "if". It is absolutely possible to get good results from offshoring...

...however, getting those good results takes a serious commitment of time and effort on the part of the client, some of which has to happen before the project even gets started, and some of which has to continue throughout the project's lifespan. Ensuring that they (the client) actually know what they want before trying to tell somebody else what to build; establishing good communication, documentation, and development practices within their own organization before trying to collaborate with extramural contractors; spending the time and the energy to really dig into it with the providers, and keep them on the phone until you're 100% sure that both you and they are reading from the same page about what needs to be done, no matter how confusing their accents are to you (or yours are to them). These sorts of things are absolute prerequisites for a successful offshoring experience, especially if it's the first time that the client's tried it.

In my personal experience, the sorts of people who are turning to offshoring as a way to "triangle the circle" and get good+fast+cheap are not the sorts of people who are going to be willing or able to put the necessary time and thought into the project, its planning, or its management. These jokers are a big part of why offshoring gets such a bad rap, in my opinion. Of course, none of this is to say that the burden rests entirely on the clients- the providers, and the relative quality of their communication/management/etc. practices obviously have a ton of influence on how a given project turns out (or doesn't turn out, as the case may be).

However, I say that decent planning and project management practices on the part of the client are absolutely necessary (but not sufficient conditions) for a successful offshoring experience. When I hear offshoring horror stories, the majority of the time the problems had their roots in client-side troubles rather than provider-side troubles.


Yes. That's the same bottleneck you have for working from home, or from the beach. It's what keeps us in the offices.


Yeah I still don't know if people have realized that offshoring can easily cost more and take longer than having locals do the work.

The projects that I've been on that had offshore resourcing struck me as slower and more difficult to work on. There are only so many times that I can ask someone to repeat themselves on a conference call because his/her accent is too thick for me to understand.


I've seen some offshoring went well and some which went not so well. Common mistakes are:

Some western companies want to do it ridiculously cheap. To hire really good programmers in Eastern Europe you need to offer bigger than market salaries (which are still lower than western salaries).

The other problem is, even if they hire good people they outsource the most boring jobs, because western programmers keep the interesting stuff for themselvs. The result in this case: Phd-s doing the user interface programming in Eastern Europe. The server is developed in the U.S.

Political stuff: western guys don't want their eastern colleagues succeed. I can understand why: they are afraid that their jobs will be taken.

And sometimes communication is hard to do right. In fact depends on the project. I think it is better to outsource highly self-contained tasks which do not need an exteremely high amount of interactive communication.


I was with you right up until you said "they are afraid that their jobs will be taken." I realize the plural of anecdote is not data, but from my experience, far and away the most common frustrations Western developers have with offshore outfits is the language gap, and quality of work.

I've never seen anyone afraid that another outfit would take their job-- after all, who would fix the code they got back from offshore? :)


In my experience (last 5 years in MegaCorporations) the problem is that the people who are actually hands-on managing the offshoring projects are different from those who make the decisions. The guys who decide to offshore are usually at least 2-3 layers of management above.

The urge to offshore software development at that level is strong, and the management sees it as a megatrend which "we'll have to follow because everyone else is doing it".

The feedback loop is broken, the decision maker who offshores a certain project is no longer there when a couple of years later it's clear that the whole thing was a disaster. He's busy offshoring some other project.


If you're a big shot exec, you might go to silicon valley and see these highly talented and ambitious Indians and say "I gotta get me some of those".

But the sort of Indian you find in Silicon Valley (or more generally, the sort of person from country X you find working in another country) is generally not representative of the average worker where they come from. As far as Indians go, there are the cream of the crop who can work anywhere, and you never see them on the open job market. There are the regular Joes like you and me who generally work for Indian companies in India, you only see them in the West when they're on holiday. Then there are "the rest" and those are the ones who do outsourcing gigs.


Those guys at the top also tend to be the ones who think Agile methodologies will solve their problems without checking to see if their existing culture is conducive to that work approach.


Hey now, you just gotta slam that Agile sticker on your devs, mix it with lots of Scrum and voilà you got yourself the perfect coders!


I once made the mistake to work as contractor (Ruby) for a company that fits in the article's description. The customer was unable to deliver me input for serveral months but begged me to sit in their office all day. Just sit there and do some research (no kidding). Then around 6 weeks prior the launch date (which was not communicated to me upfront) the hurry started and it was totally rediculous: No specs, no clue, no decision making. I spent 4 weeks (including weekends) working ~10 hours (+1.5h commuting) per day to fix the sh*it as far as I could so that we had something to launch. Code quality was horrible of course.

I felt totally burned out after the launch and there was not even a big financial neither emotional reward in doing this exhausting mess to save my customer's back from his angry client. Three days before my contract ended, the general manager had a conversation with me in his shiny office. He told me, that they wanted to extend the contract for 6 months (~60.000€).

I answered: Thank you, but not under this circumstances.

Best decision for my physical and mental health in the last 5 years. If you've a choice: DONT DO IT.

Life is simply too short do work for such types of (in the end) losing companies and ruin yourself.


Did you give the general manager a feedback like this in the end, or did you think it more prudent to keep your cards closer to your chest?


I gave (naive) feedback how they should improve their work with their customers, improve hiring people, make sure employees are motivated and whatever.

The general manager even told me that most things I said were true but he's not able to change it. As the company is inside a large publishing group and they've some large portal sites running, they're quite job-save for the next 5 years I guess.


I had a full time job like this (but Ruby on Rails). I lasted about three months before I gave up. I fled when I realized I would never be able to change the way they did things.


same thing here.

I'm probably caring too much telling Z-Players how to improve rather to improve myself to get a A+ player. As I love programming and this is my biggest "hobby" since school I can't really do mediocre work for a longer period.

Well, 3months is okay but everything that takes longer makes me emotional sad. The only option I know is to leave for other work.


Interesting article but the title is a little misleading.

Before I clicked, I thought they were talking about doing work for cigarette or oil companies. I worked at a company that was pitching services to a cigarette company, and --nobody-- involved felt good about doing the pitch.

But back to the point, one of the speakers at the Business of Software series once said "When someone tells you the work you do is easy, they probably have no idea what they're talking about". Being in services, I think there's at least one person at every client who thinks that everything I do is overpriced and easy.

You can't blame clients for wanting to get the 'most for the least' from their vendors. Interesting that they know they're not capable of doing it themselves to hire a vendor. Yet after that decision, they don't seem to know enough to not disrespect the work you do.


I agree. High client expectations are hardly evil.

Without a patron, everyone competes on fast, good, and cheap. It drives efficiency and innovation, e.g. Google.

The responses to clients with unrealistic goals is the same as to those with practical ones -- find out the "why?" and provide a detailed proposal with realistic terms.

If your proposal is rejected,being indignant is counterproductive. It's just business.


Actually I would argue the market winners tend to be at the opposite ends of the spectrum. The best (arguably the most expensive) and the cheapest generally have the easiest time.

Everyone in the middle is fighting for the rest of the market, which, as the Jersey Shore boys put it, is full of grenades.


As an IT Director I apologize and here's why:

I will outsource anything that the stakeholders are being unreasonable about. Specifically to show what an "easy/quick" project will cost. I won't throw you to the wolves but there are many IT people that will.

So always protect yourself, even from the in house technical staff. Yes they'll understand the challenges you face, sometimes all too well.


While we've all come across these kinds of clients and it is probably in our best interest not to become involved in a working relationship with these clients, I disagree with his classification of them being 'evil' and 'douchebags'. I've found that many of these individuals are just naive to the effort involved in taking their (website|product|application|widget) from an idea to a tangible working product. They are able to envision 'something' in their minds, and because they are able to do that they consider the job at least partially done. Many of them have never done our jobs, and even those that have probably fall at the long tail end of the hockey stick and can't appreciate the difference between someone that learned HTML in 24 hours and someone who can create a design that creates value to their product (same goes for us backend folks).

If someone says to me 'I'd like to build X, and my budget is Y, and my timeline is Z' and they're not completely obnoxious in their approach, it's not very difficult to have a conversation with this individual, ask a few questions, and get a better understanding of what 'X' really is and how 'Z' came to be (assuming Y is either non-negotiable or you don't have the experience to know what you're worth). You might find that this individual isn't even aware that a product (yes I'm mostly talking web properties here) can be broken down into pieces to fit into a continuous timeline, where those smaller pieces are easier to manage and deliver on.

With all this in mind, I've avoided doing consultancy work for the better part of the past 6 years because I got worn out at the time of dealing with what the OP had described about. After 6 years, I have learned a lot more about myself and have acquired soft skills that I didn't have before (and learned from a great PM). Those 6 years have also helped me realize that humility, when used properly, can help distinguish between the arrogant and the naive client.


And the naivety works the other way, too. I had a friend who organized big company events, setting up sound systems, light, hiring catering, and musicians, getting an ice castle for the lobby, such things.

Clients had absolutely no ability to gauge what stuff should cost. So the company overcharged heavily on a lot of technical stuff (like renting out lights or speakers), but could offer a supreme service. (One other `trick' was to make sure that their hired hands always wore suits, did not smoke, and looked respectable in general. They hired the same students as anybody else, but could charge much more for their work.)


Without a doubt your 'appearance' can go a long way towards dictating your rate. Your appearance can be comprised of:

- How you dress - The language you use - The presentation of your proposal - Once you have the gig, the manner in which you conduct business

It's no secret that if you want to charge more than your competitors, one of the best ways to do so is to build an image that compliments that idea.


Yes. And the clients where happy with them, because they also went the extra mile and gave top-notch service for the whole event (and not only dumping some equipment on them) --- but they charged a top-notch price, too.

(And on of they ways to charge the high price was not too charge a high price only for the staff that really matters and costs, but may not be visible to the client beforehand---but they charged a lot for the stuff where the naive client can _imagine_ that it's expensive. If they did not offer the high quality in the rest of what they did, this would have been a rip-off, but it turned to be more of a cross-subsidy. (And since they only sell packages anyway, it does not really matter, how the invoice explains the high fees.))


And he didn't even go into mentioning that these people that want fast, good & cheap are experts sneakscope ops, it's totally right to pull out or severly limit the deliverables.


experts sneakscope ops

What does this mean?


"Scope creep" - adding more and more work.


Yep also was a little typo, I meant "expert sneakscope ops" not experts. My bad.


I have to ask, do you really use phrases like "nurturing ecosystem where all parties benefit and grow from their relationship" with your clients? Are you referring to their relationship to their customers, or your relationship to the client?

'Fast', 'good', and 'cheap' are all subjective terms. Each one works against the other two, for sure. That's a fact that your client will have to discover. I completely agree with the suggestions in other comments to prompt your client to use offshore talent -- then they'll truly learn that Fast+Cheap != Good.

I've worked with these kinds of clients, and their opposite: large, established financial institutions who insist on working with 'Big Name' consulting firms: IBM, Accenture, etc. These firms make projects that would be 6 months of interesting effort into 2 or 3 year-long efforts, costing multi-millions, with a ratio of documentation/artifact to useful code being about 5:1. In the end, the deliverable is generally of mediocre quality. Great software does not come from financial institutions, nor from those operating on the fast and cheap. You won't change that reality, and I think you'd grow weary trying to do so.

I'll warn you now: 90%+ of your clients will be some combination of the above -- mostly the fast/cheap type. You'll learn, over time, how to work these kinds of gigs. Think of your bottom-line (money, experience) gain. Don't look to your client to fulfill your career goals -- 'tis not their role. Apply your own sense of 'fast' and 'good', and remind your client that your expectations are to be paid in-full and on-time, every time.

...and keep looking for that next gig.


It sounds to me that he doesn't see this from the toxic client's point of view, and is at risk of passing up work that he views as toxic, but really isn't.

We just had a quote in for some mailshot work for us that looked awfully highly priced for what it was as everything on the quote had things that we could do ourselves with mailchimp, but the key thing that we would've relied upon for them to do that we couldn't do ourselves (mailshot template design, modifying the content to maximise attention) wasn't even mentioned on the quote.

When bidding, it's sometimes easier to justify your prices by highlighting the value in the things your potential customer can't do, rather than the stuff they can and try to do it cheaper than their internal guys. There are toxic clients out there and they should be avoided, but sometimes cheap, good and fast means cheap enough, good enough, fast enough and (most importantly) takes care of my pain.


However accurate this post is, it represents something I don't understand at all. How often do we see posted here a rant about how terrible it is to deal with some clients. That in and of itself is not bad. A venting space is necessary. That said, I don't care how good you are, if I was a prospective client who a) was savvy b) had heard of you c) read your personal blog which you maintain as part of your professional profile... I would personally not be excited about doing business with someone who called a business opportunity a douche bag (/prick). I know that "hacker culture" prides itself to a certain degree on counter-culturalism, but isn't there a place for class any more?


I'm not sure I understand. Is it the language that offends you, or the venting about a client? Because you already said the latter is "not bad" and "necessary." But getting that upset that somebody uses very mildly offensive swear words in an informal, personal setting seems a bit petty and kind of juvenile, certainly not something I would expect from most adults. I don't know, maybe the words "douche" and "prick" are more severe in some places than in my neck of the woods? Because over here, they're roughly on par with "jerk."


No matter how classy you are, there are some people for whom there is no other description as well-suited as "giant, flaming douche." Good writers avoid cursing when adjectives will do—but great writers know when to pull the rare curse back out as an extreme, jarring intensifier.


what the fuck is class?


Larry Niven said there are two bumps in a writer's career:

- In the beginning, a writer should accept all work he can get, because he needs to develop his skills, and any work will do that, regardless of how well paying etc.

- But then the writer needs to learn to turn down bad work - that's the first bump.

- And later, he needs to learn to turn down good work, because there's a limit to how much you can handle - that's the second bump.

The submission here is talking about the first bump. It's not necessarily right for everyone, at every stage; though of course it's good advice and worth knowing about (btw: I always interpret the "fast" as meaning performant - ie. fast software not fast development - but the latter makes more sense for work in general.)

Note that most writers have a day job (or are independently wealthy, as Niven was - for a year), so it doesn't apply to a professional full-time contractor... but it may apply to you if you are a student, hobbiest or moon-lighting contractor.


I wish I could upvote this multiple times; the article is spot on.


Why not set a minimum price per hour, and if the customer can't afford you, then say good-bye with no hard feelings?

He is not evil and toxic, he just needs someone cheaper and may need to adjust his definition of "good" and "fast" accordingly.

There are good reasons to take work for less than your normal fee. I do it to learn sexy new technologies I would not have access to otherwise. (i.e. if you have Exadata and need a cheap, good and fast DBA send me and email!) As long as you know what you are getting out of the deal, all is good.

Calling someone a douche-bag, evil and poison because he asked for reduced rate? Giving a condescending rant about it? I don't think its professional and I'd never treat potential customers like this, even if I disagree with their way of doing business.


Let's just slow down a minute.

Any manager who doesn't want work done fast, good and cheap is a bad manager. Fast, good and cheap are all good things and something that everyone involved should strive for on all projects.

You can't have them all in the real world, of course. And good managers will be realistic - I think that's what this article is saying. But even given that you have to trade off some of these points doesn't still mean you don't want it as fast, cheap or good as possible given the constraints.

Even if you decide to sacrifice "cheap", for example, there's nothing wrong about negotiation to still get the best rate possible.


Actually no competent manager thinks in terms of "cheap" but in terms of ROI.


Indeed. Something is not 'cheap' or 'expensive'; it's worth the money, or not.


"Cheap" implies "high ROI".


No it only implies low initial cost.


The best thing to do to avoid crap like this is charge a decent hourly rate and don't let the clock run too long before you get your first check. They will not waste your time.


It depends on the situation.

Oftentimes the people you're working with don't know how much you're being paid (their superiors don't talk to them about how much you're paid because they're afraid members of their team will just want to leave because they think they're underpaid). Those people will still waste your time.

At the end of the billing period, you'll be asked to shave hours because you didn't notify someone higher up that your time was being wasted.


I accepted a job at a company where, during the interview, one of the interviewers said "we are looking for someone who can do work fast, good and cheap and we don't want any excuses."

I was thinking of bringing up the point that it is impossible to get all three but didn't and accepted the job.

What a big mistake. I ended up leaving half a year later although it was a good experience learning the types of people I don't want to work with.


I've always lived by this - http://magazine.creativecow.net/article/clients-or-grinders-... - which says much the same thing.


Off-topic: I like the look of that page.


Am I the only one who finds those left-side magazine-style quotes from the article distracting? I don't think they add anything to the article.


I like the format, but agree it could have been done better in this particular case.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: