Hacker News new | ask | show | jobs
by tptacek 5162 days ago
Your definition of the word "fair" is broken.

You've defined it to mean "extracts from the relation, at all feasible cost, the maximum amount of value for the client".

That's not what "fair" means. "Fair" means that both the client and the consultant agree that the terms of the engagement are equitable: that the consultant is being compensated in accordance with the value they're generating.

The clients you want to work with will universally agree that, absent some other arrangement, it is "fair" to establish a minimum billable increment of a full day. That full day increment accounts for the cost to you, the consultant, in terms of lost flexibility and opportunity to serve other clients for the remainder of that day; it also accounts for the amount of time you're inevitably spending "ramping down" from one project before "ramping up" to the next, and for the complexity that client is adding to your schedule. It also acknowledges the fact that virtually anything you could be doing for them is worth at least one billable day.

What I find most amusing about discussions like this is the stridency of opposition to 1-day minimums. Freelancers on HN are, frequently, proud of the fact that they're screwing themselves, and proud that they're leaving money on the table.

2 comments

> being compensated in accordance with the value they're generating.

I think the above phrase is the key to understanding "per-day" vs "per-hour" billing thinking.

I suspect most developers don't think in terms of value they're generating--partly because they don't know the value they are generating.

It's easier to think that you're billing based on "how long I'm sitting in front of the computer typing" rather than "how much value I'm generating" because then you don't need to think about how much value you are generating.

From a client's point of view, they're never paying for you to sit in front of a computer, they're paying for the value you're providing to them.

I suspect part of the issue is that "per-day" still seems like a measure of time not a measure of value.

Don't be smug and insinuate I am screwing myself. I am also not against daily or weekly rates. I think they are great. But so is hourly.

Working in a development role, the amount of time I put in on a project is highly correlated with the amount of value I add to a project. If I work every day for a year on a project, I will likely provide more value than if I worked a month. If I work every day for a month, I will likely provide more value than if I worked a week. And so on.

The amount of value added for the sake of compensation gets really tricky, but that's why freelancers have a best guess hourly/daily/weekly rate.

Therefore, over a period of time for a given client, I find it silly to assume a day where I show up, change a line of code, and go home is of the same value where I put in a full 8 hours of work. Equally silly would be a client suddenly finding themselves in a tough spot and needing some extra hours put in and me going uncompensated for the extra value added.

A daily rate works great when all days are relatively equal in productivity/time or your necessary threshold for showing up for a client is much higher than an hour or two of work. Mine is not. And it's not because the client is screwing me or I'm accidentally leaving money on the table, but because sometimes I just want to go home and not work a full day. A client should not pay for that.

If it is possible to be smug while telling someone "you're worth more than you're charging clients", guilty as charged.

You're not against weekly billing. Ok. I am against hourly billing. The logic I perceive in your argument is, "the client is paying me for X amount of code". I'm telling you that that's not all they're paying you for.

The client isn't paying me for lines of code added (I would often lose money if that were the case!), but they are clearly looking for me to add some sort of value. Otherwise I could just show up every day, give out some fist bumps, and go home while billing my daily rate.

Since directly measuring value added for the sake of compensation is not so straightforward, freelancers use rates (for better or worse). My argument is, the more <measurement of time> I work, the more likely I will add the value the client is looking for. Since I like a lot of flexibility in my schedule and want to still bill fairly (for both the client and myself), I use hours as my <measurement of time>.

Note that most labor laws require workers be paid for a 3 hour minimum. If you get called in for 10 minutes, you get paid for 3 hours. If you get called in at certain inconvenient times, your wage skyrockets. This applies to unskilled labor jobs. Think about why that is. There is much more to "value" than the total number of minutes you warm a chair.