Working as a freelance web developer definitely has it's advantages and challenges (opportunities). Some of those advantages include: choosing when to work, where to work, whom to work with, having a flexible schedule, charging a competitive rate, and the list could go on and on. However, in order to complete that work you first need clients.
I won't be going into how or where to get clients (that's for another article) but instead I'll be focusing on negotiating your rate once you've found clients to work with. Money is one of those subjects that people tend to shy away from.
Here's the obligatory "take everything I say with a grain of salt" caveat:
- I'm not an expert in negotiating
- These tactics may not work for everyone
- These are suggestions, not facts
- Tailor these suggestions to your needs/your client's needs
Alright, with that out of the way here are some tips I've found useful to keep in mind when talking about money with clients (something that many people don't like to do).
Be Open, Honest, & Upfront
With my limited amount of time freelancing (roughly 8 months) I have found that being transparent with my clients in every regard has proven to alleviate more stress on both sides than any other tactic. If someone is paying you for a service, ensure that you are both on the same page about everything right from the get-go.
From the outset, you should be upfront about everything involved with the project (timeline, contract, rate, milestones, accepted payment methods, etc.) to avoid conflicts down the road. If your client asks you how long something will take, be honest. If you think it'll take a week let them know that you estimate it'll take a week but advise them you'd like to throw in another day or two just in case hiccups rear their ugly little head (they most certainly will).
I would even go as far as having a contract where you lay out all facets of the job including the aforementioned aspects about time and money. This gives you and the client something that is clear and concise to refer back to if issues arise later on.
If your client wants to change something or try something new, be honest with your response. If you think it's not a good idea say so, but do it with honesty and compassion. Something like "We can implement that but here's what I foresee it costing and also here are some issues I see."
Remember, it's not what you say but how you say it.
Start With the Right Mentality
Many times I hear freelancers say "This client wants X but I know Y is better and they just don't get it". In my experience, this is asking for a whole heap of heartache and stress. Too often we (I'm guilty of this too) have this mentality of it's us versus the client. We're the developers, we work with this code on a daily basis, we know the new hot technologies would do better at this job, etc and so we feel a sense of ownership over how the process should go. But many times that leads us down this combative (consciously or subconsciously) path which ends with us and the client parting ways - no one the happier for it.
Instead of this, go in with a mentality of a customer service specialist. As a developer you have the hard skills, tools, and optimizations to make a great product (website/app) but it takes more than that to be successful with clients. We need to go in with a "How can I deliver a great product AND a great experience to my customers ?" Ask your customer questions that get to the root of their desires. When someone asks "Can you make the header pop" it's your job to decipher that and figure out what it means. It could mean adding in some color contrast or a better font but the customer doesn't know how to articulate this to you.
“The key is when a customer walks away, thinking ‘Wow, I love doing business with them, and I want to tell others about the experience.’” - Shep Hyken
Adopting the mentality of customer service instead of a me versus them mentality will lead to happy customers and at the end of the day happy customers generally mean more work.
Value Your Skills and Work
Once you have the right mentality about working with your clients, the next aspect you should consider is the value you bring to the client. This one is a tough one, especially for me.
If you've worked in any field for any length of time you are familiar with the term "imposter syndrome". If you aren't I envy you and assure you that you will become well aware of what it means soon.
Imposter syndrome is by far the easiest way (besides not asking for what you want) to ensure you get a lower rate than you deserve.
I know this feeling all too well. I made my way into development from a non-technical, non-traditional background and that further compounded my feelings of inadequacy when it came to bidding for freelance jobs. When I first started freelancing I felt like I wasn't knowledgeable or experienced enough to be asking for money to do this work let alone ask for a higher rate.
One way I was able to manage this was to look back on the projects I have built, to review some of the code I had written, some of the articles I had written, and think about how far I have come since I began teaching myself to code. I think back to trying to wrap my head around what a <div> was and how to link my style sheet to an HTML file - and then I realize how far I have come. I realize that I do have worth as a developer, that I can help solve issues with code, and I can use my skills to help others bring their ideas to life.
When you start to feel like you aren't worth what you're asking for, make it a point to recall where you started from. Look back at all of the awesome projects you built and all of the challenges you overcame to get where you are. Value your work, your skills, and know that you are worth the rate you're asking. Your customers will pick up on that and if they think you're rate is too high then that's where negotiating comes into play.
Ask For What You Want
This, much like valuing your own work and skills, will be a difficult thing for you to do. Not because what you are asking for is crazy or unwarranted but simply because it's not how most people operate. Throw in the fact that we're talking about money (an uncomfortable conversation to begin with) and we have a recipe for lower rates right from the get go.
So why not get all of the uncomfortable conversations out of the way at the beginning of the job to ensure everyone is on the same page? This will clear up any potential confusion and let your client know that you do quality work for a quality price. By asking for what you want, you're signaling to your client that you know your worth and the worth of your work.
I had a hard time asking for what I wanted when I started freelancing and one of the greatest fears I had was of rejection. I used to think that if my client said no then it was some monstrous stain on reputation and I would never get any other clients. It's simply not true. The worst that can happen is your client says no after you ask for what you want and then you start a dialogue about why your rates are where they are.
If you've had trouble negotiating the rate you want with past clients I hope that these techniques and reminders will help you in your next round of discussions. Remember, if you go in with the right attitude, you're open and honest, and ask for what you want I think you'll find your experience with price discussions will be much more fruitful.
As one final reminder, I cannot stress enough the importance of valuing your work and skills. Believe in what you can do, in what you have learned, and in the value you bring to your customers - it will truly change your outlook on your work.
If you enjoyed this article make sure to drop a comment and let me know what you’re working on. Also, don’t forget to sign up for the monthly Newsletter I send out. You can do that at my blog.
I promise it'll be worth your time and if you feel otherwise you can always unsubscribe.
As always, have an awesome day full of love, happiness, and coding!