You really do get better through experience. The best experience is learning from your mistakes. I learned a great deal from one experience in particular.
About 2 months ago, I did some work for the a pretty high profile client. Their regular webmaster was going to be out of town during the busiest time of the year for them, and I had agreed to help them update the site for the next 2 weeks. Over the phone, I had been in contact with a representative, and we had agreed on a set price for the 2 weeks. We had guesstimated that I would do approximately 2 hours of work a night.
That was mistake number 1.
I should have gotten something in writing. At least an email to confirm how much we had agreed on would have worked. Nick Gould wrote an excellent article entitled Web Design Contracts: Why Bother. Nick says:
A written contract won't always avoid this outcome — I've had clients tell me with a straight face that they didn't realize we were billing for each hour of work despite a clear statement in our contract to that effect. But in that case, I could at least point back to the contract language (humbly, mumbling apologies as I did so) as evidence of his misunderstanding.
This is exactly what I would have been able to do if I had what we had agreed on in writing.
For the future, I plan on doing the following before starting any work:
- Write detailed contracts that clearly explain the pricing, the deliverables, the process, and the payment.
- Discuss any questions about the contract with the client.
- Wait for an initial payment from the client.
I would recommend that anyone doing freelance work do the same. Take some time to review Nick's article, and take the time to write these contracts. In the end, it is only going to help you.
To top it all off, the guy offered me some gear to make up for the money that he refused to pay me. No thanks, a t-shirt does not make up for the fact that you cheated me.
On a side note, the site was a disaster to work on. It was poorly organized, still used tables for layout, and did not use includes effectively. It is so sad to see a site that has such high visibility be so poor. Apparently, they just launched a redesign, and guess what? It still uses tables for layout! Hopefully, they will at least utilize stylesheets and includes.
Just for fun, if you don't have it already, download the Web Developer Toolbar. Go to some big name sites and go to Outline » Table Cells. See how many big organizations are still so far behind in their adherence to web standards. When are these companies going to realize that the web is such a valuable tool for their marketing campaign? I guess that is a topic for another conversation.