

Ask HN: What are your contracting pain points? - zrail

What are the things that you wish you knew when you started? I've only done a little freelancing in the past so I don't have a complete picture but even with that I experienced a few:<p>- Figuring out how to do payments. They wanted to use PayPal and I really didn't.<p>- How to word the contract<p>- How to get the contract to them<p>Thanks!
======
tptacek
Don't take Paypal, or credit cards. The fact that you'd even consider doing
this indicates that you're probably charging way too little. Either way, don't
take payments via any medium where your client can make one phone call and
claw back your payment no-questions-asked.

Do invoices + checks, 20-30% in advance. Structure your work in milestones,
with each milestone delivering something of value to the customer (this takes
thought and effort), and bill on each milestone.

Just fax contracts.

As a contractor, you will rarely get to work on your own paper. Your clients
will tend to have standard contractor agreements. If you want to live
dangerously, eyeball them for noncompetes, nonsolicits, and bizarro acceptance
clauses (ie, things that state client can withhold payment for N months while
they do QA) and just sign the things. Else, get a lawyer and have them do
contract review. If you're serious about contracting, you'll get the lawyer.

During contract negotiation, the thing you tend to have control over is the
"statement of work", which is usually an exhibit at the end of the contract.
Word this carefully, precisely, and in the light most favorable to your own
work. The SOW is what's going to determine whether you've fulfilled your
obligations under the contract. Don't use promotional language in your SOW,
don't talk yourself up, pare back descriptions of functionality as far as you
can reasonably pare them, write sterile and boring copy. Put yourself in the
position of having to argue about the contract 6 months from now, and that
argument centering around whether you've delivered every line item in the SOW.

------
dctoedt
* In your statements of work, be as explicit and detailed as you possibly can in stating assumptions -- especially assumptions about what the _customer_ is supposed to provide and/or do. Drill down to a suitable depth, even if it seems silly --- if you're assuming the customer will have 110 volt AC power, consider saying so.

* Keep the customer informed --- no one likes surprises.

* Make a habit of sending short, just-the-facts-ma'am email summaries confirming oral discussions --- they can be incredibly useful in the event of later finger-pointing and "why didn't you tell me X?" accusations.

* In the same vein, seriously consider never deleting any email to or from a customer or otherwise relating to a job.

* Consider treating development of the specification as a separate, separately-priced deliverable.

* Consider providing an "extension of time budget" in the contract --- that is, you've got X days of extension budget that you can allocate to individual deadlines as you see fit, with a max extension of Y days for any single deadline.

* Watch out for IP-ownership provisions; try to make sure you get the right to continue using general knowledge, tools, non-customer-specific code, etc., for other projects.

* Be extremely careful using FOSS (free / open-source) software --- the customer will be really PO'd if it has to release the source code to its product. Microsoft had to do that a couple of years ago because one of its consultants included GPL code; see this blog posting [1] by Silicon Valley lawyer Mark Radcliffe for details.

* In the contract, try very hard to (1) exclude consequential damages, and (2) limit your liability to X or 2X or even 3X, where X is the amount you're paid. If the customer balks, you can respond that you're selling services, not business insurance, and that uncapped liability will have to carry a higher price.

* Investigate whether you can get professional-liability insurance (errors & omissions or "E&O"). If so, try to have a separate cap for your contract liability in the amount of your coverage --- that is, your liability won't exceed 2X, where X is the amount you were paid, or your policy limits, whichever is less.

[1] <http://lawandlifesiliconvalley.com/blog/?p=306>

~~~
dctoedt
Update: I posted an edited version of the above points on my blog at
[http://www.lawnotes.com/bare-bones-contracting-tips-for-
soft...](http://www.lawnotes.com/bare-bones-contracting-tips-for-software-
developers-and-other-consultants/)

