For those of us working as freelance developers, setting and negotiating rates can seem like one of the most complicated and intimidating parts of the job. You often come into negotiations with the preconception that the client will try to underpay you. Understanding how to set and negotiate rates is an important step to a successful freelancing career.
It’s not always easy, especially with clients who make any form of communication a bit of an ordeal. But, thankfully, in my experience, such situations are rare; clients are generally keen to pay you well if they know that they are receiving quality service. For me, that’s the clear advantage of working as a freelancer and why I’d never go back to a 9 to 5 job.
Even the highest-paid developers on a salary can be surprised at how much freelance developers make. As a freelancer, you’re a hired gun to come in and execute a specific task. With that, you’re able to command a premium price tag. The highest-paid freelance developers learn how to charge based on the value they provide to the business. Your client won’t have any problem paying you what you want if you help them realize that your fee is minimal compared to what their business will make from it. I’ve seen these freelance developers easily clear $250-500K per year freelancing.
If you want to exploit that sort of earning potential, and make sure you always come out on the higher end of salary negotiations, there are a few skills you must develop. These skills are a vital part of your freelance business
Determine Your Minimal Acceptable Rate
The first thing you must do as a freelancer is fix the lowest equivalent hourly rate you are willing to work for. This is your Minimum Acceptable Rate (MAR).
You should never enter into negotiations without knowing the lowest equivalent hourly rate you are willing to work for. How you arrive at this figure is entirely up to you. There are lots of theories out there, but a good place to get started is:
((annual living cost + annual business costs) / (hours worked a year)) + tax
Obviously, this should only be taken as a rough calculation. In a sense, this equation only tries to find the equivalent hourly rate for a salaried worker doing a similar job. As I said, this can be a good place to start but you’re always going to have many other factors that you’ll need to take into account.
Charge per Project
For most freelancers, there are few things that limit your earning potential more than working by the hour. It creates an income ceiling that you cannot go beyond and limits your ability to negotiate additional hours as the scope of the project changes.
Furthermore, such an approach can scare and confuse clients. It’s only natural for them to think you’ll take liberties in extending the scope to get more hours. All the client should have to worry about is the value of the service you provide. You should not be penalized for working more quickly and efficiently than the next guy, so charge per project and use your speed to your advantage.
With that in mind, it’s vital that you and your client flesh out exactly what the finished project will look like and what you are delivering. From there, if it’s a large project, divide it into milestones and calculate a fee for each milestone.
That way you can receive regular payment while working on the project, but also have a fixed price in mind before you start.
Negotiate Based on Perception of Value
How much you charge should never, ultimately, be determined solely by what your time and expertise is worth. During negotiations, you should have a clear idea of a) how your work will benefit the client, and b) the positive affect it will have on their bottom line.
You have no reason to have self-doubt when entering into negotiations and it’s always fair to charge more for larger clients even for the same work. For those who feel uncomfortable entering salary negotiations from that point of view, simply asking the immortal question, “What kind of budget do you have in mind?” will give you a good starting point for arriving at a figure.
Ask for a Budget
Sometimes when you ask your client to name a figure for their budget, they’ll be unable to be specific. Make it clear that you’re asking for a budget to determine exactly what kind of project you’re looking at, and not because you’re thinking about what you want to buy with the money. Do your best to get them to at least give you a range, but if you are forced to name the first figure, make sure you completely understand the full nature of the project and start with a high bid. How high you bid will come down to your own confidence and your gut feeling.
As a rule of thumb, I would always propose a rate higher than you would if haggling were not on the cards. This may seem like a bold move, but in reality you are just getting ahead of the negotiating curve.
But always remember, even if asked to name a price before you understand the full extent of the work to be done, make sure to always give yourself room for maneuvering later on.
We Can All Be Winners
Once your client has agreed to your terms, no matter how much they’ve agreed to pay, they’ll have a smile on their face if you deliver to their satisfaction. Remember, you will not get far as a freelancer if you intend to rip off your clients. Good negotiation is about both parties walking away feeling like they got a good deal, so if you do decide to play hardball, make sure you’re prepared to over deliver!
Always make sure to ask clients plenty of questions about the specific task, how it fits into the company’s larger strategy and what its internal success metric will be. This information will help you shape your proposal and give you an indication of how high to bid.
Once armed with knowledge of the project, explain to them why you are the perfect person for the role. Put their mind at ease by showing them how you’ll complete their tasks and mention similar projects you’ve executed in the past.
Define the Scope of the Project
Learn PHP for free!
Make the leap into server-side programming with a comprehensive cover of PHP & MySQL.
RRP $11.95 Yours absolutely free
You should compose a well-thought-out and thorough Scope of Work (SOW) document, which tells the story of what the client’s project is, how you plan to complete the tasks, and the payments for which you have agreed to work.
The SOW tells the client exactly what they’ll get for their money, but make sure to keep it an informal document that can be changed through negotiation. Remember, this is not the contract.
The SOW is a useful document to have if, for example, you’re unhappy with a client’s counter offer, you can always try removing items from the scope of work.
If you feel that you haven’t been able to get a perfect brief or you might be able to upsell, it can be a good idea to offer your client various tiers in the SOW. I.e. a low end, mid-end and high-end service, with an illustration of what will or won’t be included in each solution.
More than anything, the SOW will give you protection if the client starts to demand more bang for their buck.
It goes without saying that once you have the SOW agree upon, that you should have a written contract signed by both parties before you begin work. This is the ultimate binding agreement for you as a freelancer and the fruits of all your freelance salary negotiation efforts.
Go Get ‘Em!
Development and programming is a never-ending learning activity. The only thing stopping you from making more money is yourself. And the best way to learn to negotiate your salary is to practice with real clients until you become confident in demanding the rate you deserve. Don’t be afraid to be aggressive and get what you want.
Have you got any negotiation methods that have worked well for you?
Khurram Aziz is a trained journalist and web entrepreneur. Besides his freelance writing, he spends his time running several online ventures. He consults on all things related to WordPress and Magento web development.
Jump Start Git, 2nd Edition
Visual Studio Code: End-to-End Editing and Debugging Tools for Web Developers