82

For a custom software that will likely take a year or more to develop, how would I go about determining what to charge as a consultant? I'm having a hard time coming up with a number, and searches online are providing vastly different numbers (between $55/hr and $300/hr).

I don't want to shoot too low because it's going to take me so much time (and I'm deferring my education for this project). I also don't want to shoot too high and get unpleasant looks and demand for justification. FWIW I live in Canada, and have approx. 10 years of development experience.

I've read the "take your salary and divide it by 1000" rule of thumb, but the thing is I don't have a salary. Currently I'm just doing fairly small programming tasks for a friend who is starting a marketing company, pricing each task fairly arbitrarily. I don't know what I would make over the course of a year doing it, but it would be incredibly low.

My responsibilities for the project would be the architecture, programming, database, server, and UX to some degree. It's going to be a public facing web service so I will also need to put a lot of effort into security and scalability.

Any advice or experience?

Adam Lear
  • 32,069
Carson Myers
  • 2,480
  • 3
  • 24
  • 25

6 Answers6

82

I've read the "take your salary and divide it by 1000" rule of thumb, but the thing is I don't have a salary.

Then take what somebody with your level of experience in your field would typically make, and use that as a basis. If you do it that way, if somebody gives you "unpleasant looks and demand for justification", you can trot out your justification.

I don't want to shoot too low because it's going to take me so much time (and I'm deferring my education for this project). I also don't want to shoot too high and get unpleasant looks and demand for justification... I don't know what I would make over the course of a year doing it, but it would be incredibly low.

Do not underprice yourself. You can always negotiate your rate down, but you cannot negotiate it up. If you price yourself low, not only will you be living on ramen and trashing your self-esteem, but other people won't take you seriously.

Back around 1980, I worked with a guy named Joe at a big factory. Joe had a BBA and years of experience in our field - but he was a line supervisor on the shop floor and wore factory clothes to work. He was full of ideas on how to improve things, but nobody paid attention, because it was "just ol' Joe goin' on about the same ol' stuff".

Now, this was a public company, and it had a couple of employee stock purchase plans with amazing company matching of employee purchases. Joe was retired military, and was on full pension, so he and his wife plowed every penny of his salary into buying up company stock. Around 1980, there was a big run-up in the stock price, and lo and behold... Joe up and quit. He'd cashed in about a quarter of his stock for several million dollars.

A few months later, word came down from corporate: "The Consultant Is Coming". The whole factory prepared for this wondrous person who was being paid fabulous sums of money so he would tell us how to improve things. The glorious morning arrived, a cadre of fawning executives opened the factory door, and there was... Joe. In a $3,000 suit. Joe didn't tell us anything he hadn't told us before, but this time, people paid attention. He and I had been buddies, and I was trying not to double over laughing, and he just walked by and smiled and winked at me.

Carry yourself as if you deserve to be taken seriously. Reasonable people will do it, and you don't need the rest. And the first place to start as a custom software developer is your rate.

Bob Murphy
  • 16,098
71

The best answer I've come across for this question is: "What do you want to earn?"

This then has to be moderated by: "What can the customer pay?"

You can weave a way somewhere in between.

You may also find that if the job is going to take a year, then you could perhaps charge a fixed fee - pick a number - $100K, and say "thats the price". It means you take on the risk if you over-run, but you also walk away with spare $ if you can do it faster.

Otherwise, the way of working this out goes something like this:

  • I want to earn $100K per year.
  • There are 52 weeks in a year, with 5 working days = 260 working days.
  • But I want 4 weeks off a year for holidays (deduct 20 days)
  • I better allow 2 weeks off a year for illness (deduct another 10)
  • I need to allow for public holidays (varies by country but most places, about 12 days/yr)

So, total actual working days / year = 218. I want to work 7.5 hours / day, so there are 218 * 7.5 = 1635 working hours / year.

My $100K / year therefore works out to $100,000 / 1635 = $61.16 / hour.

BUT... to this you should then ADD:

  • Allowance for retirement fund, workers compensation, insurance, odds and ends costs, etc.

As a rough rule these come to about 15% to 25% of salary depending on where you live.

So, shoot for the middle ground and add 20%: about $74/hour.

If you don't like these numbers, figure out what you want to use and re-run the calculation.

EDIT: just a note: a lot of businesses actually work on a budget for their staff of 1500 working hours / year. You might also want to take into account an inefficiency / distractions / goofing off factor. NOBODY consistently actually WORKS for 7.5 hours / day.

EDIT 2: "what do you want to earn" is what you want to bank - after expenses. The allowance for retirement fund, insurance, odds and ends etc is your costs. If you have other costs, eg capital equipment, paying a book-keeper, etc, then you need to add those on as well.

And - long term contract rates are generally lower than short term. Short term needs to include an allowance for job-hunting time / time spent not earning.

ROUGH rule of thumb is that for professional, qualified, experienced software and engineering work over a long term (12 months or more), a rate of about $75 to $100 is pretty normal and expected. (This is AUD, but with exchange rates I'd expect USD to be similar, not identical, but in that region). A real hot shot - perhaps $120 to $150, but you better be hot. If the employer provides equipment (eg PCs, compilers, etc) then knock off about $10 / hr. Short term rates (ie 6 to maybe 12 months): add $10 to $20 / hr.

EVEN ROUGHER: about $65 to $85 / hour is pretty much considered "mates rates" - ie what you charge your friends. At those rates your accountant is likely to be horrified.

PEDANTS CORNER: Rough rule of thumb means just that: rough!

quickly_now
  • 15,060
6

This answer assumes that this consulting gig is (or will be) your sole source of income.

From a business perspective, "what I want to earn" isn't relevant, nor is what the customer is willing to pay.

You are a consultant, which means you are a sole proprietor of your business services. As such, you should calculate your rate based upon your costs plus the level of profit that makes the work (and the opportunity cost of your deferred education) worth the effort.

Figure out how much you need to earn to cover your expenses. This includes mortgage/rent, utilities, supplies, hardware, software licensing, food, clothes, etc. If you already have a budget, then you know exactly what your expenses are. Use this to figure out what each working hour of your time costs. If you intend to work 2000 hours per year, divide your annual costs by 2000.

Next add a margin that makes the work worth your time. If a 20% margin seems reasonable, multiply your hourly cost by 1.2. If 30%, or even 40% is what you require, use that number instead.

Using this method will ensure that your expenses are completely covered, and you probably will not price yourself out of the market based on what you'd like to earn. Know what you need, what markup you require, and use it.

5

I like setting flat rates for popular things, and then I have a list in excel like:

Feature Name | Description | Time to Complete | Price

Which then I add up everything they want and I can come up with a price range. Custom things I normally take a educated guess on...

4

Determine what you need to live on and add 25% that should be your rock bottom. If you go below this you probably will not be able to fulfill your contract. I am not saying you should accept this, just not to accept anything less than this number.

Figure out your happy number. This number is probably quite a bit higher than your rock bottom. This is the number that if you are making this much then you have what your realistically want and can live happily. Your needs are easily filled and unexpected expenses should not create any hinderance.

Where does your happy number fall in relation to your expectations? If it is lower than market rate (assume 60/hour for arguement) then ask market rate. If it is inside market rate then ask for what you want. If it is above then you have to choose between sacrificing how you want to live, or potentially pricing yourself out of the market.

Update - The $300/hour job is probably a short term (around a week or less) immediate need(Need you here now because we are losing money) consultant. If you luck into one of these great charge what ever you feel your time is worth. If you are a business losing 1million a day, paying a consultant a few grand to get you up and running is nothing. If you can find any non super specialized position with a year time frame it is not going to pay 300/hr.

Stop worring about what you could be making and focus on what you want to be making. You will be happier all around. There will always be the guy that says i could have gotten more. If you try to compete with the Jones you will lose because Bob Jones has a cousin Charlie who does even better. And he has a brother David that made gajillions getting out at the right time in the widget bubble...

SoylentGray
  • 3,104
3

You should define your rates based on the value you're delivering to the client. If your custom software is going to increase their sales or profits, you better increase your rate since they can afford it and it's worthwhile for them. This is called "value-added"

Never underestimate your own value.

You can charge $20/hr if you want to compete with outsourcing firms, or you can charge $100/hr and frame your solution as a value-add for the business that will increase profits.