Most agencies and freelancers charge by the hour. They have hourly rates for different job types (like design, writing, development) and create invoices based on the time they spent on particular tasks.
Clients don’t like this — at all. Clients have a budget and a clear idea what they need. When searching for a contractor, they just want to know whether the contractor can develop an app that does this and this, for this much. They don’t care if you’ll spend 30 hours on design and 60 hours on development, or vice versa. They have a number in their spreadsheet and they’ll shop around seeing what it buys.
When searching for a contractor, their number one concern is “how much is it going to cost?”
Contractor’s currency is time
On the other hand, you have contractors. They trade their time for money, and time is a finite resource — so it’s understandable why they charge by the hour (even if clients don’t like that). A project might take 20 hours to complete, or terms may change and include more work than initially agreed. This way, they’re safe.
A common error first-time freelancers make is to charge a flat rate for the whole project. This way, they get stuck with a huge project in development for half a year, but don’t make any money. Once they get burned, they start charging hourly rates.
“Want something built? I’ll need around 20 hours of coding in Ruby. It’ll cost this much, but it might cost more. It’s just an estimate. Who knows, I might need more time so I can’t promise anything.”
Contractors can spend hours working and not finish. A client can then either pull the plug and see if the project can be salvaged or grease the process with some more money and hope it’ll get finished.
The problem is that coding is something that clients don’t know much about. In development, the bulk of the work can be done pretty fast, but optimization and bug fixing can take a lot of time.
By looking at an invoice, clients can see where each hour went — but the reason why it took 6 hours to implement Ajax won’t be clear. That’s normal. All the client want to hear is that it’s a standard practice and it’ll be worth it. There’s no way they can check contractor’s reasoning. A contractor just needs to be confident, honest, and good at communication.
Future work also needs to be communicated early in the start. What if there are bugs? In software development, they are inevitable. But if a client pays for software, they expect it to work flawlessly. A lot of headaches can arise if a client suspects that contractor slacks off on purpose and introduces bugs so they have more work.
- If you’re drowning in work, charge by the hour.
- If you’re just starting out, indulge client’s wishes and charge by the project.