top | item 2131978

Always pay your web developers

299 points| twapi | 15 years ago |utilitybidder.co.uk | reply

105 comments

order
[+] patio11|15 years ago|reply
As much as I like "Geek wins, hah!", I would suggest not modeling this as a good practice for self-employed folks here. It is 2011: GoogLinkedBookTwitEtc have ensured that you have exactly one professional reputation. You may think future clients will see the righteousness of your actions. Consider whether available evidence suggests that you are a good judge of the character of clients.

Come back to this post in two months if you don't buy this prediction: it is highly likely he doesn't get paid.

There are better ways to avoid nonpayment. Work with better customers - reputation works both ways. Get references if required. For projects of nontrivial length, agree to milestones and bill on successful completion. Delivery of functional code should practically always be a milestone, which would eliminate most of the downside risk here. Charge a premium, both to scare away bad clients and to cover the numerous sources of risk to your ability to pay rent, of which total refusal to pay is only one.

[+] bugsy|15 years ago|reply
Really only a problem for clients that don't intend to pay. I believe it is a very good thing to know if the client has grave worries about what you might do if he refuses to pay. An honest client won't even be thinking of that.

There's a long established legal principle that if you don't pay a workman he can place a lien on your property, which may even result in it being sold at auction. You can also be charged with theft of services, a real crime for which you go to jail.

If your new client is worried he might go to jail should he be committing felonies, that is also a concern.

[+] Confusion|15 years ago|reply

  You may think future clients will see the righteousness of
  your action [..]
And you will be wrong. When this story gets told, a future client will more readily identify with the client in the story, simply by virtue of it also being 'the client'. They will consider how this situation could come about and will come up with all kinds of reasons why someone could reasonably not want to pay you. What happens if your work sucks and you get into a serious disagreement? They would want that to be resolved via the usual ways, without them being harmed by you abusing (nb. their thoughts, it's irrelevant whether they are mine) your powers. All in all, it will mostly rub off in a bad fashion.
[+] alanstorm|15 years ago|reply
All true, but somehow it's comforting to know that this client and this developer deserve each other.
[+] unoti|15 years ago|reply
patio11 is right on the money. The linked site, and the discussions here, are testament to the fact that project management and business management are different skillsets from software development.

It's not fun to make money arrangements with clients that work for both parties, but it's a vital part of running a business. For tech people, it's often neglected, because many of us just want to write code. On the bright side, it's really not that bad or uncomfortable once you become accustomed to it and have successfully navigated those waters a few times. If you are in the business of trading your time for money, then print out the last paragraph of patio11's post and meditate on it before you enter into each business arrangement.

[+] doorhammer|15 years ago|reply
I completely agree with this.

Even if you had the legal right to remove your code, or stall the site, (I have no idea if one would. I assume it depends on contractual obligations) and even if you decided that was your only rational option, it would still be best to handle the matter tactfully.

A future client, even if they agree with your motives, probably won't agree with your self-righteous customer-service methods. That's not the kind of person most people want to deal with. Maybe I'm jaded, but my opinion is that, if your job/contracts require interaction with customers, then part of your pay is to compensate for having to gracefully handle the garbage those customers throw at you. That doesn't mean you just let people abuse you, but it does mean knowing your options, and calmly taking them, or, where you really have no pragmatic recourse, washing your hands and moving on. That's why I hate ever being in a financial position where I absolutely need the current client/contract/job to survive through the next week.

Just my two cents, though.

[+] jasonkester|15 years ago|reply
Anybody who's done any consulting has run into this client before: Things are going great, then for seemingly innocuous reasons, invoices start taking longer to pay. Eventually you find yourself six weeks out and start asking plain questions over the phone. Things rapidly go downhill from there.

The key in situations like this is to always stay professional. Stop working immediately and make it clear that you'll start going again as soon as the check clears, but stick to the high road. The client will turn petty on you, will come up with all sorts of slanderous attacks on you, your work, and your character. That's fine. Let him vent. Then calmly explain once again the concept of "work for hire", and how you're perfectly happy to continue doing work for him, provided he pays his bills.

This may or may not work. On the off chance he pays up, you get to put him on weekly invoices payable immediately on receipt. If it doesn't, chances are you're out a bunch of money. Either way, try to suppress your natural geek sense of vengeance. You're the professional here. Never act otherwise.

Now, as a pro, you do have one option. Since your invoices are itemized and dated, and source control is itemized and dated, you're well within your rights to accurately roll back the deliverable to the state it was in after the last paid bill. Tell the client that you don't want him to pay for any work that he's not 100% satisfied with, and as such you have retracted your invoice as well as the work it covered. You'll keep the associated changes archived in case he wishes to purchase them in the future. You wish him the best of luck going forward and regret that you'll be parting ways.

[+] raganwald|15 years ago|reply
Since your invoices are itemized and dated, and source control is itemized and dated, you're well within your rights to accurately roll back the deliverable to the state it was in after the last paid bill.

Are you qualified to give legal advice? And if so, are you confident that this advice is appropriate for all jurisdictions where someone might be reading this comment?

[+] tzury|15 years ago|reply
I have once ran into a similar situation which the man simply refused to pay the bill (of nearly $20K). I was simply not being able to reach the man on the phone or get a response by mail.

Knowing taking this into the court of justice would take around 3-4 years, I have simply set auto-redirect to random porn sites (picked the top 25 out of Google).

It took about half a day since the man have had his lawyer send me a letter saying something similar to: "we will pay you all what you asked for .... "

I am not sure this was the right thing to do, but I was quite young and enthusiast by then, and I have invested allot of money in that project (hardware and bandwidth contracts - VPS were not invented yet at that time ;-)).

[+] noonespecial|15 years ago|reply
If one insists on this course of action, it might not hurt to throw in a little plausible deniability.

Instead of a landing page throwing your tantrum, have the site mysteriously break and just show a cryptic error message, then just be too busy to fix a problem for a client who hasn't paid anyway. Gently suggest that paying clients come before deadbeats.

When the inevitable legal backlash comes, simply shrug and say you were getting around to it and remind everyone that there might be someone in arrears with a large payment or two. Plus interest. And late fee.

[+] alecco|15 years ago|reply
What for? Just move on. Don't waste more of your life on this. These people shoot themselves in the foot all the time, there's no need to pull a trigger.
[+] iwwr|15 years ago|reply
Sequence of tweets:

anyone got any suggestions what to do when a client wont pay for increased development costs for work you have already completed? 5:01 AM Jan 18th via web

Should I change a bad clients site to a page that says they aint paid me and then change the password? 7:08 PM Jan 20th via Twitter for Android

this is what I am reduced to http://bit.ly/badpayers 8:34 AM Jan 21st via web

Followed by about a dozen identical tweets, until it got picked up by HN.

Note the key section: "when a client won't pay for increased development costs".

[+] cubicle67|15 years ago|reply
my dad (now retired) was an old school sign writer and had this sort of thing (non-paying clients) happen to him on more than one occasion.

One I remember was a shop where he spent a few days signwriting the entire front. Lots of work, most of it up on 14' tressels, and at the end the owner refused to pay. Said he didn't have to, and there was nothing my dad could do about it.

Except there was - dad went back one night with a roller, a long roller pole and a large tin of white paint, and painted the entire shopfront out. Still din't get paid, but it had two effects: one, the owner needed to get the job done again, and two: the next guy hired would be asking some awkward questions, like why did it look like the job had already been done but then painted over...

[+] lehmannro|15 years ago|reply
I guess that caused more trouble for your dad than it did for the shop owner, economically at least. Plus he would probably brag about your dad to other shop owners. (I agree that just doing the job for free is no solution either, but do not have any better retaliation, except for proper contracts and court claims, in mind.)
[+] philiphodgen|15 years ago|reply
As a non-web developer (I'm a lawyer) I learned long ago that there is a financial point at which the balance of power switches from me to the client.

When the client owes me a trivial amount of money I can afford to walk away from the job if I want to. If the client owes me a lot of money, now I am shackled to that client (and the job) because I am chasing my own money.

The key is to never let the client owe you too much. For me this number is about $2,500.

The way I solve this problem is

(1) by getting a substantial amount of money up front; if I get ANY guff from the prospective client when I ask for money, I know how I will be treated for the rest of the project and I may choose to back off at that point.

(2) watch the invoicing very carefully and if they are slow in paying, stop work until they pay. Mr. Pavlov's ideas are in action here: the client is rewarded for slow pay by halting of work with a message "Hey you owe money."

[+] phylofx|15 years ago|reply
According to his website, guy's a Scot and living on a small island in Thailand, Koh Phangan to be precise. Good luck with taking legal action.
[+] fungi|15 years ago|reply
lovely place and cheep

couple of contracts a year paid in pounds/usd/euro/yen and you could sustain a happy life.

visas are a bastard, you need to skip the country every few months to renew your tourist visa.

[+] raynimmo|15 years ago|reply
yeah, legal action really aint an option, not sure about the UK courts either as the contract was signed in Thailand.
[+] callmevlad|15 years ago|reply
This seems very unprofessional and amateurish - on the part of the web developer. Yes, maybe the client didn't pay, but resorting to this type of public lynching will a) kill any remaining chance of compensation/reconciliation and b) probably damage the reputation of the web developers.

I've had my fair share of clients who didn't pay for various reasons. Sometimes, small claims court was in order. Sometimes, having patience and giving a struggling client time (literally almost 5 years) led to a payment in full (plus interest!) completely out of the blue. The guy's business picked up, and now he's still a super happy client.

What goes around comes around.

[+] Isofarro|15 years ago|reply
"This website is in the mail. Coincidentally, the same mail that you, dear customer, used to send the payment cheque. I'm sure it will arrive, any day now."
[+] raynimmo|15 years ago|reply
I thought I had better write an explanation as my actions here seem to have kicked up a bit of a furore, undoubtedly that was my intention, although maybe not on this scale, more of an attempt to embarass them. I am not sure of how much I should go into as I signed an NDA with this client although the contract that it was attached to ended in October; maybe someone with better contract law knowledge than me will know more, either way I will try to be vague.

A little about me: I am a freelance developer, educated as a software engineer in Edinburgh then started leaning towards web development a few years back. We quit Scotland 4 years ago to come and live on a tropical island in Thailand where I could take my time winning small jobs, enough to earn what I needed. Indeed its been quite a successfull last few years, winning many jobs for web development and graphic design, all of my clients have came back for more work. The fact I havent updated my portfolio or blog in over a year is a testament to how busy I have been.

The bare details: I very good friend asked me to help him build a website and a backend system for his staff to use in their day to day business. I quoted a ridiculously low sum of money compared to western standards but a worth that I felt I deserved for the work considering I live in Thailand where the cost of living is less.

The contract was for 6 months initially for a fixed fee split over those 6 months. With regards to the system, which has swollen to quite a full featured product, something I am very proud of, possibly my best piece of work to date, just a shame it wont appear on my portfolio now. The specifications for the sytem over the course of the development had many more additional specifications added to cover internal aspects of the system that were not originally envisaged, obviously not fully taken into account when originally quoted. My contact at the company was good, he understood the pitfalls of custom software development and when I explained to him about why the project has taken longer he understood and we carried on regardless. As I said the contract ended in October, the same month they stopped paying me when they suggested that they wanted to suspend my weekly payments and pay me a lump sum upon completion. I understood their reasons then for doing this and since the project was behind schedule I aggreed to this.

Now I find myself within 2 weeks of delivery of the full system, so I start getting my invoices together for the last 14 weeks of development. I forward them to the client and I am more or less informed that there is no way they are gonna pay that amount. Lesser amounts are then offered, tied to some crazy scheme regarding "support" over an extended period, god knows where the payment for the "support" period was coming from.

In the end it was a stalemate, I felt I deserved my meagre salary, it will cost them a lot more for a UK dev to finish this where their daily wage is more than my weekly wage, so I always thought I would win through. This is actually their second attempt at building this piece of software, the first one was a non-event with an indian company.

The company even flew one of their guys out here to help me finish off the system - my friend, the guy whose idea this all was, he wrote the 'spec' for the software. He has tried to get the UK bosses to agree to this and that but they wont budge, I feel there is apower struggle within the conpany but I wont go into that as it is pure speculation. In an attempt to help them understand software development, that sometimes you dont know all of the variables until you start, etc, etc, I forwarded a number of websites and blogs that had interesting articles regarding the development process and reasons for their failure or late delivery, I was told it was pointless sending them as they wouldnt read them as they dont care. One of them was even supposed to have said "why do we need a website?" , now how am I supposed to convince this guy about the trials and tribulations of building a customised piece of software.

So yeah, talks broke down, I felt pissed off, I then sent archives of updated files for the system to my contact, not really updates but resetting the systems development back to where it was when they last paid me over 3 months ago. I then done the same on the server system that their staff were helping bug test. I then; foolishly now I think, put their site into maintenance mode and switched the maintenance page to say "You aint paid me, you suck". The site structure that was there is still there, if somewhat unfinished, all I changed was the maintenance page; I am sure any Drupal developer knows how easy that is to switch off. I also added an extra variable with encoded content onto the $closure that would display if they managed to get it out of maintenance mode. Encoded it just to make it that bit harder to find and remove :)

I do regret doing this, not because of my actions, but as I said before, the guy whose idea this was is a friend, he is a third of the board, it was the other two thirds that swayed the vote though, and I feel bad for him. I know I am not getting paid, my money is long gone, I wouldnt have done this if there was a chance of reconcilliation, I have known that for the last few days, they wont agree to my demands and I wont agree to theirs - stuck in the middle.

I have now changed the offline message to simply say "You aint paid me" and have removed the encoded $closure and I dont intimate that "they suck" anymore, its amazing what the harsh light of day makes you see.

I see a lot of flamers and haters out there, no doubt a few of you will come back on and berate me for doing this, as I said, my actions were harsh and misguided, but if a client bumps me in the future I would probably do it again.

As a developer you learn something new every day, be it a sweet bit of javascript or some cutting CSS technique, this project taught me lots over its course. The biggest lesson I take from this though is how to handle clients that become problematic, how to word contracts to cover all eventualities during development and that rash actions are usually regretted in the harsh light of day.

So yeah, thats my 2 cents worth.

What would you have done, I would love to hear what actions others would have taken.

[+] dusing|15 years ago|reply
It doesn't sound like you put a price (both in added time and money) on the additional out of scope features. So instead it looks like your super late, and want more money. Not a good place to be with a "why do we need a website" client.
[+] halostatue|15 years ago|reply
My biggest worry is that the ignorant individuals could call this "hacking" and initiate proceedings that could make your life very difficult. More to the point, England has shown itself to have some really stupid "hacking" prosecutions in the last decade. I would make sure you haven't opened yourself for such charges.

As it stands, I would not have started the additional work in October without further contract and payment schedules agreed to. If I had not done that, I would have been sending invoices all along and stopped work a lot sooner than 14 weeks.

[+] zeemonkee|15 years ago|reply
As you are not in the UK, the situation is a little more unusual. Otherwise, I'd file a claim with the Small Claims Court (assuming its within their max amount). Keep all emails, letters, log of commits and so forth.

Here's some advice to start with:

http://www.thisismoney.co.uk/bargains-and-rip-offs/article.h...

There are also collection agencies that can enforce the ruling.

For larger amounts, it's probably worth going to a lawyer.

Generally a company unless it has severe financial issues may just want to prevent the hassle of going to court, and just pay you what you are owed once the threat of legal action arises.

There is no damage to your reputation for taking a client to court for non-payment. Small businesses have to do this all the time.

However I would NEVER take down any sites, intentionally sabotage software etc. as that may make you liable under law. And, as others have pointed out here, there are two sides to the story, and a court gets to hear both sides.

[+] exit|15 years ago|reply
they do suck. you should have left all of that up. you should wipe their server harddrives while you're at it.
[+] muppetman|15 years ago|reply
He's pretty bitter!

He also changed the footer of the main site!

It's a Drupal site, so you can get an idea of what it looks like non-offline by going here: http://utilitybidder.co.uk/user/

[+] Luyt|15 years ago|reply
And that page has another footer: "we ripped off our web developer for this site and never paid him for work he done, if we knew where he put this bit of code then we would remove it, but we cant find it, we suck. maybe its better you just go to Uswitch" http://www.uswitch.com/

This is encoded in the web page as 'we ripped...'

[+] dusing|15 years ago|reply
My company deals with university sports teams, so often this is a state institution paying us. Most invoices are paid net 60-90 despite the terms in whey contract being net 30 + fees after. Occasionally and predictably we have clients in the net 120 or worse camp. There is no dilute about the work or the billing, just the finance office not doing their job, not getting the correct POs etc... We have one Job right now we did in august and have not been paid for despite having a PO to start. Did I mention this is the third year we have done similar work for them?

If we did something like this we'd be out of business. At large companies the person you sell to is not the person who pays you and creates all kinds of problems. All you can do is work the system and try to plan for it in your pricing. We just give less discounts and charge more for the hassle up front. Puts a hurting on the cash-flow though. We never not been paid.

[+] qlewty|15 years ago|reply
You may wonder why this site is offline, if you are reading the source then you are most probably a web developer that has been paid to change this.

					I put this here as the company in question broke our contract and left payments outstanding, 
					as a last resort I put their site offline, what else could I do.
					
					Make sure you are paid up front, even if you have a contract, they aint worth shit.
-- Source code comment, haha.
[+] ndl|15 years ago|reply
I'm still not sure why I upvoted this. I think because it was surprising - high entropy. I'm not sure if I consider this "right," but you have definitely made waves.
[+] westbywest|15 years ago|reply
It would be kinda funny if this were all actually a viral advertisement for USwitch.
[+] guynamedloren|15 years ago|reply
That's brilliant. I didn't catch it at first, but then I returned to the page and read the copy and it's very, very clever.
[+] vog|15 years ago|reply
In how far is this action "clever"? It isn't even original.

As far as I know, it is a common fear among small companies that some unhappy third parties like unhappy web designers misuse their server credentials to get up to nonsense.

The web designer intended to demolish the reputation of the company. (Who wants to work with a company that doesn't pay the bills?)

However, if the web designer becomes publicly known, it might be a much greater damage to him. Who wants to work with a web designer who has proven to deal with payment issues in a totally unprofessional way, and who has proven to be somewhat proud of misusing trust?

[+] cafebabe|15 years ago|reply
By looking at the guys "recent work" and his blog, I tend to understand the behavior of his client...
[+] Luyt|15 years ago|reply
Maybe he's getting his 235th visum? ;-)