Hacker News new | ask | show | jobs
by krm01 2645 days ago
It’s been said numerous time here on HN and elsewhere (read patio11’s kalzumeus.com) but just to repeat what others and myself have found to work best: dont charge per hour. Charge per day/week or month.

Your goal is to work efficiently and fast. When you do this, it means you get to make more money for less time and the client gets the benefit of getting work done faster.

3 comments

Pros of charging hourly:

1. You penalize people who are wasting your time with trivial work like testing or not refactoring.

2. You can part time, or do a major project in parallel. E.g. work on the train, or while teaching classes.

3. Suitable for work where there's a lot of time consuming back and forth and experimentation, like working with APIs, CSS, copywriting, UX design.

4. You simply want to do other things the rest of the day - go to the bank, play video games.

Pros of charging daily:

A. If you have a lot of non billable hours. For example, you do a lot of hard work and need lots of rest.

B. Works better where there's less trust in the contractor. Sometimes when you don't trust yourself either.

C. Suited for deep work, which is hard to get into under pressure of hourly billing.

D. More room to research, where you don't want to feel guilty spending a lot of time researching something.

E. Less switching costs because your whole day is dedicated to only one thing.

For stuff like machine learning as opposed to front end web dev, perhaps daily rate is best.

How can you work less AND get it done faster?
That's what "efficiently" means. More of the task completed per unit of work performed.
This makes no sense mathematically - changing the unit of measurement (and perhaps rounding) cannot make a real difference unless substantially all of your results are between 0.5 and 1.5 unit.

If you said “charge by project/milestone”, your reasoning makes sense.

The people who charge a lot by hour (lawyers, tax specialists etc) will often charge in 15 minute increments. Even if you charge by day, tou’ll find you have to charge in 0.25 day increments or so.

Another way of putting this might be "charge by the sprint".

You don't track your time specifically, you do report back on your progress each week/two, and the company makes renewal decisions off of that. The point is to not subdivide the week.

Can you explain more how this works? So you get paid upfront for a e.g. two week sprint where you say what you think you'll get done in that sprint and the client picks if they want to renew for the next sprint based on a progress review at the end?

How does this work out if you finish all the tasks in the sprint really quickly or barely finish any in terms of client happiness? What are the benefits over charging per day or week?

You're assuming that in order to bill one day, you have to work 8 hours, which is more or less how hourly billing works, particularly in the cases you cite where the actual billing unit is 15 minutes. But a day rate works differently; it basically says that for the duration of the contract, you will get paid each day you're on contract, regardless of the actual number of hours worked. You might work more than 8 hours a day, you might work less. Either way, you get paid for the day.
> But a day rate works differently; it basically says that for the duration of the contract, you will get paid each day you're on contract, regardless of the actual number of hours worked. You might work more than 8 hours a day, you might work less. Either way, you get paid for the day.

Can you explain the advantages daily billing has overly hourly billing when the client has a constant stream of work to keep you busy?

Sounds like the main benefit is if a client interrupts your day with only a single hour of work to do, you can bill them more? Apart from that, doesn't it still have the downsides of having to keep timesheets, having to justify your hours and working faster means you earn less?

If you get a stream of tiny tasks from your client, maybe hourly billing is the way to go.

I'd they present you with a project that you agree to deliver in 6 weeks and then mostly leave you alone in the interim, it's probably a different story.

In the 6 weeks scenario, when would you consider fixed price over weekly? With fixed price, there's a large incentive to be efficient and you can juggle more than one project at a time if you want to.
A day rate can certainly work against you, in the same way that salary can work against you, if there's more work to be done than can be fit into X number of days at 8 hrs/day. You may end up working 12 hour days for the duration. I think the convenience of a day rate is more about not having to track work at a tight level of granularity, and having a guaranteed minimum per day, than it is about pocketing efficiencies.
One of the core benefits I think of fixed price is you have a large incentive to be efficient, which you don't have so much with hourly, daily or weekly billing. Do you know any other payment structures that encourage efficiency in the same way? There's milestone based billing which is similar to fixed price but requires more planning.
How does that make a difference if you don't exhaust the work-available-to-do?

You could work just 1 hour a day; but you can similarly just work 10 minutes out of every hour you bill. If you're saying "well, yes, but it's not considered ethical on hourly rates and considered ethical on daily rates" - then our experience differs.

I think you've answered your own question. Between working one hour out of the day, or ten minutes out of each hour, which is actually more feasible and likely?

In a day rate situation, if you're blocked by client inaction, they're still paying you daily. In an hourly situation, that is generally not the case. And if you can truly satisfy client obligations working only an hour a day (very unlikely), then yes, you'd still get paid for the days and there would be nothing unethical about it.

Yes, I answered it - and in my experience, and I do have relevant experience, it’s not acceptable unless (a) blocking and (b) properly agreed and documented in the agreement that downtime waiting for client is billed at full rate. YMMV - either way, unless blocking is common, the day rate vs hourly rate is just a change of unit. Blocking is not common in well run projects I’ve been involved in, and not even in those that were badly run (though more than the well run)