In this issue, you'll walk through what it takes to figure out a sustainable hourly rate that hits your desired target and covers your expenses, along with a link to a calculator I built to help you figure it all out. Then, you'll look at how to throw away all your changes in a Git repository, including any new files and folders you made.
I've been doing some sort of consulting and freelancing since I was in college, and I've lost count of the number of times someone has asked me, "How do I know how much to charge?"
Most people ask around to find out what industry rates are and then charge accordingly. That might work if you are doing some side work to supplement your current salary, but it's not sustainable if you want to strike out on your own. A proper hourly rate factors in more than the time you're spending.
I'll share with you the guidance I've been giving people, as there's lots to consider. To help you, I built a freelance rate calculator that factors in all of the things this article covers. Pull it up as you read this article.
Let's start by looking at the basic calculation for an hourly rate and factor in things you might not have considered.
When you're working an hourly job, you are paid for the hours you work, and that's it. If you make $15 an hour and you work 8 hours a day for 5 days a week, you'll pull in $600 that week. Do that for 52 weeks a year, and you get $31,500 annually.
Most people use this logic to calculate their hourly rate. They start with a desired salary in mind and work backward, dividing that number by 52 weeks and dividing again by 40 hours. This makes sense if you've worked jobs where you don't get sick time or vacation time; you don't work, you don't get paid.
For example, you'd like to earn a yearly salary of $50,000 from your consulting business. The math for that would be $50,000 / 52 weeks / 40 hours per week, which lands you at around $24 an hour.
There's a huge flaw in this approach.
When you work for someone else, you show up for work, and there's work for you. But when you are working for yourself, you have to invest time to find that work and do all of the overhead for operating your business. On a given day, you have 8 hours you want to work. During that time, you'll need to find new customers, update your website, write promotional content, talk with your accountant, do general project management work, and do research into new technologies or techniques that will help you grow. You can't bill clients directly for that work. They won't stand for it.
You have to bill them indirectly by building the cost of doing business into your hourly rate.
To do this, you shift your mindset from "getting paid for how much you work" to "getting paid for billable work." That's where the concept of "billable hours" comes in.
Assume that in 8 hours, you only spend 4 hours on client work. If you were looking to make $50,000 a year, you'd have to double your hourly rate to $48 an hour, as you'd only have 20 hours a week you can bill.
And remember that this assumes you're working 52 weeks a year. You probably want some time off for vacation, and you'd like to have some holidays off, too. If you don't bill, you don't get paid. So, increase your hourly rate to give yourself paid time off. Give yourself 15 days of vacation and sick time, and then add another 12 days of holidays.
This changes your formula. Instead of taking 20 hours per week at 52 weeks, find the number of days in the year you will work. In this scenario, assuming a 365-day year, you're working 5 days a week and you're accounting for the days you have off. The quick calculation for days is (5*52) - 15 - 12, or 233 workdays. For each of those days, you'll bill 4 hours. So your new hourly rate calculation is:
50000 / (((5*52) - 15 - 12) * 4)
Your rate ends up at $53.65 per hour with this calculation. Assuming you can consistently bill that much, you'll earn your desired salary and maintain a work-life balance.
This is only half of the equation.
Your profit from your business is the amount you charge minus the expenses you have to incur. Expenses directly related to work you're doing for a client are expenses you can pass on to them. For example, if I go to do training, my travel and lodging are expenses in addition to my training rate.
But you'll have other expenses that you won't be able to directly bill to clients. Each of those will chip away at the $50,000 salary you want to give yourself. Like your vacation time and sick time, you'll factor these expenses into your hourly rate, too.
If you're in the US and you don't have a partner who can put you on their health insurance plan through their employer, you'll need to get insurance and pay for it. That can be upwards of $2500 a month for a family plan, depending on the level of service you need. You'll be responsible for all the premiums and any coinsurance, prescriptions, and deductibles. That alone comes to $30,000 a year, leaving you only $20,000 left.
To account for this, add these expenses to your salary expectation and consider it a revenue target rather than a salary. Instead of $50,000, your revenue target becomes $80,000. You then use that number in your equation:
80000 / (((5*52) - 15 - 12) * 4)
This gives you a new hourly rate of $85.83. With that rate, you've covered your expenses and will end up with a profit of $50,000, assuming you're able to bill for all of your time.
You'll have other expenses too. You may want a lawyer or financial advisor on retainer. You may have a vehicle you use for your business that you maintain.
In the US, some of the expenses you'll incur reduce the amount you're taxed on, but you shouldn't count on that. Factor the expenses into your rate so you're prepared.
Some other expenses you may want to consider are a dedicated phone and internet connection, recurring office supplies, annual licensing fees, business insurance, and setting money aside so you can purchase new equipment every few years.
Each expense adds up, and it's up to you to figure out how much you want it to affect your rate. My freelance rate calculator offers many suggestions.
Your remaining salary of $50,000 is subject to taxes. In the US, your employer pays a share of Social Security and Medicare taxes. That's the FICA part of your paycheck. But when you are self-employed, you have to pay all of it. This is called "Self-Employment Tax" and is in addition to your state and local taxes. The equation changes every year, but you can assume this tax will be about 15%. Your tax preparation software will walk you through this work, but you should see an accountant.
I'm not able to give specific financial advice, but you may want to adjust your hourly rate upward to account for this tax. The freelance rate calculator attempts to calculate US self-employment taxes, but it's not meant to replace a tax professional or accountant.
You've computed your desired rate. Now, you should look around and calibrate your rates. Talk with other freelancers, look at job postings on sites like Upwork, and look at this data from ZipRecruiter. This article at HubStaff also shows hourly wage data you can use.
Your rate is an important signal to prospective clients; if you charge too little, you might signal inexperience or that you don't produce quality work. If you charge too much, you might have a smaller pool of customers.
One of the best ways to calibrate your rate is through conversations with prospects. When you provide your rate. you'll get feedback. The prospect may tell you your rate is too high and ask if you can come down a bit. If you hear this consistently, your rate may be high. But if some clients aren't arguing, you may be undercharging.
If this hourly rate isn't aligned, you'll have to change some of the numbers. Lower your annual salary target, increase the number of days you work, or decrease the amount of sick and vacation time you give yourself.
You might be tempted to bill more hours in the day, but that will result in you working very long days because you will have to find time to drum up new business. Clients move on. You don't want to be unable to bill while you're looking for new work, and with everything riding on billable hours, you need to ensure you don't burn yourself out. Make sure you have time to rest, recover, and step away.
There are many factors that go into calculating your rate. Hopefully, this walkthrough and the freelance rate calculator will help you figure out your next move.
Occasionally, you’ll find yourself in a situation where you’ve written some code, created some files, and done a lot of work, only to realize that you don’t need it or don’t want it anymore. Now, you’ve got to clean up your working directory.
The git checkout
command can get you part of the way there, as can git reset
. But these won’t handle any new objects you’ve created. So, rather than manually cleaning things up, take advantage of some additional options Git provides.
These two commands will reset your repository and clean up all of the things you haven’t checked in yet:
$ git reset --hard HEAD
$ git clean -f -d
The first command reverts all of your changes to the code. You’re probably familiar with that. The second command removes any new files and directories you’ve created.
To practice these commands and create a handy Git alias, read Throwing All Your Work Away in Git over at the Small, Sharp Software Tools site.
It's the end of another month, and I have a few things for you to consider over the next few weeks.
Thanks for reading. See you next month.
I'd love to talk with you about this newsletter on Mastodon, Twitter, or LinkedIn. Let's connect!
Please support this newsletter and my work by encouraging others to subscribe or by buying a friend a copy of Exercises for Programmers, Small, Sharp Software Tools, or any of my other books.