Why do I work on an hourly basis?

Original author: Orestis Markou
  • Transfer
Translation of an article by a young Greek programmer “Why I bill hourly”

Recently I was approached by my first potential client who wanted to add several features to a small application on Django. I announced my hourly rate, which shocked him extremely - he wanted to hear a fixed price for the improvements he needed. What came of it? We work together, he is very pleased with both the results and the amounts he spends on them, but I did not compromise with my payment principles. Here are the arguments I used to defend the view of why the hourly rate is better for all parties concerned - maybe they will help someone else.

I like to compare software development with building construction, starting from an empty land plot. The process looks something like this:

Client: Here is the site on which we will be built. Here are the sketches of what we want to build. Can you name the exact cost of construction?

Any civil engineer will shy away from such a proposal, while programmers, in their thirst to conclude a deal, will estimate the estimate, double it, add 30% and hope for the best. How do I answer this question?

I cost XX $ / hour. I can spend 2-3 hours for free on an assessment of what you want to receive. After that I will start to take money, even for a five-minute telephone conversation. The rule is simple: if I do something that I would not do if it weren’t for your project, you pay for it.

My client was terrified. The first thing he said - XX $ / hour - is too much! Then he recalled other developers who spent his time and money and did nothing useful. In some ways he was right - how could he know that he could trust me? To this, I, too, was ready to answer.

XX $ / hour seems like a big sum, but a) I'm damn good and b) I work fast. If I do in an hour what the other needs three, you will end up paying less.

I use a timer and accurately measure the time spent on work.Seriously. I press “start” when I start the editor, and “stop” as soon as I commit. If I get distracted by more than 30 seconds, I pause the timer. Daily reports (automatic, of course) allow the client to track the cost and plan expenses.

I am noble and will not overcharge. But I could! I have knowledge of the subject area, and I can claim that I spent two hours at work, although I did it in an hour. I could squeeze a dozen extra hours every month, but the game is not worth the candle. My reputation is more valuable than any one-time amount of money. A satisfied client will give me recommendations and advise me to my friends, and any suspicion of dishonesty will ruin this prospect.

Before starting any task, I will give you a justified assessment of its complexity.If at some point I understand that the task will take longer than I expected, I will provide you with complete information about the options for action and you will make a decision. You do not need to worry about hidden costs: I will keep you informed about upcoming work, and let you decide and prioritize. I will not disappear for a month to return with a finished project and demand a monthly fee.

The assessment of each task will be no more than 4 hours.This is the most difficult: if I suspect that something will take more than 4 hours, I put “unknown”. Imagine that you were asked to paint a room of an unknown size - any estimate of the time spent would be random. In the case of programming, I will need to spend some time planning and thinking over a solution before evaluating its complexity - and you also pay for this time.

This particular client realized this very quickly, and now he gives me very detailed specifications, data descriptions, even interface layouts. Thus, he reduces his expenses and ensures that the planting of opportunities does not destroy his project. The latter is very important - any client dreams of a great future for his application, and he will always demand new improvements under the pretext that their need has arisen from his sketches. If you called a fixed price and even wrote a detailed technical task, you have to deal with it at every step, proving that this was not in the task! With an hourly rate, you can say “ok, let me evaluate how much it will cost you” - and there let the client decide whether it is worth it.

In the process of developing any product, unlikely problems will unlikely arise that are not inherent in the initial evaluation of the work. There are two ways to account for them - to lay their value in the budget from the very beginning (and either the client overpays for something unnecessary, or the developer lives in constant fear of exceeding the budget), or to be honest with the client and allow him to make decisions so that he pays more only when it is really necessary.

The key elements of my approach are daily results, ongoing communication and trust. I believe that this allows the client to get the best results for minimal money, and to me - the confidence that I will not work for food due to an unsuccessful assessment of the project budget.

Translator Commentary

I want it too!

PS The main thing is, let's not read this article to your friends dentists ...

Also popular now: