[thechat] Stiffed :(

David Kaufman david at gigawatt.com
Tue Mar 11 22:54:03 CDT 2008

Hi Fred,

"Fred Jones" <fredthejonester at gmail.com> wrote:
> They seemed like such a nice, normal couple--I felt comfortable trusting
> them and just working, based on their understanding of my hourly rate.
> [...] the job, 90% done and my bill is about $2000 and suddenly,
> cyber-silence. [...] They changed all the passwords (FTP,
> control panel, CMS) and no email no nothing. I don't know what happened.
>  :(>> Sad Fred

Don't forget that it's important not to misinterpret silence from 
cyberspace!  It's always *possible* that some urgent matters "in real 
life" prevent them from answering emails, paying bills, and so forth.  
If this is the case, and in their mind they've merely put you "on hold" 
for a while, you don't want to be the one who rushed to flip the 
previously good working relationship into adversarial or litigious one.  

Trust your first instincts and your judgment of them as nice, normal 
people and you might be able imagine a number of situations that might 
cause people to "go dark" as they have, which may have nothing 
whatsoever to do you with you or the work. Email them and ask what is 
wrong, if they need some time to deal with other matters, and if there's 
anything you can do to help.  Why?  Because how you respond initially, 
before you have all the facts, says more about you and your personal
(as well as business) ethics than anything else.  If some personal, or 
medical, or even merely financial disaster has just befallen them, how 
you respond determines whether you'll ever get paid, and could very well 
salvage the deal.

Of course, their changing the passwords does seem to *imply* that 
they've decided to take your work and do not intend to pay you for your 
time, but you want to, in your communications, be sure to (at least 
appear to) give them the benefit of the doubt.  You never know.  Your 
patience, and continued positive attitude might just turn the situation 

When doing long-distance freelance work, especially with small 
businesses and lone entrepreneurs as clients, situations like this are 
not uncommon. People say that patience is a virtue.  I no longer do 
freelance contract work, but at one point I'd used that platitude as my 
collections policy.  I treated my deadbeat clients with compassion.  I 
sent them one or two "is everything ok?" emails, a week or two apart, 
then maybe once a month I'd follow up with a "just checking in to see if 
everything is ok".  My patience paid off most of the time.

People are embarrassed when they can't pay their bills.  I know this 
because there've been times I couldn't pay mine!  And what I remember 
feeling at the time is that I didn't give a damn about those creditors 
who sent me impersonal form letters, followed by mass-produced lawyer 
letters and eventually sold my debt to a collection agency.  I had a 
couple of creditors though, who were patient, and listened, and waited, 
and those are the ones who (eventually) got paid.

So you have to look at if this way: the worst-case scenario is you 
never get paid.  Accept that possibility as the most likely one, up 
front, in your own mind. Write off the work. Then you can avoid rubbing 
their face in it while genuinely, compassionately seeking to find out 
what happened.  Persist.  Ask if there was anything you could have done 
differently, offer to help in any way that you can.  Acting as if your 
customers really are important to you makes them feel that they are.  
Some may never answer. But most eventually will, especially if you had a 
personal relationship with them, listened to them, and honestly 
attempted to do good work for them -- they know that.  If they had a 
personal crisis, you may not find out for months.  I had one client tell 
me his wife had been diagnosed with cancer, they had relocated suddenly 
to be closer to family far away, and he realized much later that he'd 
lost access to his old ISP email account!  I knew he knew that he was 
also actively avoiding me, but after hearing that, I was quite glad I 
hadn't been suing him during that time.  It may have been a lie, but if 
it helped him save face, what do I care?  We went on to do more business 
together, rather than going to court together.

I've had written-off clients never offer an explanation at all, but 
sheepishly offer to make installment payments on what they owed me, six 
months or a year later!  That's okay, right?  Doo-doo happens.

And this is why it was so easy for me to be compassionate and not freak 
out over what people owed me.  I learned from my very first several 
projects that there were a lot of people out there trying to con me into 
doing free work and, even more intriguing to me, a lot of good paying 
would-be clients out there who'd already been burned by other 
programmers who insisted on being paid up front, then took their money 
and delivered little or nothing. Clowns to the left of me, jokers to the 
right -- here I am, stuck in the middle...

I tried to think about this from every angle, feeling that surely there 
must be some way to do business with far-away strangers, via email, that 
helped me trust them, *and* them to trust me.  This is what I settled 

For each new client, I'd talk to them and ask questions until I felt I 
knew enough to estimate the job.  I would then tell them I'd send them 
an estimate and a schedule.  They then always pressed me to give them a 
"ballpark estimate", or kept asking "about how long, days? weeks?" I 
thought the job would take.  I *always* politely but firmly refused to 
name a number, neither the time nor cost, assuring them that I would 
send a detailed estimate and schedule within a certain time, usually the 
following business day (or two).  When they pressured me, I always told 
them that if I didn't do it on paper, thoroughly and carefully, that I 
would either underestimate it and not in fact be able to deliver as 
promised, or overestimate and charge them too much!  I *always* followed 
through with that estimate.  If you don't deliver what you say you will 
at *this* stage... forget about it.

By not naming a number you keep them on the edge of their seat.  I would 
then write a detailed spec, a prose description of each discreet task 
required to do the whole job, from design to development, testing and 
deployment to the live production system.  If they hadn't thought 
through their hosting details, I included finding them a web hosting 
provider and provisioning these services as line items of my work, with 
hourly estimates, and included waiting for these services to be 
provisioned in the schedule (back then it could take a day or two to 
get a hosting account turned up, and dns configured -- it can still take 
a week to move a domain to new registrar)...

I'd think this estimate + schedule out, to the detail that it was really 
a spec, and was really worth numerous hours of my time, but I considered 
it free work that I did to close a sale.  Now, as we all know, sometimes 
prospective clients are not serious and are, as they say, "on a fishing 
trip".   They will take your spec and never call you back, may never 
have intended to.  They may give the spec to another programmer to 
implement (or to their really bright nephew).  A certain number will 
always do this.  There's nothing that can be done about it.  You just 
have to use your judgment to not waste your time on those who you don't 
think are serious.

I would deliver my spec to the prospective client as a long, detailed 
and thoughtful email followed by something like this:

    Hours: 60
    Schedule: 3 weeks
    Cost: $4,200.00 USD

    A. I can schedule this work to start [tomorrow, next week,
    next month, whatever].  I normally request a deposit of 
    one-third of the total amount of the estimate, to begin 
    work.  My hourly rate is $70, so the deposit required to 
    get started would be $1,400 USD.

    B. After the initial development is complete [or as
    development milestones are completed, depending on project
    size and # of payments] you will have access to fully test
    the system on my development server.  Once you are
    satisfied that the system is feature-complete and meets all
    of your requirements, I'll ask that the second one-third
    payment of $1,400 be made, prior to installation of the
    system on your live production server.

    C. After, and only after, the system is completely and
    successfully installed on your site, fully tested and
    working to *your* complete satisfaction, would the final
    one-third payment be due.

These terms worked well for me.  Here, I was already delivering them a 
spec worth (theoretically) several hundred dollars of my time and 
effort, and am obviously not charging them for that.  I'm demonstrating 
by the spec itself that I am serious about doing the work, and 
(hopefully) also demonstrating that I'm capable of doing the work.

Of course I *am* asking them to make that initial payment there, before 
I write a single line of code.  And several people who went on to become 
clients of mine had started off their very first phone call to me with 
something like, "The last programmer I hired insisted on an up-front 
payment, and then [insert sad story here, that finishes with: ] ...and I 
am *not* making *that* mistake again, so don't even bother asking!".  

But that first payment ensures, to me, that *they* are serious.  Not 
everyone goes for it.  That's the nature, and the cost, of sales.  You 
close some of them, while others walk away.

While it's certainly *possible* that I lost some potentially decent, 
paying clients by not doing any work (beyond the spec) without a 
deposit, I am 100% certain that I protected myself from 100% of the con 
artists who never intended to pay a dime in the *first* place, as well 
as all those who were in that grey area of not being serious, not being 
able and/or not really ready to pay me for my services.  I needed that 
protection, and I paid for it with the number of free specs I wrote that 
*didn't* lead to a closed sale and a project deposit in hand.

The serious ones went for it, though.  They saw that the second and 
third payments were crafted to reassure *them*.  That I was ready, 
willing and able to develop what they asked for.  That I was confident 
that I could do the job on time, and do it right.  They saw that for 
their deposit risked, they receive *two* rounds of satisfaction: 

They don't pay another dime till the code is done, and debugged!  That 
is huge, to everyone who's watched a software development project stall, 
be delayed, become mired in feature creep, suffer brain drain and become 
a death march ...which means everyone who's ever watched a software 
development project or two! :-)

Of course, the fact is not usually lost on the wise ones, that I still 
have not delivered the source code to them at this point.  Again, it's 
a balancing act between risk and trust: I risked my spec, trusting 
they would love it and hire me.  They risked their deposit, trusting 
that I would write some code and not disappear into the ether.  Now I 
show them I've written their code, and await the second-third of my pay.

There is normally some back and forth at this point.  Did I 
misunderstand requirement X?  Did they envision something different for 
how to implement feature Y?  It's best of course, *not* to have waited 
until the development was "complete" (in your mind) before letting them 
peek at the work in progress.  In fact it's best to have been listening 
very intently to their first impressions and muttered comments, with an 
ear for zeroing in on any gaps, from their point of view, between what 
they asked for and what you built.  Resolving these issues earlier on is 
usually far easier, and less stressful than rewriting parts of the code, 
long after you'd thought they were done.

If features creep and requirements change during this phase, to the 
point where your spec needs rewriting and your estimate and schedule 
grow significantly (they never seem to shrink!) then you might have some 
renegotiating to do.  Don't wait till any more of your time and their 
money is spent before you tell them this.  Explain clearly what has 
changed, why, and how much more it going to cost and how much longer 
it's going to take. You might have to offer to cancel the project at 
this point (with no hard feelings, no further payments owed to you, and 
no code owed to them) if you can't reach a new agreement.  Dems da 
breaks.  You might decide to "eat the difference", and push on at 
the original price (perhaps with a longer schedule).  That's up to you.  
Whatever you do, hopefully you will use the situation to learn to 
better identify these types of sticking-points early on, raising the 
thorny questions before (or while) writing your spec, as you gain 
experience in the art of client-herding.

The last payment is the clincher.  It's the closer.  It removes their 
final objections.  It tips the scales from the saying "maybe" to them 
getting out a pen, writing a deposit check and sending it out, 
overnight express.

They don't have to pay you the last payment, the not-insignificant 
third-third of the total, until *after* you have: 1. written the code 
and debugged it, B. delivered it to them, and C. installed and tested it 
in production, on their site, and watched it go live.  This tells them 
that you are very confident that they will be very happy with your work, 
that you are so confident, in fact, that you're willing to bet $1,400 on 
it.  No one ever stiffed me for the last payment.  

Some stalled a while, expecting to find bugs days, weeks after the 
application went live.  There are always bugs.  And I always fixed them 
for free (whether or not I'd received the last payment yet), so long as 
they are reported within a reasonable amount of time (90 days is a good 
warrantee period, if anyone insists on one).

Before I settled on this system I had some clients disappear, after I 
delivered their code to them, and never pay me.  I never sued anyone --  
it's just almost never worth it.  I also had a couple pay me deposits 
and then decide not to go forward, either when (their own) feature creep 
made the project too expensive, or when external circumstances made them 
change their plans.  But interestingly I never got stiffed for the last 
payment. Everyone who played the game through round two was a satisfied 
customer in the end, most of them becoming one or both of the two best 
kind of customers there are: repeat customers and customers who 
recommend new customers to you.

As far as collections, since I always got a deposit, I never had to 
stress too much when clients "went dark".  I just waited, and some 
resurfaced, others not.  Sometimes with sob stories, sometimes not.  I 
never felt the need to "chase anyone down" for second-payments that I 
never got.  Sometimes they came back and picked up where they left off 
but that choice was always up to them.

So my advise is: protect yourself first and then, in all things, try to 
treat your customers the way you would want to be treated.

Sad cases like this one can end up being The Best Things That Ever 
Happened To You, professionally, if you use them to figure out what 
really went awry, decide what you *could* have done differently, and do 
learn to *do* things differently in the future! 

-dave (now wondering if this shoulda been an article submission)

More information about the thechat mailing list