Thoughts on Software and Technology

Hourly work, fairness, and the scamming of lawyers

I’ve been working full-time as a contract programmer for a few years now, and have recently begun to realize something very disheartening:

My clients get a lot of shit for free.

Now, that’s not disheartening in a “they get stuff I don’t get” sort of way. I mean, good for them. I’m a happy person who likes spreading happiness, so I’m not against them getting shit for free on principle. The problem here is that my clients get a lot of shit for free that I do– and thus, it means that I’m doing a lot of work for free.

Today is a perfect example of this. Today I did some quick work for a client that submitted a request using my ticketing system. Since I wasn’t actually working for someone else at the time, I went ahead and tackled it. The time I spent on that, from initially seeing the email to completing it barely scraped 20 minutes. I loosely round to 15 minute increments, and generally don’t charge for a quick 5-15 minute bit of work. Thus, I did that for free.

Then, since I was already outside of a context, I checked my email, and there was another request. Similar thing, similar outcome. A wee bit of unbilled work.

Then, there was another request from another client. This one took about 45 minutes. So, I went into FreshBooks and went to bill them, only to realize that it was the first time I was billing them this month. I’ve worked for that client almost 4 times already this month, and this is the first time I’ve billed them.

I am extremely hesitant at this point to back calculate just how many of these little things I do without billing.

Metric billing

When I was working in environmental consulting1, I had this ridiculous billing sheet that I had to keep. It was 10ths of an hour, which makes sense from a percentage perspective– easy calculations– but becomes mind-numblingly frustrating when you have to actually write down the fact that you used two billing increments because it took you 10 minutes to go to the bathroom!

I mean, think about that: 10ths of an hour: 6 minute increments. Imagine tracking what you do by looking at every 6 minutes! “No, I don’t have time to glance at your stupid Star Wars link, that’s like 2 whole minutes!!”

I thought I would go crazy at that job. And yet, oddly, lately I’ve become to realize that it makes an insane sort of sense. My base rate is $85/hr, which means that one of those billing increments is effectively $8.50, which means that my “barely scraping 20 minute” task that I did for my client was worth $25.50.

Again, I am extremely hesitant at this point to back calculate just how many of these little things I do without billing.

Small clients, hourly work, and the fallacy of ‘free’

And so we have a problem. I basically refuse to bill more harshly– admittedly out of my own laziness– but continue to have lots of small contracts which, by their very nature, necessitate harsh billing. It makes my relationship with my clients more lopsided, which doesn’t stay positive. I’m starting to realize that this is far from a “good deal” for my clients. In fact, it’s a pretty bad thing.

Think about it. I do work for my clients for free, and I do this free work all the time, right? That’s great because my clients are getting stuff and not paying for it, right? Wrong. The more I do work for free, the more working for this client becomes a burden, either real or perceived, and the worse my work gets. I get less engaged, and more frustrated, with every task.

That’s not good for either of us. Good business isn’t about getting shit freely. That’s a fallacy. Good business is about getting shit fairly.

I understand the lawyers

Lawyers. Those bastards.They do this thing which I always thought was really shitty and unfair. They charge you for work they don’t do. It’s this scam they have called “being on retainer.”2 They charge you this monthly amount for work they “might” do. If you call them, you pay. And if you don’t call them, you pay. Then, if you want them to do a lot of work, you pay more!

I understand this now.

Lawyers aren’t bastards at all, and they are not scamming at all. It may not be perfect, but what they are doing is trying to get as close as possible to “fair.”

This is why my lawyer doesn’t charge me when I call to ask a simple question, yes. But more importantly, this is why my lawyer is actually engaged when I call to ask that simple question. I now realize why the lawyers do what they do, and I have to say that it’s a seriously good idea.

I’ve got a couple clients that I don’t hear from for months, who will then call with work for me to do. This is a bad situation. Since I’m not getting paid unless they call me, I have to take on other work, so I fill my schedule, book myself up, then get this call from someone asking me to do work, and I can’t.

At that point, I have no time for work. It’s not like I set aside time just in case they called me. I can’t do that and survive. So we’re screwed. There’s no good solution, and anything we come up with is the least crappy choice of either “fitting it in” or doing a less than perfect job just to “get it out of the way” or even saying “sorry, you’re out of luck.”

From now on, I’m on retainer

Here’s the thing: I want clients who value their own work, who take their own work seriously– seriously enough that they demand that I take it seriously. Because I take my own work seriously. I spend enormous amounts of time working to improve myself, to work better. I value my work, and I want clients who value me.

I’m no longer working hourly for any contract that is not a significant portion of my time. My plan is to set a “retainer rate” at some fraction of my base rate, which my client will pay monthly in exchange for me guaranteeing that they have a certain amount of hours. Those are hours that I don’t have to fill with other work. Those are hours I can set aside for my client, and if I don’t use them for my client, then great, I use them to work anyway, learning another framework, or another language, or just playing with a design pattern, or refactoring something in their code. All of which makes me better, and more valuable to my clients.

It’s all about value.

Retainer doesn’t mean “I’m charging you for work I might not do.” Not at all. I see that now. Retainer means “I have to find work, and you’re going to get shoved aside and treated like shit, unless I don’t have to find work.” Retainer means “You value your business enough that you don’t want stuff to ‘maybe get fit in.’” Retainer guarantees access, but more than that, it guarantees fairness.3 It says “I care about my product, and I care about it enough that when I want you to work, I don’t want to wonder whether you can.”

It shows that the client values their product, it certainly shows that the client values me, but most of all it shows that I’d damn-well better value this client.

That, my friend, is good business.

  1. during my short, foolish attempt to convince myself that I’m not a developer in my heart []
  2. Yes, I realize they are not the only ones who use the retainer, but they are my foil for this article, so shut up. []
  3. or, at least, comes as close as we can get easily in our system. []
Powered by WordPress | Designed by Elegant Themes