A lot of people who read the story of my poorly-priced development contract have asked me what they should charge as freelancers. I have a simple formula for them.
Charge twice your hourly wage.
It turns out that when you work out all the differences between working a stable salaried job and doing freelance contracts, the hourly wage needs to be about double for it to be worth it. This is because your contracting clients will not give you, in increasing order of importance:
Hardware or software
Medical or dental
Vacations or sick days
Eight hours of work per day
A reliable paycheque every other Friday
The last point is the kicker. It may seem that if you make $40/hr at WibbleSoft, making $50/hr contracting would be a good deal. However, if you spend a week with no active contract, or one that doesn’t pay up, you’ve blown the month right there. Eventually you’ll get good, reliable contracting customers who fill your pipeline and regularly pay your invoices. For any new customer, however, you have the risk that they’ll pay late, underpay, or not pay. Customers can also mess up your throughput by delaying projects, scaling them back, cancelling them, or sending you tiny tasks.
So you’re going to charge double the hourly wage you would be making as an employee ((Note that if the customer wants you to step them through setting up Outlook like you’re a $10/hr ISP tech, but you should be making $50/hr doing Objective-C, then you have to charge based on the latter.)). If you haven’t done this job as an employee yet, your contacts in the industry or even a salary comparison site like Payscale can give you some data points.
According to Payscale, most people with the job title “Software Engineer” in Vancouver make between $61k and $76k per year ((People with the title “Web Developer” make substantially less than those labeled “Software Engineer”, for two reasons I can see. First, web developers tend to be younger and less experienced. Second, the most high-paying software companies don’t usually pigeonhole developers by title.)). Let’s assume you’re a newbie who’s decided to freelance instead of working at WibbleSoft for $60k/yr. Since your salary would have worked out to $30/hr, your consulting rate should be around $60/hr.
Giving a Discount
If you’re a student and are new to the industry, you’ll probably feel uneasy charging $60/hr. You won’t want unreasonable expectations your first time contracting, you will want to attract new business, and you’d like some tolerance for mistakes.
In this case, take the advice of the esteemed Boris Mann: give them a discount. Inform them that your rate is $60/hr, but as a new customer, you can give them a deal. This lets your conscience breathe, pleases the customer, and lets you increase the rate with minimum hassle once it’s appropriate.
Finally, don’t let the bogeyman of bad customers scare you. For every terrible customer out there, there’s a great customer. The trick is not to let the bad customers drive you out of business before you find the great ones.