You’re an agency service founder who’ve got some traction in your space, making $150k-$200k/y.
You got here by doing amazing work for your clients, and by showing off your years of experience.
But sometimes, you feel like you’re leaving money on the table,
Every negotiation should start with “No” - Chris Voss
In Poker, the losers tend to be the ones who revealed to much, the winner tend to be the player who revealed the least. In contract negotiations, it pays to just let the client do most of the talking, let them give up their hand, and you to just listen and ask questions.
When I started I charged my clients an hourly rate. I had about 6 years of professional experience, I aimed for $150k/y salary. As a contractor you should charge about 1.5x what a salaried employee should get, so around $225k/y. This roughly comes to around $110/hr.
Your hourly rate is your calling card, it reflects your skill level and your reputation. I subscribe to a school of thought to NEVER lowball your rate, even if you have neither skill nor reputation. Always ask for more than you’re comfortable with because you can always offer discounts.
Especially in enterprise sales, all the budget has already been calculated and allocated at a fair market price by the purchasing department. Them asking for your rate is just a song and dance to catch suckers who might be behind the curve - a cost saving. Once you enter at a lower rate, you might literally *never get your normal rate back,* because the purchaser’s performance is measured by their ability to keep the rates the same. Do not enter this fight, you will lose.
For smaller clients, their objection to a higher rate might be more legitimate, such as they’re strapped on cash. It’s beneficial to know if that’s the case from day 1, so that you won’t have any surprised when the payment is due. I’ve never been cheated on a contract (ie. not get paid) because my rates typically sort out all the bullsh*t low-ballers ahead of the time, the people who squeeze every penny and do not value your work.
A good first goal to aim is to set your rate so that 2 months of work is above the small claims court amount in your jurisdiction. In Canada, above $35k owed can be a criminal offense, so I made it my first mission to get my minimum monthly rate to be around $16k as fast I could.
Principle #1, never lowball your rates.
When your client push back, you should offer discounts. What kind of discount?
Discount with project scope, or with deliverable depth, or with long-term support, or with scheduling flexibility. Some of these non-financial perks are more valuable to your clients than the monopoly money they’re spending out of IT budget - all the more reason not to send an “amateur” signal with a below-market rate. Don’t discount with rate if you can possibly avoid it
I’ve offered many “discounts” to close a deal, that doesn’t involve me dropping my rate, for example:
- Offered a 2-weeks discovery project period with walk-away clauses for both parties.
- Created extensive project documentation to enable my client to apply for Canadian government R&D grant (SRED) that can recover 35% of project expenditure.
- Represented my client as an internal senior dev to close large extension contracts with their clients.
- Connected my client with an AE at Stripe, landed them $100k worth of free credits.
- Scoped MVP to predictively get my client’s product to market 50%+ faster.
Principle #2, offer discounts, the money kind last.
When you get comfortable with offering various discounts that doesn’t affect your rate, you should raise the price. Your price change should reflect the condition of the market, if your service is in high demand and you can land and work 3 contracts at once, don’t, consider raising your price instead. A good rate to do this at is to just raise your price by 15%-20% every 12 months and see when you cap out. For example, if you’re at $50/h and making $100k/y right now, by consistently raising your rate by 20% every year, in 6 years you’ll be at $150/h or $300k/y+. You can go faster or slower, test it with the market, the best signal to know if your rate is right is when suddenly majority of your clients are saying no. Raising your rates every year is a good investment in your future.
Principle #3, consistently raise your price every year by 20%
But eventually, you’ll cap out. My current hourly rate is around $150/h, and every dollar after that gets really hard. When you charge by the hour, no matter what you do companies will convert that to a full-time rate and do the calculation in their head. They’ll always think, well I can probably get two hires at this point, and suddenly no matter how much discount you give, you’ll see diminishing returns. Fixed price (or product based) billing is what the big boys do to get to the next level, and how I got to $500k/y.
There’s only a few things you need to get really good at to make fixed price work.
- Get really f*cking good at what you do.
- Be risk tolerant enough to handle it when shi*t hits the fan.
- Develop a gut feel for what the client want before they say anything.
- Protect your time like it’s the last cookie in the jar.
There will be risk involved and sometimes you’ll just get the scoping and timing wrong. So when you start out, build plenty of buffer into the estimation. A key to good estimation is to get on the same page with the customer of exactly what they want. Sometimes, your client just don’t know what they want, or it’s hard to know what the end looks like without diving right in. In these times, I tend to suggest a short discover project, billed by the hour, lasting no more than a month instead to buy me some time to get a clearer picture and help me build the scope by doing the work. Billing by the project gives you another avenue to offer a “discount”. Typically, projects are invoiced a small retainer at the beginning, maybe 20%, 50% throughout the duration of the project, and then rest at the end. But this is just a general guideline and you can and should work with your client to figure out milestones that works for everyone.
Once you figure out exactly what the customer wants, then a good price only comes down to how much value you’re providing and then taking a percentage of that value. It has absolutely nothing to do with what the market average is, how much time, how much effort, or how much it costs for you to deliver it. It comes down to simply around 10% of whatever value you delivered to the customer.One of my biggest contract as a subcontractor was around $280k for 8 month worth of work with zero push back from the client, this is because I estimated I was being billed out for around $3.5M to their clients.
To wrap it up, billing by the project also legally opens you up to work multiple contracts at the same time. You’re capped by number of hours in a day, but project wise as long as you’re delivering what you’re contracted to do, no one can give you sh*t for working multiple projects at the same time.
Principle #4, price and charge 10% of the end value to maximize your revenue
Now that you know the basics of pricing and negotiation, let’s do a speed run through some more advanced pricing tactics.
When I want to get out of things like maintenance work, meetings, onsite visits, customer support, bug fixing. Anything I don’t want and would never do, I’d throw it in at the end as a limited-time offer, I’d say: I typically don’t do this, but I want to offer to you anyway, for another $10k I’ll come hang out with you at the office once a week (fake example, I literally never do this). This is a psychological pricing tactic that creates fake scarcity, you can do this with literally anything.
Principle #5: The best way to raise the price of something is to say that you would never sell it
There are lots of things we do as software developers that are low leverage. Low leverage work means things that are not directly related to delivering the actual product that the user gets to touch. Things like writing tests, writing user stories, writing documentation, code review and giving other developers feedback, refactoring and paying down code debt… I’d go so far as most dev-ops work is low leverage. Meaning, even if you do it, no one outside of the IC engineers will give a sh\\\*t about. You make very little splash doing it. I put this in the pricing and negotiation chapter because you never want to get caught doing these kind of work and should negotiate yourself out of it. I typically “give it all away”, I frame it as a cost saving measure for the client, say something like: Instead of paying me $150/h or me charging you $10k extra to write comprehensive tests for you, let me connect you with my trusted friend Juan from Mexico, who charges $60/h and can do a much better job than me, because he’s specialized in it.
💡 Principle #6: Give away the lowest margin service.
I’ll wrap the whole thing up and leave you with this little callout here, follow this progression and get really good at pricing and negotiating each step, you’ll win. The goal of a good sales person is to move to your clients side of the table, the giga chad salesperson will end the negotiation where the client is selling themselves.
Progression of a dev consultant pricing strategy:
- Baby: sell hours for lines of code written
- Infant: sell hours to save time
- Teen: sell hours for outcome
- Adult: sell outcome
- Grandpa: let them sell 'emselves
Some great points here. When we were just getting our business started, we offered some insanely low priced deals to get things rolling. Fast forward a year later, when it comes time for renewal, trying to increase rates significantly is very difficult. One large client literally told us we screwed ourselves by pricing so low initially. Hopefully someone can learn from my mistakes.