I work as a full-time programmer and about half year ago.

I also started to work on freelance; so I have pretty much experience as a programmer, but I feel that I lack some organisational skills needed for freelance.

I agreed to do a fixed price job.

I didn't have enough experience to estimate it and thus I underestimated it (I track my time and I spent about 4 times more than I planned), but I understand that I can't blame the client, because we discussed the conditions earlier and he did everything right.

What do I do in such a situation?

I see several options here:

  • just finish the job: it results in lower rate, but, anyway, I learned something new from the situation;
  • inform the client about the time I spent. Not sure what should follow that line.

What can you recommend me about that?

3 Answers 3


Always and always, in case of miscalculations, talk to the client first. Explain to him why you missed estimations and how you worked much more than you initially thought.

Ask the client if he is willing to compensate extra hours you put in the project. Client has right to decline since it is not his fault you missed your calculations. But any good client will offer you extra, if not in full, then partial extra.

You should also ask yourself: why did you work extra? Is it because you were learning new things? Or clients added new features / you discovered new features? Were these discoveries result of junior inability to discover them or even a senior would miss on this spot?

These are the questions you should ask yourself before asking for extra. Client are usually not willing to pay for your learning (nor they should) because they hired an expert. And it is your fault is you misrepresented yourself. So just think about these things to see what is really extra and what is the learning.

PS. in case a client wanted low-end junior developer, this does not work. In this case, ask for all extra work as the client was aware that you will learn new things on his project.


Providing a fixed-price quotation is really hard, for anything which includes work one haven't done before, preferably several times. It also requires a really mature client that is used to provide clear and unambiguous requirements - a rarity in the business. And, the client must of course pay a premium to compensate for the risk.

But, my experience, is that most clients are understanding if one is open about the issue and a good description of why the quotation turned out wrong so wrong. Don't expect the client to pay for all your loss, but you might get some good-will compensation.

On the other hand, if we're "only" talking about a man-week or two in actual work, I guess it's not worth the hassle. Just swallow the pill and enjoy the learning experience.

However, what makes a supplier stand-out from a client's perspective, is not how well the project executes when there's no hickups, but how well the communication and issues are resolved, when the project runs into problems.


I agree with Fredrik.

The same situation has happened to me before. I usually give the client a fixed price for what I think a good programmer would do, but then add a few weeks. I partly do this so that I have more time. For example, charge for 2 weeks work but say it will take 4. This is because I want to give myself contingency in case anything goes wrong, but also because I do freelancing on the side of my full time job as a programmer, so essentially I am working part time on it. I don't expect the client to pay full time for part time work, so they are charged at part time but give me extra time.

If you come across something that will take a bit longer because you thought it would be an easy job but turns out it's not, is it your fault? i.e is it because you're weak in that area? If it is, then deal with the extra time. If, however, what they've asked for is more complex than what you thought and there is no way it wouldn't take someone else longer, then tell them.

For example, you thought they only wanted 1 component but they actually meant 5. In that case, say it will cost more. However if, like I said, it's just taking more time because you're learning, then don't make them pay for that.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.