So you wanna be a freelancer?
So you're ready to leave the office job and be your own boss? That's great! Let's go over some of the things that you need to know.
Before you start
There are a number of things to organise before you actually start trading. A few of the most important things are as follows:
- A time-tracking system
- An invoicing/accounting system
- A registered business name or number (such as an ABN in Australia)
- A business email address (the address xXxXx_s0ul_cru5h3r_xXxXx@hotmail.com may have been cool in high school, but no client will want to send emails to that)
- Business bank accounts (even if they are "personal" accounts at a bank, you should keep your business finances and your personal banking separate)
The first few months
Unless you already have a number of clients lined up, the first few months will be slow. Make sure that you have enough savings to support you through this period, or some other form of income to supplement your freelancing. Most of your time will be spent trying to find new clients, and generally setting up your business.
There will probably be a temptation to do cheap or free work in order to "get your name out there", or "add to your portfolio".
DO NOT DO THIS.
If you work for free, the only name you will get out is that you are someone who will work for free. Generally, any client who asks you to work for free because it will look good on your portfolio, or offer you future profits instead of payment does not have your best interests at heart. You will essentially be building their business for them, with absolutely no guarantee that it will ever pay off. It will also set a poor precedent for future client relationships.
If you want to "get your name out there" and can't find paid work, then either work on your own personal projects in public, or contribute code to open source projects. Open source projects will not only introduce you to a wider community of developers, but they're great for sharpening your skills, and look great on a resume/portfolio.
There are a few places to find clients. Search around job sites, and join a few online communities. The key to finding new clients in online communities is not to ruthlessly promote yourself, but to answer questions and establish yourself as someone who knows what they're talking about. Put it out there that you're looking for work, but you're more likely to get referrals if people in the community trust that you know what you're talking about (no-one wants to refer an un-known factor).
Put it out there among old employers, other colleagues, etc. that you're freelancing now. Don't go pursuing old clients from your past employers; that will only lead to bad feelings, and won't work out well for anyone. Start going to meetup groups in your area, and be prepared to talk about what you do.
Ultimately, there's no magic method for acquiring clients, but there are a few dedicated places to go if you don't mind lowering your fees. Sites like freelancer and odesk are quick ways to find some work in a pinch, but you will often be competing on a very unfair scale against people who's cost per hour (and code quality) are much lower than yours. If you make good contacts through these sites, they can often lead to work outside the sites, which is preferable.
The first step to getting paid is to pick your rates. To pick an appropriate rate to charge, take your per-hour take-home (i.e. net/post-tax) pay from your last job, and triple it. If you don't think that you're worth that much, don't worry - you're not getting it all anyway. Keep in mind that now you have to pay taxes yourself instead of through a PAYG scheme. You also have to pay for equipment, electricity, rent, accounting, legal fees, and all the incidental costs that someone else deals with when you're an employee. You also won't be working 40 hour weeks any more; less hours means that the money has to stretch further. Also keep in mind that your old business was probably charging you out at about four times what you were getting paid.
Once you have picked your rate, add another 20-50%, and call that your "emergency" rate. This is what you should charge for work where you don't have a day or so in advance to plan for it. Even if you don't have anything else on now, in the future you may be swamped when a client requests some emergency work. If you set a precedent early of not charging them an elevated rate for emergency work, they will come to expect fast responses at no extra cost. Without an emergency rate, you could lose time on other projects which can cause you to lose money there. An emergency rate will not only compensate you for time lost on other projects, but discourage clients from insisting that trivial problems are dire emergencies.
Keep in mind that you will probably also have to eat any merchant fees for payments (paypal fees, transfer fees, etc.) There's not really any fair way to charge these to a client unless you have an easy option which doesn't cost them anything. Personally, I would say to avoid accepting payments through paypal - they take a hefty chunk of your income, and can freeze your account for no good reason. Direct bank transfers are my preferred method of accepting payment, but even they can take a chunk out of your pay (especially when charging a client in another country). Ultimately, you will have to look at your options and pick the ones which best suit you.
Once you've been working for clients and, sent out some invoices, you're bound to (eventually) run into a client who doesn't want to pay. I wrote a post on the topic a while ago, titled Just pay me, which continues to be the most popular post on my blog thanks to a large amount of search traffic. I must admit that now my terms have changed a little from that post (I now charge 20% p.a. interest, compounded daily from the first day that the invoice is overdue), but the core message remains the same: You are a business, and payment is not optional. Another great video to watch is Mike Monterio's Fuck you, pay me.
The core message is that you need to protect yourself, and the best way to do that is through contracts.
Contracts, terms, and legal protections
I have two very important documents; one is my Terms of Trade, and the other is my Software Developer Agreement. The Terms of Trade lays out the conditions under which I'll perform work, what to expect from a project, payment terms, warranties, and many other things. I send this to every client before I do any billable work for them, ask them to go over it, and ask them to send me any questions they have about it. This document was written by me, and checked by my lawyer to ensure that everything is as legal and watertight as possible within the laws of my state.
The Software Developer Agreement covers much of the same ground as my Terms of Trade, but is written to be a base contract to be used on larger projects. This means that it has been designed to offer myself and my client the best possible protections.
This process wasn't cheap (it cost me around $1500), but as an investment, it was well worth the money. My Terms of Trade, and my Software Developer Agreement are my legal protection. I also gained a working relationship with a lawyer who I get along with, and trust to assist me in case problems occur. This is what I would consider an essential cost for running your business.
If you don't know where to start with writing up a contract (it really helps to have your ideas on paper before you go to a lawyer), then you should look at either the documents pack from MSABundle, or the document templates at Docracy. Wherever you get your base documents from, remember to customize them for your business, and get them approved by a local lawyer. Remember to shop around with your lawyers, and try to find one that has had past experience with clients in your industry.
Just a quick note about special agreements with clients: I (personally) think that it is OK to form a special agreement with some clients for a reduced rate provided:
- They can offer you sufficient, consistent, work.
- They are providing you with a benefit that you wouldn't have otherwise (relative autonomy on projects, protection from payment disputes with their clients, etc.)
- You add an expiry clause into the contract.
If a client isn't going to be able to promise you consistent, long-term work, and can't offer you anything else that would justify a reduced rate, I wouldn't give them a reduced rate. In order to give them a better deal, you have to be sure that you're not losing out.
Tax and legal responsibilities
Remember that you are now collecting income tax yourself. I suggest starting a separate savings account where you can put the tax cut before you pay yourself. Talk to your tax office, or whoever the relevant taxation authority is in your country (the ATO in Australia). Ensure that you're putting away enough of your income to cover your tax bill at the end of the year.
In Australia, the advice received from the ATO and my accountant was to keep aside 20%-30% of each invoice. The more I earn, the closer to 30% I should be keeping. There are also other possible tax liabilities in terms of GST, VAT, sales tax, or whatever applies in your region. Make sure you know the rules for your situation, and put money aside before you do anything else.
Paying your suppliers
Finally, I'll point to one other old posts of mine; Pay your suppliers. This means that you should treat the people you purchase services off the same way that you would like to be treated. Communicate with them, and pay them promptly.
Any other questions
I'm sure that I haven't covered everything that it's possible to cover here. If you have any other questions, ask me in the comments.
Keep in mind that my experience is based on being a freelancer in Australia, so before you start trying to use any of my thoughts as the basis for running your own business, check your local laws.
Good luck with your new-found freedom!