From a friend in the UK:

Q:  I’m a freelance coder and developer. Twice, in the span of a month, I have accepted an assignment, taken a deposit, only to discover that the project is pure hell.

One client turned out to be hopelessly clueless about the technology behind his own project. He couldn’t understand what I was doing, made dumb requests, and got angry about it. We were at loggerheads all day.

On the second project, it took me a week to discover that the code I was supposed to fix was almost too flawed to salvage. And worse, any fix would involve the kind of brain-numbing tedium that I suck at, and would kill me in four days.

In both cases, I decided to bail out. I returned the deposits. (Which stung mightily.) I figured the failures where mostly my fault, for not seeing ahead or vetting the project well enough. Both clients were incensed anyway.

Still I feel guilty about the whole thing. I wonder if I did right.

A: Don’t worry, guilt fades. Thank goodness for that. Otherwise every misstep would plague us for life.

Taking a deposit does make it harder to bail on a project that is going sour, especially if you have already started the work.

Don’t ask me about the legalities. It would depend on what agreement or contract you had with your client. I don’t know the particulars of the UK law. Nor the particulars of USA law for that matter.

I suspect — but do not know — that it matters if you call it a deposit, or a retainer, or an advance, or a first-stage payment or some other thing. That is not the real point.

The point is about being a pro about this, human-to-human.

You were generous in returning the deposits. You get karma points for that. Especially if you really needed the money. Let them bitch and fume.

Theoretically, when you return a deposit, you can deduct for the work you actually performed.

Especially if your work amounted to some deliverable, or anything useful. Like “Full audit of existing code and suspected bugs.”

My thinking is, though, if you’re squabbling over this, the boat has already gone over the falls. You can’t win.

Oddly enough, I am now wary about taking deposits.

For years I championed advanced payments. The thought was, it meant the client was serious, and they were invested in the project, and at least I would get some money, no matter what.

But I have changed my tune.

I discovered that when I get paid up front, I feel indebted. I owe work, and it has to be dandy and wonderful because I already have the money and may have accidentally spent some of it. That pressure works against me. I become constricted and procrastinatory. And I grow to hate the assignment.

I work much better and faster when people owe ME money. When I know, “If I build this brilliantly well, I will get paid swiftly and handsomely.”

Then, I work like a runaway train.

Nowadays, instead of deposits, I prefer to get a hard, binding, written-in-blood agreement saying, “When I deliver the first draft, first iteration, first whatever, you will send me this sum within 24 hours.”

But that is just my quirkiness.

This is the allure of freelancing: We can adapt our practices to our own faults and foibles, instead of the other way round.