Hacker News new | ask | show | jobs
by fat0wl 4595 days ago
Just throwing this out there since I know the common wisdom is to "have a contract, duh".

I have a few clients who basically put me on a retainer, then I send them a bill. If you give an hourly rate + an estimate clients seem to be cool, provided they are actual businessses. The only clients I've ever had issues with are individuals (usually artists since I freelance electronic media) and that stems from budget / rampant psychotic narcissism. But with businesses, I state my rate I estimate hours & then I bill them.

I'm sure there is a more secure way of handling this with contracts but if a company I work remotely for ever stiffs me on a bill: 1. They better be closing up shop the next day or I'm gonna come after them hard. 2. They lose access to the skills I offer them. 3. I probably have accounts/services in their name that they can't alter/operate without my help, so they're really just shooting themselves in the foot & will likely come to realize this rather quickly.

Anyway worst case scenario I lose 1 payment (maybe it was 1-3 grand?). Maybe it's scary to think that a 3k payment might disappear but the reality is, after discussing with them they'll probably just hand it over anyway or you can settle in between. Even if I one day lose a thousand dollars (which I highly doubt) I can look back and smile knowing I never had to deal with a ton of legalese.

The reality of it is that businesses can't just stiff you on a bill if they agreed to pay for your services, and if you have nice clients who are trying to build a business they have no reason to hurt you if you do good work for them. But I understand not everyone has the luxury of sane clients. I certainly didn't back when I was dealing 1-on-1 with artists.

4 comments

There are worse things that can happen to you when you work without a contract than simply not getting paid. Contracts also set up liability and contract termination terms, and without that stuff in writing, you can end up in a he-said she-said situation over these issues.

You should always work under a contract. I have a hard time seeing why anyone wouldn't.

Eh, I appreciate the effort that is being put into this argument but the reality of it is that it's not for me. If I have to drive an hour to see my client or send a lot of things back & forth in the mail it's really just time wasted.

A good professional relationship & a couple of emails is all I need for freelance. If you're talking about a long-term high dollar amount thing then sure, I understand.

& the reason I don't use one is simple -- I have an hourly rate. Whatever contract we come up with would look like this: "__ is my hourly rate. You will pay __ times the number of hours I worked." This has long been established since the first 1 or 2 interactions with any client and I think is obvious for any hourly service worker. Within the tech industry this is even standard for a lot of corporate consultants (I happen to be one).

For freelance, I provide work estimates but things change. All the comments I see on this thread are like "write a change order for each change, make sure you keep a record of scope". No thanks, not for me. I just give estimates, tell the client when we're going over-budget. If they seem concerned we can talk about it if they say "Keep going no worries" then I keep going, no worries.

I'm not at all saying that contracts aren't useful, it's just that the tech industry is really fast-paced and often involves remote work. If you're really concerned about stuff getting ugly, ask for a contract, sure. But I would do contract with 50% deposit because who actually wants to deal with going to court. At least you'd have 50% to sit on & think.

To each his own but I'm a programmer not a businessman. I net way more money streamlining my coding process than I do thinking about stuff like this.

"but I'm a programmer not a businessman"

Actually don't short change yourself just because you might not have gone to "business" school. (Did you?)

For example:

"If I have to drive an hour to see my client or send a lot of things back & forth in the mail it's really just time wasted."

Which makes a lot of sense. You have to factor in the pros and cons of all of this which you are clearly doing. What do I stand to gain? What do I stand to lose?

"I just give estimates, tell the client when we're going over-budget."

Exactly. State the framework "$x per hour" and keep them informed of any changes. Super easy to do with email as well. Communicate. I would also argue that getting people to sign things each and every time will get you less revenue because it gives them an opportunity to focus on the dollar to much. Once again, depending on the dollar amount and who you are dealing with. All situations are different.

heh thanks for your vote of confidence... I've been getting a lot of flack on this thread for apparently having a controversial view but it's something I've reached through years of freelance in NYC & long-term contract work with a couple of major corporations. No business school, just easy-come-easy-go focus-on-the-bigger-picture engineering gigs.

I say I'm not a businessman not because I don't do business, but because I just try to keep my focus on my skills that are actually generating revenue. In the end we're all at the will of the market and my personal belief is that the more pressing need is to understand those ebbs and flows rather than trying to build a safe-room. Chomsky I think said something about how 9/11 couldn't be a conspiracy because it would involve too many irrational actors working in concert. We must assume man to be rational. Kindof a non-sequitur, I know, but I approach business with this attitude. Assume you are dealing with rational actors, be a good judge of character (don't do a ton of work on spec for a business that is clearly failing, for example), and ride the wave. With this approach, the potential for gains is great and the losses are there but can easily be left in the rear-view mirror. Otherwise you will spend your week working and your weekends doing pro-bono bookkeeping for your own ventures. Seems we are very much in agreement here, hah.

Assume you are dealing with rational actors, be a good judge of character…

You work for corporations, right?

It's never a good idea to bet big money that a human being who is rational and classy today will remain so for months or years in the future. (After you've lived with a few Alzheimer's patients, you'll know what I'm talking about.) But corporations aren't even human. Their character is literally for sale. The honest and rational person you worked for on Monday could be bought out and replaced by a knuckle-dragging troll before the week is out.

Seven years from now, when one of your customers has been acquired by some new company that has never heard of you, and that new company's East Texas-based law firm decides to make some easy money by sending out letters like this:

"We had a software problem last month that we believe cost us $1 million and which we traced to a line of code that you committed eight years ago. Would you like to pay us $200k, or defend our incipient lawsuit?"

What are you gonna do? My plan is to take the problem to my lawyer, who will say: "Can you give me a copy of the signed contract that, together with an hour of my time, will make this problem go away forever?" And I will say: "Yes".

And it's not like this contract took months of my time to create. If you're not picky, you call up a lawyer, you say "I need a boilerplate consulting contract," they pull one out of the files and hand it to you.

I work for corporations through a consulting firm. Most won't let you deal with them directly. But I get a paycheck every 2 weeks, I can't really see them being able to take that away from me retroactively...

But trust me the corporations (the one I work for is an international electronics manufacturer) are very polite and respectful and very much understand the realities of risk/reward, and that you have to spend money to make money. And they all have an army of QA engineers double-checking work because they will not allow $1 million dollars of business to be dependent on a single point of failure. Even if they bring you to court (they never would) I'd assume its VERY difficult to get compensation. If you hire an employee and he does a bad job, do you get to sue him for damaging your profit margins? Hell no, you just get to fire him and hire a new guy. If everyone were legally on the hook for the work they produced, it would be like assuming that everyone you ever hire is required to be omniscient. The reality is, you can't hire someone with a 50 IQ and then sue them because you believe one of their lines of code hurt your profitability. It's your fault for hiring them.

I gotta say a lot of these responses I'm getting are very paranoid. When a company pays you for work it's really hard for them to take that away from you. The most that's ever really at stake is your current paycheck and not even that really because the department of labor is VERY harsh on reputable employers who deny paychecks.

It seems like your point is more of a fantasy scenario where they give you a billion dollars & 5 years of unsupervised time to design a huge blackbox program that has to do X, then find out it doesn't do X. The software industry is simply not like this. All tasks are broken up into discrete components and if you're not doing a good job they'll fire you and bring in a new team to finish the job.

The ONLY way I've actually heard of an employee losing $$ is when they have a long-term employment agreement and they break it. It's kindof like an athlete signing a 10-year deal & walking off the field after 6 months. Then, yes, you're liable.

Otherwise being a paid consultant is pretty much the same thing as being an employee. Also, I doubt that companies will sign some "boilerplate contract" that absolves you of all liability. They'd rather hire someone who is more confident. That's not a dig, I really mean that sincerely. Over-negotiating and specifying a bunch of "unrealistic-covering-my-ass-terms" can come off as amateur.

To add to this: I would guess that the majority of our contracts are boilerplate, and executing them involves no additional legal expense.
I don't write fiddly "change orders" either. I still work under a contract!
I agree with this, completely.

During the first 5 or 6 years of my 10 years of freelance, I almost never had a contract in place, and I _never_ got fucked over for it.

That's not to say it's OK to avoid contracts. Only a single set of data points that says it's possible to do business without them and still do very well.

Of course larger clients will generally require them to cover their own asses. And any project that's over x, where x seems like a good deal of money, should _always_ be covered by a contract - both for your safety and the safety of your client.

But the cynical idea that everyone is out to get you is silly. Yes, get a lawyer to get a solid standard contract together for you. But then pay attention to the clients you're dealing with. A contract gives you a legal standing in court, but you still have to go to court. There's a lot more to be said for choosing clients that aren't going to cause trouble in the first place.

all good advice. I've actually had issues working with larger clients because they try to give all-inclusive project prices. For one I fulfilled it and weaseled into off-contract hourly rate and that actually worked out much much better for me.

If you give a tech consultant a job they will code from A to B. The client is always the one throwing up roadblocks and change requets. If they don't understand that they are on the hook for those billing hours, yeah you don't have a good client there...

ONLY USE HOURLY RATE + ESTIMATE that's the best advice I can give on top of enobrev's. Maybe others disagree, but in my experience project rates mean the client will try to take advantage or if you get a project price that seems absurdly high & you get that flash of $$ signs in your eyes, the client will usually realize they overpaid and you'll lose potential future business with them. Just use a rate and be somewhat ethical about it. Even if you don't have a huge client base, they will all come back around for more work every few months.

I probably have accounts/services in their name that they can't alter/operate without my help, so they're really just shooting themselves in the foot & will likely come to realize this rather quickly.

Just as a counterpoint to this, it's possible for a client to not pay you for services rendered and sue you for not maintaining previous accounts/services for them, and the courts might very well take their side, depending on the specifics. Whether there is a written contract or not, there is a contract when you agree to exchange services for money; the only difference is that if it's not written and a conflict arises, you're depending on the court system to guess what the agreement was based on the word of two opposing parties.

I understand what you're saying though; realistically a lot of work gets done all over the world every day without written contracts, and everyone is okay. My general rule of thumb is to never extend more than a few thousand dollars of credit to any client without a written contract, and less if the job could involve any sort of extra liabilities. For a retainer-style agreement like the one you describe, I like to have a contract in place from the get-go, but with the "terms of notice" set so that things like email count--that way, if we ever negotiate for a specific project I can do it over email and count that as a written record of our agreement should the need ever arise.

Yeah it's not like I'd use a threat like "I'll disconnect all your accounts!" but if they have some EC2 instance they don't understand how to operate it does give you some leverage since they will be needing some admin done at some point in the near future. I really doubt they can sue you for refusing to perform maintenance on their systems since we as programmers do not become indentured servants simply from having done business with them in the past. Tons of high-end engineers leave big projects all the time with the attitude of "well, you should've realized I might not be around forever" and it hurts projects but that's capitalism, it's one of the few rights that give employees an edge in the market.

If we never had an agreement for me to document all my work (extremely common) then the best they can do is say "hand over the keys" but they can't make you drive. If they're willing to invest in a new engineer's learning curve, the problems must be way deeper than 1 bill & you should've seen it coming, enough to write out a formal contract for that last bit. In hostile workplaces contracts should be the norm, sure, but I just try to avoid those situations to begin with.

Good advice on the email bit, but I kindof just assume that those count as written records. Either courts acknowledge them or they don't I'm not sure that explicitly saying they do really changes much.

Also, you say "there is a contract when you agree to exchange services for money" but if they don't pay you... didn't they already break that contract? Why would you have to do due diligence (maintenance) for someone who refuses to acknowledge your initial agreement?

I really doubt they can sue you for refusing to perform maintenance on their systems

Of course they can. In most first world jurisdictions, anyone is free to bring a lawsuit against anyone else over anything, and then it's up to the court to decide on the merits of the case. If the court finds that the case was without merit, they might be able to compensate the successful party in some way depending on your particular legal system, but that would probably happen later.

What's more, if you created a system for someone, that system requires maintenance, your original contract did not specify who was responsible for that maintenance, and your clients sue claiming that they already paid for you to do that work and you're refusing to do it, you could well find yourself on the wrong end of a judgement.

In short, you seem to have quite a few misunderstandings about the basics of how contract law works, unless your local jurisdiction is a lot different to most. This is exactly why you should have everything clearly specified in a written contract, and it's also why paying an "expensive" lawyer to give you proper advice in your particular situation is almost certainly a good investment. Probably you should expect to spend significant time with a real lawyer for your first contract, so you have some idea of the general legal areas you need to consider, and then depending on how things go you might find just a quick review by someone who knows what they're doing is sufficient for a lot of later work.

Not to sound confrontational but I think you have quite a few misunderstandings about the software industry and at-will employment. Never have I ever seen any situation where an engineer is beholden to a client without having signed a long-term service contract or employment agreement.
In most places an individual can't be compelled to do much of anything for a client or employer regardless of what a contract says, since generic laws against slavery and similar concepts will apply. This is true almost everywhere in the first world, whether or not it has at-will employment. Normally there are some special legal provisions for cases where you need this not to apply, such as the military or emergency services.

However, it is entirely possible that a client could successfully claim back much of the compensation they paid for the original work via a civil suit if they subsequently argued that the original fee included maintenance and that maintenance was not in fact being carried out.

If it could be argued that the lack of maintenance also resulted in other damage to the client, they could potentially go after compensation for that damage as well. In the absence of a written contract putting clear (and legally enforceable) limits on such things, that could be far more expensive than just paying back the original revenues.

As an aside, this is particularly dangerous for freelancers, because if you don't have a written agreement making clear who the client was actually contracting to do the work, a court might find that it was the freelancer personally who was party to the agreement and not any corporate entity they normally work through. That would leave no legal shield to protect the freelancer from losing everything they personally own to settle a severe damages award.

Eh I'm sorry I just don't buy it. Without a maintenance contract, they could never win the argument that you were required to perform maintenance. And freelancers/consultants/employees-in-general have very little liability. I code people's websites all the time with 0% fear of losing my bank account in court.

    > The reality of it is that businesses can't just stiff
    > you on a bill if they agreed to pay for your services
That feels like it should be true, but it's not. I'm not just speaking about software; a large portion of my family is in construction, and I'm shocked at how often client businesses think they can get away with just not paying them.

Perhaps it actually is better in the software world, where clients (hopefully) know they are going to need you in the future.

Anyway, good for you that you can find clients that know they need to pay you; but not all businesses have figured that out.

Hmm I'm sorry to hear that. :-/

But if they brought a civil suit they would win easily, no? That's what I really meant by that line. My father is a lawyer & every time I bring up something like that to him he laughs. "Of course they have to pay, it's just too much trouble sometimes. Usually just the threat of legal action is good enough."

Maybe it's not so simple but that's a shame.

Oh, yeah, they eventually get paid. It's just shocking how many people try to not pay them.
Years ago I worked for a mom & pop computer consulting shop and I was surprised by how many small businesses just didn't pay their bills.

Anecdotally, we did a lot of work with local law firms and they were the worst. (I guess because what're you gonna do? Sue them?)