A question we gets asked a lot by freelancers is what the best way to bill clients is.
There are two main approaches:
- Fixed price
Both are valid and there are benefits to both.
The benefit of hourly is that it’s simple. For each hour you work you get paid a certain amount. Similar to a salary.
The benefit of fixed price projects is that the client knows ahead of time exactly how much they’re going to pay for the project. The developer can also benefit if they’re able to do the work faster than expected. At the end of the day clients pay for results and don’t actually care how long it takes you. Just that it gets done. And if anything they'd prefer to have it completed sooner rather than later.
The downsides of working on a fixed price basis are that it can take time to decide what is and isn’t within the scope of a project, and your estimate can be way off too. You think a certain project will take you 50 hours but it ends up taking 100. Or you spend three days putting together a proposal and deciding what is and isn’t in the scope of the project and then the client decides they don’t want to move ahead with you.
There are benefits to each approach and there is no one right way of working. You need to decide what works best for you. This is a hot topic and some people are fanatical about only working in one particular way. For certain people it may be the case that hourly work doesn't make any sense. But for many developers hourly makes a lot of sense and I'd recommend this as the default when starting out.
How much should you charge if working on an hourly basis?
The easiest thing to do this is to take what you would earning as a salary and divide it by 180 hours. So a $10,000 per month salary would end up being around $55 per hour. Then you need to calculate all the benefits you’d receive as an employee. These includes things such as paid holidays, sick days, pension, and other benefits employers provide. Depending on the country you live in this could be another 30-50% of benefits. So this should be added on to your salary, which would mean a $10,000 salary is really the equivalent of $13,000 (assuming benefits provide an extra 30%), and your hourly rate would be around $72 per hour.
This isn’t an exact number but it’s at least a baseline to work off of and you should be charging at least somewhere in that area.
If you’re new to freelancing that’s a great starting point and you may want to be flexible to land your first projects and start building up a portfolio and name for yourself. As you gain experience you can request higher rates from clients, and the more clients you have reaching out to you the easier it will be for you to negotiate a higher salary and increase your rate. I know a lot of freelancers that were able to double their rates in a fairly short period of time because they were great at what they did and had a lot of demand.
Note, there’s no right amount as to how much you should charge clients. If you can negotiate for $1,000 per hour good for you.
One thing to note when negotiating is that clients often have other options. So even if you’re amazing at what you do, the client may decide to go with someone else if you exceed their budget constraints.
How much should you charge for fixed price projects?
There’s lots of different ways to go about answering this question. A few include:
- Estimate the hours it will take, multiply it by your hourly rate, and then add on a buffer to cover the risk as things often take longer than expected, or the client will ask for changes that you feel obliged to implement. A good buffer could be around 50%. So if you think the project will take 100 hours and you want to earn $50 per hour, then charge $5,000 * 1.5 = $7,500.
- Estimate the value it provides to the client and charge that (or some percentage based on that). Note, if another developer can do it for half the price the client will likely go with them instead. You can’t just decide you’re providing $1m of extra revenue to a company and therefore can charge $1m or $500k for the work if many others can provide the same service for $10k.
- Estimate how much it would cost the client to do if they hire someone else and charge that. If you think you’re much faster than the average worker and all the other bids will be $50k for this project, then charge that. Even if you think you can do it much quicker. Speed is your advantage. Charge for the end result, not your time.
What happens if a client asks for changes in a fixed price project?
Either tell them the work is out of scope and ask for additional pay, or charge enough upfront so you can accommodate extra requests. The more experience you build up the easier it should be to handle these requests.
Communication is a key skill for developers, and especially freelance developers. Developers that can better communicate and build trust with clients earn more than those with poor communication skills.
Any tips you think should be added to this list? We'd love to hear from you.
Lastly, if you're looking for frontend projects, check out FrontWork.dev.