So you're thinking about freelancing?
Oct 19th, 2010, Categories: Development, Work Related
Tagged with Freelance, Freelancing
Without a doubt, being a successful freelancer is one of the most enjoyable places to be in this field. You take on the work you want, working at your own standard, don't have to deal with other developers messing up your code and you report only yourself. As long as you've got everything right, it's great. However, it's very easy to get wrong and it's very easy to find yourself in difficult positions - not only have I done this myself (and learnt from my mistakes), but I've seen others do it also.
So without further ado, here are my 6 tips to nailing your business as a freelancer. These might not make you rich, but they might get you on the right foot! The rest is up to you
1. Is it right for you?
A very common misconception of freelancing is that you get up at 8:55 and you're 'at work' (be that your home-office, living room, or even your bed on a laptop) by 9am. Come the end of the day, you're done and dusted at 5:30, job done - crack open a beer.
If only that was the case. One thing I definitely found (as has everybody else I know) is that you end up working more hours when you're freelancing that you did when you worked for your last company.
When you're functioning under your own steam, the quicker you can get projects done, the quicker you can get the invoices out and the next project in. Because of this, and because - at first - it's definitely tough, you find yourself getting up early, and finishing late. Going out on your own as it where, often you don't have anybody to call on to give you a hand if you need some extra man power without having to pay for it. So be prepared to work much longer hours, certainly at first.
Financially, until you find your balance, it's very tough in the beginning. Not having a definitive payday and having money trickling in left right and centre can wreak havoc on your finances. A good tip here would be to have at least 1 months money (preferably 2 or even 3) in the bank before you even start. Once you've decided to go freelance, spend several months in your current job saving as much as you can because until your finances balance out again, you're going to need it!
Another thing to remember is that all the time you're not working, you're not getting paid. You don't get sick pay, holiday entitlement or time off because you've got to pop to the doctors to get a gamy leg looked at. This all sounds well and good "I don't take much time off sick anyway", but what about when you take two weeks off for your holiday in the summer? Not only are you not able to get any work done (which has a knock on effect on your invoicing pattern), but you are also going to have to have someone you can trust on hand for your clients to contact in-case something goes wrong. Fair point, it probably won't. But what if it does? Or a client needs to get hold of you regarding extra work? That two weeks you're away could be the difference between keeping and loosing a client. Even if you've just got someone there to say "Pete's away right now, but I'm sure he'd be happy to take a look at what it is you need when he gets back", that's better than not replying to an email for two weeks. And on that note, it's always best to inform them that you're going away!
2. Get a rocking portfolio site!
Us developers - we're not known as a particularly creative bunch (you can read into creative Vs logical brain patterns all you want) and being fair, I've see so many truly appalling developer portfolio sites. Unfortunately, the first thing people see is the aesthetics of something. Functionality is always a second. It's a shame, but that's the way it is. White sites with black text and a plain blue nav bar just won't cut the mustard.
I'm not saying you need to go out and get Photoshop training, but if you're not all that great with design and creativity, get someone to do it for you! It's not cheating, you're a developer, you don't handle design, so what's the big deal? Find a designer with a great portfolio and a reasonable price tag to design your site (don't forget, for great creative work, you're going to have to pay reasonable cash). If you're a bit tight for cash, consider college/uni graduates. They won't charge as much as an average designer and some of them can turn around some really great work. It's also great for them to build up a portfolio (that doesn't mean expect them to do it for free though!).
Ideally you want to get this done a fair while before you start freelancing. You need time to build it and then time to index and get ranked for whatever you want to get ranked for.
Another thing to bear in mind is that you should be selective with your portfolio. If you've built two sites, one is an amazingly powerful CMS for corner shop in the middle of nowhere that nobody has heard of, and one is a small mashup project for a relatively recognisable brand with a nice design, you want to use the latter (unless you are at liberty to host a stand-alone version of this awesome CMS somewhere for people to try out). Work with bad design doesn't speak well for the developer, regardless of whether or not they had any say in the creative side of the project.
3. Let the preparation begin
A good few months before you're 'leaving date', once you've got your site up and looking lovely with some nice showcases of your work on it, you want to gaining clients, or at the very least, forming relationships. Get on to some contract agencies, free business directories sites, LinkedIn etc. The more you can get yourself out there, the better. If you can take on some projects in your free time before hand to kickstart relationships with some companies, all the better. What ever it takes, get yourself out there.
4. Be Precise
What now? Well firstly, you need to work out how much money you're going to charge. Are you going to work on an hourly rate, or on a per-project basis? Are you going to take on contract positions? If so, what kind of day rate do you need/want? If you know people who do a similar thing, talk to them to find out roughly what they are charging. Once you've got your rate, make sure that you can earn enough to live on. Say out of 4 weeks a month, you have 3 weeks solid work. Will that get everything paid? If so, great! If not, you either need to raise your rate or reduce your outgoings, go not pass 'go', do not collect £200.
You also need to be precise about how long something is going to take if you're charing an hourly or day rate. You need to quote enough whereby you get it done in an acceptable amount of time, not having to rush it and potentially get things wrong, whilst also allowing enough time on the end to compensate for if anything does happen to go wrong.
5. Minimise admin time
When push comes to shove, you're not office admin staff, you're a developer. However, once you work for yourself, you're doing everything. Project management, finance, accounts, client liaison, development, testing, even emptying your own bins. Because of everything going on, it's quite easy to get muddled up in everything.
There are a few tools that will keep everything separated, organised and in one place and will keep your time spent doing the boring things to a minimum.
Invoice Machine
Invoice machine is exactly as the name suggests - an invoice machine. You can add your own details for customisation (including a logo) and if you pay for the basic package (which is very reasonably priced), there is no branding or watermarking on the invoices. It has support for adding clients, Paypal integration, Basecamp integration and also recurring payments. The invoices come out looking great and all in all, it's a fantastic tool that is very well priced and will make your invoicing a hell of a lot easier.
Basecamp
Basecamp by 37 Signals is an astounding piece of kit. It's basically a complete project management application. It allows you and your clients to converse and exchange information and files in one space. You can set milestones, tasks and deadlines, assign them to various people and most importantly, you're not left searching through emails trying to find the copy they sent over 8 weeks ago.
Beanstalk
You're probably going to want to SVN manage your projects. This allows for collaborative development, progressive backups and easy deployments to multiple servers. If means that if you mess something up (which, being honest, we all do from time to time!), you can roll back to a previous version and start again. Also, you can upload all the changed files to your live server in 2 clicks. What more could you ask for?
6. Take on contracts
Developers seem to have mixed feelings about contract work. Some embrace it, whilst others avoid it. It's really a bit of a double edged sword and I guess you just have to decide which edge you think is the sharpest. On the up side, it's very lucrative. Most contracts are relatively short (1-3 months) and they are relatively easy to come by, providing you have the skills and experience to back up your outstanding CV.
On the flip side, as with freelancing by taking on your own projects, there's no holiday or sick pay and very little (if any) job benefits. Most contracts don't last long enough for you to form any kind of relationship with your coworkers and if you don't cut the mustard, you can be shown the door with little or no notice. Another thing to keep in mind is that you will be thrown in head first and expected to hit the ground running. If you're considering a contract position and don't think you're quite able to cut the mustard for it, it's usually best to find a different one.
So there you go, my 6 tips to beginning life as a freelancer. If anybody has their own tips, or disagrees with mine, let me know!
Cheers
Pete









Martyn
#1 577 days ago
Good Post! Being a self employed I.T. "Engineer" "Consultant" "spyware cleaner-upper, computer plugger-in-er" You do learn two things. 1. Don’t just charge what you think you can get, as the chances are it’s not worth doing for that much and 2. Understand you will have no life when starting out, your no longer a person you’re a company and your clients will treat you like one!