Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

It's not very rare programming question, but it's about a work of a freelance programmer and I think you can help me so maybe it's ok to pust it here?

So one dev-company asked me for doing a programming consultation. It's should be like this that the company can call me and ask questions and gets answers how to do this, how to do that and so on. I never did this kind of work and I think what is the best way to deal with this kind of cooperation.

Should i charge per hour? It can be short questions, by phone or e-mail and it can be not easy to calcuate and take a grip on the time and cost. Or should I charge per consultation? And if something will be not-worth mentioning and there will be more short questions but plenty of them? Or should i charge montly?

Did you do some kind of "programming consultations"? Heck i don't even know what is the right name for this kind of job. Do you know any sites or keywords that could help me get more info on the topic of this kind of cooperation ?

share|improve this question

migrated from stackoverflow.com Mar 17 '11 at 0:36

This question came from our site for professional and enthusiast programmers.

You might want to ask this on programmers.stackexchange.com –  dotalchemy Mar 17 '11 at 0:19
what is the difference between programmers.stackexchange.com and stackoverflow? –  tomaszs Mar 17 '11 at 0:22
@tomaszs: stackoverflow is about actual programming (coding) questions. Programmers is for general discussions related to programming (like consulting, theory, etc.) –  Ken White Mar 17 '11 at 0:28
@tomaszs. Check out these FAQs to know more about the differences stackoverflow.com/faq and programmers.stackexchange.com/faq –  Jean-Louis Mar 17 '11 at 0:28
Thank you. The faq didnt help in first place thats why i asked. –  tomaszs Mar 17 '11 at 0:39

4 Answers 4

A retainer might work well in that situation. Have the company commit to paying you for X hours of your time every month. They pay you for these hours whether they have work for you to do or not. But you commit that no matter what other projects you have, you will be available right away to consult for them.

If they exceed the agreed-upon hours for the month, you can have an agreement where you will provide additional help for an hourly charge, probably at a higher rate than the retainer hours, but that is up to you.

Your benefit: you get a check every month no matter what. This can make consulting work much less stressful since you have some certainty.

Their benefit: they get your time when they need it (you can't be 'too busy' if they are already paying you), and predictable limited cost.

Agree on what constitutes a billable hour (a 5-minute phone call?) or use some smaller unit of time, like 5 or 15 minute intervals.

Keep good records so they know what they are paying for. Be sure to notify them if they are near the monthly limit. You can choose to be flexible and exceed the limit, but be careful that they don't abuse this and expect it at all times.

share|improve this answer

I would Charge an Insanely High Hourly rate...

What it sound like to me is that they want a Sr. Dev to call on for all the Hard stuff and keep Jr guys on staff for most of the everyday simpler stuff. You will find your self being called on to fix a Bug the team that created it can't find.

They want a Tech lead without actually paying for one. If you go with a monthly fee you will be raped.

PS: I would push them to hire you part time (at least) with set hours. (and paid overtime)

share|improve this answer

Have two rates:

First you have your initial consultation. In this phase, you say "I'll give you four hours to explain your problem to me." or something like that. In that time you gather data you need to begin solving the problem.

You then go back to your office/home and make a timeline of how long it will take to fix it. (Give yourself lots of wiggle room!)

You then go back to them with your estimate, including your cost estimate. You can charge a completely different rate for this. Probably more, since your initial consult will be lower (to entice them to do it.)

share|improve this answer

Charge at least double your normal hourly rate for a minimum time per call, plus an on-call allowance since they want quick answers. If they do, you also need to make sure it's compatible with your main job - some employers won't like you taking random half hour breaks to serve another client.

I would be very tempted to make the cost escalate over time. If you say $100 for the first hour in any week, then $125 the second hour, $150 the third and so on you can be sure that they won't end up taking half your life away. Otherwise you'll be working very long days when the second client is in trouble.

And don't hesitate to charge every time they ring you, for whatever the minimum time is. I suggest making the minimum 20 or 30 minutes, to cover the loss of state when you break your main programming job to answer a question about something completely different. And charge in 10 minute increments. That also means they have no incentive to play the "ask really short questions and hang up the instant they think they know what you mean" game.

If you go for a retainer or "x hours a week" (months don't have an even number of weeks which gets annoying), make sure that it is reasonable for you, and you enforce it.

Sorry if this sounds negative, it's just that I've fallen for the "can we ring you if there's a problem" when I've left jobs in the past, and it's turned into trouble when they hire a junior developer to replace me. The main thing is to be clear what you're selling and make sure it fits with the rest of your life.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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