So I am looking forward to an internship. Well, more like consultant work. They've asked me that I translate a certain Google research paper into software code that they can then add to their system.

Now, I am not sure how to negotiate pay for this. There are a few factors to consider:

  1. This is definitely highly specialized work. How do you factor the difficulty of work into pay?
  2. I think the work is doable in a month, tops. The timeline given to me is 3 months. I could do it in a month and then just slack around and pretend that I am working (bad). Or find out an acceptable middle ground where I get paid not by months but by work done. Basically, I do this work for you, you pay my $xyz, regardless of the time.

What'd be a good way to negotiate pay in such a situation?

  • They didn't offer a price?
    – Kilisi
    Commented Oct 8, 2016 at 20:07
  • @Kilisi no, not yet. they just told me what needs to be done and it is up to me to tell them if I feel I can do it or not. and quote a price.
    – An SO User
    Commented Oct 10, 2016 at 5:51

2 Answers 2


You certainly can negotiate a fixed cost contract. Be aware, however, that this sort of thing is quite risky particularly when you don't have a lot of consulting experience. I would be very, very cautious about doing so for anything close to an internship.

You bear the risk of misestimating. Most developers, particularly younger developers, suck at estimates. Perhaps your estimate of a month is right on the money. Perhaps their 3 month estimate is closer to reality. What happens, though, if the project takes 4 or 5 months? Almost everyone that does fixed bid contracts has a horror story (or three) about a project that they lost their shirt on. If you aren't highly familiar with their existing code base, a project to integrate your code with their existing application is quite risky-- you never know what struggles you're going to have because of issues in their code that you're not aware of.

You bear the risk of scope creep. Documenting the complete scope of a project is a skill that, again, most developers are not good at. In the real world, that means that there will frequently be cases where the company asks you to do more work because they're making a very expansive reading of anything that is potentially ambiguous. You, on the other hand, are going to have the financial incentive to make the narrowest possible interpretation of the scope. If you're not comfortable pushing back professionally on requests, you can find yourself getting taken advantage of.

You're taking on billing and tax risks. An intern would normally be a short-term employee of the company. The company would give you a regular check, it would withhold taxes, etc. A fixed price contract, though, means that you'd be a company that would need to invoice them, wait for them to pay (it would be normal that the company would have a month to pay after they received your invoice), follow up when they haven't paid on time, etc. Being a company also has a lot of tax consequences-- you'd owe self-employment taxes, your taxes get a lot more complicated to file, etc.

I'd strongly suggest at that you just try to work as an intern. If you manage to complete the entire project and every bell and whistle that the company can think of in ` month rather than 3, it is unlikely that they are going to run out of things for you to do. Companies always have more work than they have developers to do it. If you exceed their expectations, they're going to find more work for you to do.


As a consultant I use many factors to determine charges. Everything I do is specialised or they wouldn't be paying me to do it.

The vast majority are things that other people could do, so I charge a reasonably competitive rate based on what big conmpanies would charge for the work. But some things the next nearest person who could do it is 2000 miles away and would be costly in logistics and hotel rooms and plane flights, so I charge a lot more. Up to 6 times my usual rate.

Basically you can charge anything the market will bear, so you analyse everything you can and then make a best guess at how much you can get away with charging.

In your case at intern level it seems unlikely that you're the only person who could do it, so best practice would be to try and find out what the basic charges are in your area for the skills needed and ask for that.

I tend to prefer being paid by the project rather than the hour if it's something I can estimate timeframes on confidently. But I have a lot of experience estimating those, and it's a skill in itself. Be very careful with your timeframe estimations they can make a huge difference to your hours/pay ratio if you make a mistake or something you didn't think of comes up. And even more so if you don't have a detailed scope agreed to on the project, you might find things getting messy.

In which case the hourly deal is preferable.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .