The "correct" way to work out your rates is to raise them until you drop down to a target utilization rate by shedding the clients who don't value your work. It's awfully hard to do this in practice, but it gives you an idea of what you're aiming for.
As always, let me remind you: don't bill hourly. You are not a furniture mover.
I hear this a lot, but I'm not sure how to implement it. Some people have suggested that freelancers ought to bill for the entire project, but in doing so you run the risk of losing money by underestimating the amount of work and time involved. Some have also suggested billing daily instead of hourly, but if the client expects a "day" to mean "8 hours", how is that any different than just billing an hourly rate?
How do you handle your billing?
Serious clients won't even blink. Most of the people you work with at serious clients aren't even spending their own money, and so daily or weekly billing simplifies their lives anyways.
So if you estimate something at 40h @$100/h and get it half done in four hours, bill 20h. This is a two edged sword — estimate well. (Do charge for scope creep though.)
I give clients the option of being billed this way or by the hour. The argument for this option is fixed costs and at least some guarantee of satisfaction. They're also paying for results and not activity.
When you go to daily vs hourly, you benefit for a couple reasons. One, the minium is now one day, not one hour. Two, often, a "day" involves your client screwing around while you wait. You get paid for that time now.
But really, the biggest difference is that clients that are willing to pay by the day do so because they have the money.
I've also had some good luck with small fixed price bids - $2-5k. If you work quickly, you can make a ridiculous hourly rate - but more so with clients who can afford to pay by the day.
What if you gave a client two choices: fixed price for $1,000 or hourly at $100/hour with an estimate of 8-12 hours. They're on the fence, but opt for the fixed price deal. You luck out and knock the work out in 3 hours. Do you feel bad? No. You gave them $1000 worth of value.
Now what if they had chosen hourly? Now you get $300 in exchange for the $1000 of value you delivered. Don't do that.
No, what's going to piss them off is when you deliver $1000 of value, but take 20 hours to do it and charge them $2000. Your goal is to match the value you create with the money they pay. That's how you build lasting profitable relationships.
You're not charging for time. You're charging for software.
This is some of the most valuable advice I've ever received. I have patio11 to thank for it!
This advice breaks down if you don't work an 8 hour day. Some days I want to only work 2 hours, other days I want to work 12 hours. My clients need to be fairly charged in both cases.
Seriously, one of the reasons I became a freelancer is because I think the ideal workweek is mostly 2-4 hour days. If you know how to code and aren't in massive debt, you can live the dream!
One of the healthy side effects is that you'll rarely end up with the "can you just quickly add x" requests, which can be far more time consuming.
Up until now I've always billed by the hour, but this sentence alone has convinced me to switch over to daily. Those "10 minute" requests drive me absolutely insane. Even though that time is billable it takes a large toll on my mental well-being.
And regardless of the time it takes you to deliver something, they should be paying you in terms of the value they get from it.
The best solution I've found is to require a Good Faith Deposit. ( http://www.hackeress.com/goodfaith ) For this, charge ~ what you'd charge for 1 day of work, even if the client just wants to meet "for coffee". It's really hard to draw the line where the chitchat ends and the actual work / scope-framing / brainstorming begins. How many times have interviewers brought in or set up phone interviews with people they have zero intention of hiring, just to "pick their brains"? I ended up learning the hard way that this happens way too often. By the time I figured it out, I was out a lot of wasted time. (WePay and a couple other companies did this to me after my post here on HN awhile ago).
I call it a Good Faith deposit because even though non-contractual meetings of Good Faith should be the norm, they're _not_. Getting viciously screwed over as an employee and a contractor (and even as an interviewee) more than a couple times brings this harsh reality into focus. So I made a decision going forward: the ONLY kind of clients I want to team with are those willing to respect my time and experience enough to work with me in Good Faith.
I hope I'm wrong - counterexamples welcome.
Interesting thought, though. I've always considered the first few hours as part of the cost of sales. At some point you just stop and say, "we need a contact". Until then, it's marketing. Not saying that's the only or best way to do it, but it seems to be the usual way.
This is itself a small gig/contract and the HR departments etc. are set up to pay for these things.
If people are "screwing you over" during interviews, you may need to zip your lips. Charging a fee before "meeting for coffee" is not a good solution… simply not giving away the milk for free, on the other hand, is.
It's not unfair to charge for a proposal (and the process that generates it), but it's unusual, and it creates a large risk that the client has to shoulder (if I don't like your proposal, then what? The proposal is most of what I have to go on for how good a fit you are in the first place!)
I wouldn't do business with a contractor that demanded payment for proposals. I say this as the operator of a business in which proposals are seriously expensive to generate. I wrote a large proposal last week after a series of phone meetings, and the proposal didn't generate any business. Oh well! That's life in the big leagues.
I was amused to find out that my architect/builder does the same -- I'm paying him $5,000 to dig holes, poke holes in things, survey, price materials, order samples, talk to craftsmen, deal with the planning board etc. and at the end if I decide I don't want to use those plans with him, I can use it to competitively price other architect/builders. But chances are very high I won't, because he's delivering exactly the level of detail and care I want to see.
My biggest problem so far with trying to work as a freelancer has been figuring out exactly what type of work I should be pursuing. I've got a pretty broad skill set, from back-end to front-end web programming in several languages, adequate graphic design skills, and experience with native mobile platforms. While having more skills is a good thing, I feel like it makes it more difficult to market myself successfully.
Has anyone else had this problem? Did you try to focus on one area that you liked the most? Did you pursue what seemed to be in greatest demand? Or did you find a way to successfully market yourself without limiting yourself to one type of work?
Right now, though, d3.js gives me 80% of my income. It's something I like, and I noticed a lot of demand, so I sort of happened naturally. Focusing in a single area has the advantage that you can become really efficient at it, much more than if you hop between completely different projects every two months.
I still have a bunch of side projects in every language under the sun, because that's what I like, and because the market won't stay the same forever, but focusing professionally on only one area (that you reasonably enjoy) for a time simplifies marketing a lot.
If you don't mind my asking, what kind of work are you typically doing with d3? Visualising what kind of data and for what purpose?
I have worked among others with data on local traffic (congestion and travel times), interaction between players on a field during a game, computing performance, some internal manufacturing metrics. I think there's quite a few areas where people want dashboards that are both fancy looking and informative, either for their clients or for themselves.
Some people just have a vague notion of some data they somehow want to display, others have quite precise demands (typically: "I've seen this d3 example and I want the same with this and that specific interaction/effect added.")
I also feel like being in New Zealand hampers my ability to charge a higher rate. I don't know for sure, but I suspect that companies here are used to paying lower rates simply because there's less talent here than overseas.
If written communication between you and the client is strong, it's often an advantage to the client to have someone working out of sync with them. At the end of their day, they dump some stuff into $ISSUE_TRACKER_OF_CHOICE. When they get back the next morning, it's done.
At more senior levels, it seems swapped. Contractor rates seem to have a pretty strong resistance point around $120/hr (if you go by a recent hacker new survey), I think partly because if you go above that point, that's what agencies and consultancy firms and teams tend to charge. Meanwhile, salaries for the same general technical fields seem to go higher than that pretty easily. I'm seeing 130k - 150k pretty commonly in java enterprise positions, more when you figure in bonuses with big companies.
Seems like people at around that level would be well-served to switch to daily or weekly billing, but when you're working with larger companies or vendors, that's a pretty big switch for them. I've tried that approach with a Very Large company and was shut down pretty quickly.
If you're doing freelance, you also have to cover downtime, business development, benefits, and all the stuff that a normal employer might cover, so you would probably be prudent to charge more than ($YourSalary/2000) per hour.
Yes, but you may find it is more favourable (sometimes much more favourable) not to let yourself be pigeonholed as a certain kind of worker at all. Where possible, I'd recommend presenting your offer in terms of value it generates for your client, the way another business would rather than the way an employee would. Angle for them to be interested in results and not in any particular skills or technologies you use to achieve those results, and you change the way the discussion is framed.
However, this advice comes with the caveat that presenting things that way isn't always possible. Many clients really are looking for a certain skill set to fit in with an existing team, and you can make decent, if usually unspectacular, money with that kind of gig too. In that case, ideally you want to offer a credible rate but one toward the high end of the spectrum for your market, which brings us back to "yes".
That said: bottom line is that I should be charging a lot more than I am now. :)
From my experience, invoices that say "Payment due within 14 days" have a greater chance of being paid quickly than invoices that said "Payment due on receipt".
Also, the general rule of thumb is - if you're not sure you're charging the right amount, you're almost certainly undercharging.
I suppose what you mean here is that supply of work is heavily outstripping demand for it, but a better way of saying that is demand for developers is heavily outstripping supply of them.
It wasn't until I realised that even very small companies could afford ( without hesitation ) the rate I was charging that I really started to raise my rate.
A small company got in contact with me asking for one days help solving a few teething problems with their new e-commerce site. I was sceptical and so put my rate up thinking that would immediately put them off. It didn't, instead they'd stated at that price they'd prefer to pay for two days of my time and make sure everything they wanted was done properly.
You should actually charge as much as you can get away with, as much as people are willing to pay you.
Your network is your greatest asset.