Hacker News new | ask | show | jobs
by tptacek 4782 days ago
It's good to do the exercise of doubling your salary and backing it out to an hourly to figure out what your cost floor is, but it's easy to show how this still gets you an under-the-market result: consulting companies can pay market salaries, handle 70-80% utilization, and still have strong margins.

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.

5 comments

>don't bill hourly

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?

Without getting into a big long billing discussion, just change your minimum billable time from an hour to a day. If you spend less than a day working for your client, bill them the day anyways. Just make it clear up front that you bill in daily increments.

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.

Or quote on deliverables providing estimates for development time, then charge quoted prices for those deliverables (fractionally based on progress if the customer is hours-focused). Be honest about this.

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.

Everything in this comment would be fine if you just changed "hour" to "day". As it stands, though, you've needlessly complicated your pricing by making it too granular.
Thanks for the response. I'll have to give it a try. And I need to stop working for stingy clients...
If you quote by the day, you'll find far fewer, I suspect :)
Really depends on the clients. For individual entrepreneurs who "want an app", there's only so much you can charge, and half day increments just aren't going to happen. I take these clients because I like working with them, not because they make me wealthy.

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.

By billing daily or weekly, you may not have to keep track of all the billable time or worry about not getting compensated for late night calls. Plus, you are not punishing yourself for getting the work done early :)
That sounds good from my end (as the freelancer), but won't the client be upset if they pay a day rate for what might end up being a half day's work? I guess the client would have no way of knowing this, but it still makes me feel uneasy.
You need to get out of the mindset of charging for your time. You are charging for the value you create - and time is just a crude approximation of that at best.

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.

That is their problem and not yours. Establish a sane pricing system, communicate it to your client, and move on. I would (again) argue that hourly billing is almost never a sane system.
I've never had a client ask or complain about that, and the ones who would probably aren't clients you want, either.
There is a difference between cost and value. The client valued your ability to solve their problem as equal to your daily rate. It shouldn't matter if it took you 1 hour or 8 hours, they are paying for a result, not for you to punch a clock.
The client is not paying you for your hours. It really doesn't matter to them whether you take an hour or a day to do the job, as long as it gets done.
> As always, let me remind you: don't bill hourly. You are not a furniture mover.

This is some of the most valuable advice I've ever received. I have patio11 to thank for it!

Thomas got me to do it and later preach it. It's a virtuous cycle! (Also, charge more.)
Also bcrypt! And CISPA isn't as bad as they say it is! And neither is Wikipedia!
> As always, let me remind you: don't bill hourly.

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!

If you produce meaningful business value in 2~4 hours, just charge for the day. Butt in chair is not what they are buying from you. If they wanted cheap butt-hours you're already not cost competitive. Instead, deliver what they're asking for and don't worry them with irrelevant trivia like your fluctuating time-costs at different stages of the product cycle.
Totally agree on this. To put it another way, charge for product (value delivered) not process.
In all, I agree with billing at a daily rate. Personally I bill in half day increments for minor maintenance with smaller loyal clients and daily or even weekly for significant slices of work. A worthwhile client won't pay much attention to how things break down in smaller increments provided they know up front that there is a minimum block.

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.

>One of the healthy side effects is that you'll rarely end up with the "can you just quickly add x" requests

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 really, that's the entire point: as a developer your effectiveness in smaller time increments is usually limited. Context switching has a cognitive cost that's generally paid in larger time chunks, so it makes sense to set your client expectations in those terms.

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.

What do you mean it's awfully hard to do? Psychologically?