Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I do contract development on the side. You could say that I'm a contract developer? Considering I've only ever had one client I'd say that's not exactly the truth - more like I took a side job and needed some extra cash. It started out as a "rebuild our website and we'll pay you $10k" type project. Once that was complete (a bit over schedule, but certainly not over budget), the company hired me on as a "long term support" contractor. The contract is to go from March of this year, expiring on December 31st of this year - 10 months. Over which a payment is to be paid on the 30th of each month for a set amount.

I've been fulfilling my end of the contract on all points - doing server maintenence, application and database changes, doing huge rush changes and pretty much just going above and beyond. Currently I'm in the middle of development of an iPhone mobile application (PhoneGap based) which is nearing completion (probably 3-4 weeks from submission).

It has not been all peaches and flowers though. Each and every month when my paycheck comes due, there always seems to be an issue of sorts. These issues did not occur during the initial project, only during the support contract. The actual contract states that my check should be mailed out on the 30th of the month. I have received my check on time approximately once (on time being about 2-3 days within the 30th). I've received my paycheck as late as the 15th of the next month - over two weeks late. I've put up with it because I need the paycheck. There have been promises and promises of "we'll send it out on time next time! I promise" - only to receive it just as late the next month. When I ask about payment they give me a vibe like "why are you only worried about money?" - unfortunately I don't have the luxury of not worrying about money. The last straw was with my August payment, which should have been mailed on August 30th. I received it on September 12th. The reason for the delay? "USPS is delaying it man! we sent it out on the 1st!" is the reason I got. When I finally got the check in the mail, the postage on the envelope was marked September 10th - the date it was run through the postage machine. I've been outright lied to, at this point.

I carry on working, because again - I need a paycheck. I orchestrated the move of our application to a new server, developed a bunch of new changes and continued work on the iPhone app. All told I probably went over my hourly allotment (I'm paid for 40 hours a month, I probably put in at least 50). On Saturday, the 1st, I gave the main contact at the company (a company of 3, by the way - this is not some big corporation) a ring and filled him in on the status of my work for the past two weeks. Unusually I hadn't heard from him since the middle of September. His response was "oh... well, that is nice and uh.. good job. well, we've been talking within the company about things and we've certainly got some decisions ahead of us..." - not verbatim but you get the idea (I hope?). I got out of this conversation that the site is not doing very well (which it's not) and they're considering pulling the plug.

Crap, this contract is going to end early - there goes Christmas! Fine, that's alright, no problem. I'll get paid for the last months work and call it a day. Unfortunately I still haven't gotten last months check, and I'm getting dicked around now. "Oh.. we had problems transferring funds, we'll try and mail it out tomorrow" and "I left a VM with the finance guy, but I can't get ahold of him". So I'm getting the feeling I'm not getting paid for all the work I put in for September. This is obviously breach of contract, and I am pissed.

Thinking irrationally, I considered changing all their passwords and holding their stuff hostage. Before I think it through (by the way, I am NOT going to do this, realized it would probably get me in trouble), I go and try some passwords for our various accounts.

Google Apps? Oh, I'm no longer administrator here. Godaddy? Whoops, invalid password. Disqus? Nope, invalid password here too. Google Adsense / Analytics? Invalid password. Dedicated server account manager? Invalid password.

Now, I have the servers root password - I just built the box last week and haven't had a chance to send the guy the root password. Wasn't in a rush, I manage the server and they never touch it. Now all of a sudden all the passwords except this one are changed; the writing is on the wall - I am out. Here's the conundrum.

I have the root password, they do not. If I give them this password all the leverage I have is gone, out the door and out of my hands. During this argument of why am I not getting paid the guy sends me an email saying "oh by the way, what's the root username and password to the server?". Considering he knows absolutely nothing, I gave him an "admin" account which really has almost no rights. I still have exclusive access to the server, I just don't know where to go.

  • I can hold their data hostage, but I'm almost positive this is the wrong thing to do. I'd consider it blackmail, regardless of whether or not I have gotten paid yet.

  • I can "break" something on the server and give them the whole "well, if you were paying me I could fix it!" spiel. This works from a "well he's not holding their stuff hostage" point of view, but what stops them from hiring some one else to just fix the issue at hand? For all I know the guys nephew is a "l33t hax0r" and can figure it out for free.

  • I can give in, document as much as I can and take him to small claims court. This is breach of contract, I'm not getting paid. I have a case, right?

  • ????

Does anyone have any experience in this? What can I do? What are my options? I'm broke, I can't afford a lawyer and I can barely afford not getting this paycheck. My wife doesn't work (I work two jobs so she doesn't have to work - we have a 1 year old) and is already looking at getting a part time job to cover the bills. Long term we'll be fine, but this has pissed me off beyond belief!

Help me out, I'm about to get screwed.

share|improve this question

migrated from stackoverflow.com Oct 5 '11 at 3:01

This question came from our site for professional and enthusiast programmers.

closed as off topic by GrandmasterB, Jon Hopkins, Caleb, Walter, ChrisF Oct 5 '11 at 12:36

Questions on Programmers Stack Exchange are expected to relate to software development within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the question.

23  
-1 for being far too long and specific to your exact situation. I'd suggest that you edit extensively and try to make into a question of more general interest. –  Charles E. Grant Oct 5 '11 at 3:29
5  
Not really an answer, but maybe for your next project, please be sure to add in your contract : "any late of payment will result in penalty of xxx dollars..." For some people, money talks. –  Rudy Oct 5 '11 at 3:56
5  
-1 : tl;dr. –  Binary Worrier Oct 5 '11 at 7:38
5  
The question would be improved greatly by summing up the first two-thirds of your spiel with just 3 or 4 sentences. –  jhocking Oct 5 '11 at 7:58
26  
+1 in compensation for all the lazy people downvoting solely because their attention span is too short. No comment on actual quality. –  Scott Oct 5 '11 at 8:05
show 7 more comments

14 Answers

Find a lawyer. Go with his advice over ours.

If the amount you're out isn't worth hiring a lawyer, let it go and chalk it up to experience. Do NOT do anything from your side that would make you look bad in court or open you up to a countersuit. Hold up your end of the agreement completely. You may want to contact them and ask them why you're suddenly unable to do the work you've been contracted for. Keep all correspondence and try to get them to put things in writing so you have it for the lawyer.

share|improve this answer
add comment

If they are breaking a contract isn't that a legal issue? Holding out on a root password would then not be your ammo, contract law would be your ammo.

share|improve this answer
add comment

Hey look I've found myself on the internet.

In my opinion and in situations like this - the key point is keep integrity.

Give them the root password when they request it, keep mailing or emailing at least once a week about any overdue accounts or termination fees - they'll either give up and pay, or simply ignore it.

It's not good to let things like this get in the way with moving forward - so when it comes to legal action (if the amount is less than say, something you "can" be without (not that you want to be without it)) leave it alone - move on - profit.

Stress from people not paying, or not paying on time is probably one of the biggest gripes about self-contracting. I know it is for me, and as such, I now charge in advance before I commence work. I do miss out on work because of this, but at least I have my sanity.

I'm a developer - as are you - not an accounts collector. Do what you do best and find another client (or two or three).

share|improve this answer
add comment

I suspect this question will probably be closed soon. But I suggest that you walk away and find yourself another contract job. Really it sounds like the relationship is irreparable. If they ask for the password just give it to them, and act professionally. More than likely they will have some issues going forward and will need to contact you, if they haven't paid you the money they owe, then you can decline to help them. If they want to use your services again, you can mention the problems with late payment and ask them for a bond or similar upfront. Repeated late payments implies cash flow problems.

share|improve this answer
add comment

Why is everyone suggesting you give them the login? I'd consider that work. Which isn't being paid anymore. If you can prove what work you did since you last got paid, remove it, and never speak to them about anything other than money. When/if that's resolved, you can resume working for them, if you wish, including giving them the password.

share|improve this answer
4  
+1 If you built the server during the time you've not been paid for (and it seems you did) I think you probably can link the payment of your invoice to the release of the work that you've done for them since the last paycheck. Sounds like the company's going broke so look for other work. When I was in a vaguely similar situation I presented my timesheet to the Finance director & he wrote the cheque for me (helped that I sat a few seats away - one advantage of the small company). –  mcottle Oct 5 '11 at 4:53
5  
I would be very careful about that. IANAL, yadda yadda, but the contact obliges the OP to do some work and the customer to pay the OP. Here is the catch: The fact that the customer is not keeping his part of the bargain does not mean that the OP can skip out on his part! –  Treb Oct 5 '11 at 7:50
1  
@Treb, IANAL either, but I think that breach of contract by one party may remove the contractual obligations of the other parties (since the contract is no longer in force). In either case, a small business will likely be averse to taking legal action where a cheaper alternative is available, ie. paying kagaku his damn money! –  Mark Bannister Oct 5 '11 at 9:44
2  
I'd consult a lawyer before sending them the password. –  David Thornley Oct 5 '11 at 14:06
    
@Mark: I should have added a second caveat besides the ubiquitous IANAL ;-) I was thinking of the legal situation where I live (Germany), the situation will definitely be quite different in other countries. But here it is definitely not the case that breach of contract by one party removes the obligations of the other party. (My head is spinning just from writing that last sentence - I'm so glad that I am not a lawyer...) –  Treb Oct 5 '11 at 15:50
add comment

Right now you SUSPECT you are not being paid. You might be, you might not be.

The best thing is to go see them face to face and ask what's going on.

Tell them up front, if they want you to stop, you will do so immediately but you expect to be paid for work done until now.

If they want you to continue, get it in writing.

Keeping the root password (holding it hostage) is probably not a good idea.

Bear in mind also that many people (me included) get put into accounts systems on 14 to 30 day payment cycles, and waiting up 60 days for your money is fairly common. Frustrating. But common.

share|improve this answer
1  
Common? If it is part of the contract, which it usually is, then okay. If not, it is unacceptable. –  TheBlastOne Oct 5 '11 at 8:07
    
It might be unacceptable but in Australia, for many years, big businesses have been screwing little businesses by stretching payment terms. Their attitude: what are you going to do about it? –  quickly_now Oct 5 '11 at 22:36
    
Answer: "I will switch to prepaid mode." –  TheBlastOne Oct 6 '11 at 6:55
add comment

Reach out to local Web developers in your area for support, this might help you find some good advice on dealing with this problem locally. None of the answers here can help you as much as people in your area. Look in the usual places such as user groups in your town (or near-by towns) dealing with the types of technology your are using.

What you have written does sound pretty bad, but look on the positive side. You have been working on some very good and solid skills; server maintenance, application and database maintenance, and iPhone mobile development. I sure there are many more hard skills, plus some soft skills of dealing with a failing company that will in the long run help you develop a good business for your family.

You need to put all the disappointments aside for a moment, collect your thoughts, and then approach the company with the plain facts! not emotions!! "I need payment for my services more timely because I have a family that depends on my support. If you are not planning on finishing the work we planned then please let me know ASAP so I can use my talents elsewhere."

One final note, you have suggested several ideas in your post about what you could do to get some form of relief from this problem. These will probably hurt You and Your family in the end more than help. Good contracting works because your former clients spread the word about what a good job you did for them. Even clients from failing businesses can let others know how well you handled a difficult situation.

You never know maybe this company might have a rebound someday and will need your help even more.

Best wishes, keep coding and doing good work!

share|improve this answer
add comment

The answer is clear, but you're going to have to grow a pair to do it.

  1. Stop working until you get paid.
  2. Charge them 10% extra for every n days late, where 5 <= n <= 10.
  3. Look for other jobs.

If you can build all this stuff, I promise you there are other people out there that are willing to give you money for your skill.

share|improve this answer
8  
+1 for stop working. This is a must. Also check out this video: vimeo.com/22053820?utm_source=swissmiss –  Matt Oct 5 '11 at 7:39
    
@MattvonRohr: I was just about to post that, when I saw your comment ;) –  back2dos Oct 5 '11 at 9:27
    
Thanks for the video @MattvonRohr. –  Jordan Oct 5 '11 at 14:58
add comment

Confrontation with a client is always a bad thing, but, I would suggest two course of action.

  1. Don't deliver anything until your payments are up to date.
  2. Start looking for another client/job now.
share|improve this answer
add comment

It's your life, your situation, your ass on the line. But me, I would be quickly writing a series of increasingly firm letters demanding payment for work completed. If they're going under, their cash reserves are short - and you want every possible chance to get paid. I wouldn't give them the root password. Nor would I deliberately sabotage anything. The battle lines are where they are, and you negotiate from that point.

And for next time, you need to learn to quickly get on top of any late payments. Usually there is a reason - they're short on cash. After one late payment you're perfectly within your rights to insist on advance payment for the next month. In this case, you got yourself into a situation where you needed the money, but the client wasn't reliable enough to be your financial backbone. Live and learn, I guess.

share|improve this answer
add comment

Sounds like they're going broke. Don't bother suing them. Just stop working and keep the root password until you get paid for the last time. If they have money they can pay you good-bye; if they have no money the root password won't do them any good anyway. IANAL.

share|improve this answer
add comment
  1. Stop working.
  2. Send them what you have done (they then have no recourse - i.e. there will be no angry telephone calls) (this goes against everything I stand for, but it will be the easiest way)
  3. Find another job.
  4. Put it down to experience.
share|improve this answer
add comment

If you have a contract backing you up, the only correct solution is

"F*ck you. Pay me." 1

Time to get yourself a lawyer. This seems like an easy case.

[1] - http://vimeo.com/22053820

share|improve this answer
add comment

Get a new job asap & Wait for your last cheque. Do your minimum notice period and walk out. As for the root password, It is your professional responsibility to FORGET it as soon as you walk out the door. (Consequences of said professional behaviour is not your problem, & if they ask for it before you leave you give it to them.)

btw- IANAL etc....

share|improve this answer
add comment

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