views:

3532

answers:

6

I have been offered to work on a medium sized maintenance project. I haven't done freelance work in a while and am looking for some advice on how to set an hourly rate for this project.

The job was offered to me through word of mouth. A business needs some bug fixes and improvements done to their LOB software. The original software was developed by an offshore company that is now "too busy", in the words of the business owner, to make modifications. I am cautious to what that means exactly, but I will have a chance to look at the source code and perhaps even consult with the original developers before taking on the project.

I do not want to set a flat rate for the project, since it could potentially "get ugly" if the quality of the original code is sub par. Naturally, I am not willing to work for free.

I have never worked for a software business so I have little experience when it comes to rates. However, I would consider myself a competent developer and I do hold a BS EE/CompE degree, although I am not sure if that matters more than being able to sell your services.

I would appreciate any advice or hard numbers to help me make the decision.

Forgot to add: This link was helpful to me. I am looking to diversify the suggestions made in the article.

+2  A: 

Google for hourly rate calculators such as this one - http://www.users.on.net/~wallala/Calculators/salary_rate.htm. If nothing else it will help you with what extra things you need to account for.

Myself, I keep my rate fairly consistent and creep it up year by year by 10% or so (more if my level of service drastically improves). I charge a little less for clients I have a long-standing relationship with but not much less. I try to deter really painful jobs with a liberal dose of CT (C%%$%t tax) or feign unavailability.

Don't under-sell yourself. If you undercharge you're not doing yourself, nor the industry any favours.

As for specifics, I'm not in your geographic area or field of expertise so I can't offer any specific help there - sorry.

Edit: Don't forget Professional Development - add up all the conferences and courses you'd expect to do each year and add a little more. Also don't forget accountant's fees, car costs etc.

CAD bloke
+7  A: 

adding to the advice in the linked article you gave:

  • calculate at most 50% of your time as paid time, you'll need the rest for administration, slack time and keeping up to date with technology (you'll get paid for being up to date)
  • I've had good success with a satisfaction guarantee: Bill your rate, ask for 80% immediately, the rest 2 months later if the customer is satisfied with your work. If they aren't satisfied, they owe you half a page of text describing what they are unsatisfied with. No question asked. If you are not satisfied with their answer you may eventually cancel your contract sooner rather than later.

This shows them that you trust yourself, rather then asking the customer to trust you first. I (and others I know) never had anyone paying less. In fact, everybody paid 100% immediately, but offering this 80/20 (or 70/30) model was a great selling point.

Sorry, no hard numbers...

Olaf
+23  A: 

Here is a formula I use.

Take your hourly rate that you want to make, IE, what is YOUR TIME per hour worth to you.

Then, mark that up x1.5. This is roughly what it would cost for you to live on that hourly rate. It's also a hard number that most employers pay for an employee. If an Employee makes $10,000 a year, then it's easy to say that the employee costs the company at least $15,000 a year, and in some places (like California, where I'm at) up to 1.7x.

Then, add in your overhead (your tools, computer, cost of compilers, electricity, Internet connection, phone bill time, office rent, and so on) which I find to be just about 1.8 to 2.1x markup again.

Of course, this all varies on your location, experience, the company you are working with, etc... So, if you want to make $10 an hour, you need to be billing about $30 an hour. (The shortcut way is to take the $ per hour you want to work, and multiply it by 3.. heh).

I learned this from years of running a retail business, plus being in the software contract business. You will find that places like Auto Mechanics charge similar numbers.

Now, as for the number of hours it will take you to DO the job? That's up to you. The best thing is to be honest. If a code change will take you an hour to do, don't bill them 8 hours of work... If you know you are going to have a lot of repeat business with this customer, amortize your cost of learning the code, and all that over different billing cycles. You will spend 10 to 100 hours depending on the size and scope of the project, but make sure you bill them for every hour you spend setting up the build env, and so on, if they have a complicated process.

Hope this makes sense, if not, I can go into more detail, but bottom line, it's up to you how much you charge, but remember, you don't want to be the cheapest, or the most expensive. You want to be in the middle. And don't forget, and I can't stress this enough, to get it ALL in writing, in GREAT detail before you write byte one...

Do everything with signed contracts, and don't forget to add in time for your own "support and maintenance"...

LarryF
A: 

I have found it really useful to track my time on projects in order to help me make future estimates. The fact is, you are going to be way wrong on estimation unless you start collecting data on how long things actually take. There are a myriad of time tracking systems available. At the moment I am using timeiq.com.

Toby Hede
+4  A: 

Some really good answers here already, so I'll avoid restating what information is already provided and just add one piece of advice for setting hourly rates, especially when you are just starting out:

Even if you are unsure of your skills, don't be timid about setting a higher hourly rate for someone that is likely to be an ongoing customer. It is natural to assume you are worth less if you are inexperienced, which is true, and charge accordingly. However, it is much easier to charge $150/hour and not bill any time that you consider unproductive, than to start out charging $75/hour and later try to explain to the customer two years down the line why you are doubling your rate. That is, it is common for consulting customers to be more fixated on the unit cost than the total billing most of the time, especially given that no one really knows how to estimate the time required on software projects accurately anyway.

JohnFx
+1  A: 

When I hire software developers, I am paying for their medical, dental, life, and part of their retirement.

I buy their tools (software and hardware). I pay for their training (books, conferences, etc).

I pay taxes on their income (in addition to what they pay). I pay their workers' comp. insurance. I also pay for insurance to indemnify them in case there is a lawsuit (errors and omissions insurance).

Then I pay rent on the building, heat and cool the building, clean the building, and pay water and other utilities.

I also carry the cost of generating new customers so that my developers can continue working on software all the time without having to stop and advertise for new work.

In the end, while I may pay my developers around $40/hr., I have to bill clients around $120-140/hr just to make ends meet.

Consider that when you are calculating your hourly rate as an independent. You may not have to carry ALL of those costs. But your taxes will be much higher and you won't be able to bill 100% of your time. (Shoot for around 60% once you're established.) And you will have to buy tools, training and any benefits your require on the open market, without a bulk purchase price.

Jason