Design & Development Blog

Hints, Tips and Advice for Freelance website developers - the Advanced version

There are 1,001 pages on the web for hints, tips and advice about starting off as a freelance web developer - or freelance anything to be honest, and they are so much better than anything I can spout off on.  But I have been freelance for nearly 5 years now, developing many different projects for a wide range of clients, and would like to pass on some hints and tips that I've learnt (often the hard way) over the years.

Feel free to comment and tell me what I've got right and more importantly what I've got wrong.  There's never a right answer, but if this helps a few fellow freelancers out there, I'll be very happy.

(These tips apply to web developers but I believe there's elements that apply to all freelancers in general.)

Getting your 'nicheyness' at the right level

This is the number one task for a freelancer.  Most freelancers have quite specific skills and that is why they are employed - because they are good at a small range of particular skills.  The trick is to make sure that your 'nicheyness' [© colin harris 2010 ;)] is sufficient for you to get enough development work in of the required quality, without becoming a master of technology which is past its sell-by-date.

A good example is ASP - it was a very popular programming language in the beginning of the 2000's but has since been all but replaced by .NET.  I'm fortunate to be developing in PHP which is a mature and stable code base but that may not always be the case.

Keep an open mind when clients, especially those that you trust and have a good relationship with, have requirements which may be parallel to your skill set.  It's a good opportunity to learn new skills and be paid for it too.  A lot of technologies have common ancestry - if you can do PHP then you can learn jQuery, if you can write good XML then you can learn Symphony - there's many examples.

Beware plunging wholesale into a new and non-related technology - 2 years ago it was Ruby on Rails, now it is iPhone development, next year who knows?  If what you do works and you know there is an ongoing market for it, take on new skills in balance with your bread and butter, in case the latest thing becomes redundant.

Sales isn't a dirty word

It's not.  Many of us 'lancers come from an Agency background.  You know the sort - the best room in the office is dedicated to the crack sales team with wall-to-wall white boards, flipcharts and bar graphs of sales and prospects.  The actual people doing the development work are farmed off to the windowless attic or that room which they never got quite around to finishing and is shared with piles of print material, old computer bits and smelly socks.  Well maybe not the socks.  All the boss goes on about is targets, and the actual fact it takes time to produce decent web stuff is almost an irritant.

This puts a lot of freelancers off - the merest mention of the word 'sales' makes them go into deep denial.  In fact the sales culture is one of the main reasons developers go it alone.  Freelancers are also often obsessed with the other side of the coin - project management, production and 'getting things done'.  This is an important part of independent development, but if you've made it this far then I'll assume you have that under control.

Keeping track of your Sales is crucial - without Sales you don't make any money.  Sales are what keeps you going no matter what type of development or contracts you work on.  You can plan ahead better; if you know how your Sales are doing, then you know how much work you have coming in, which thus helps with the Project Management aspect.  Most importantly you can dedicate the time and efforts needed to Sales that it requires.  If you are doing well and have plenty of work in the pipeline, then get the work done.  Conversely if you notice that you have little or no prospects after you finish your current job, then spend some time 'doing' Sales.

Doing Sales?

Doing Sales - i can feel the cold sweats of fellow freelancers as I type this.  It's not a heinous act for which you'll burn in hell, it's just doing what you have to do to stay in business.

I have a very simple spreadsheet of sales (and a whiteboard, but I didn't say that after my points earlier) in which I mark the date of a sale and the value.  I can then track how much I have 'sold' over a period of time against my target amount (which is most of our cases is wage + costs).  If the sales is above my targets, great, if not then I need to find some new work.  Even the most popular of freelancers (and I get lots of enquiries) may not always have good Sales, conversions can be uneven and unpredictable.

I'm not going to go into major detail about where to find work, that too is well covered in other people's blogs, but the basics of finding new work if you are a little short are:

  • Approach existing customers with ideas for improving their sites
  • Monitor your leads and follow them up, with a phone call if possible as emails can easily be ignored/forgotten
  • Keep a check on the various job boards out their on the internet - my personal favourites are http://www.peopleperhour.com/and http://www.noagenciesplease.com/
  • Think laterally - offer to do some sites for non-profit organisations, charity work or get involved in open source projects which may get you good karma
  • Keep an eye on your SEO performance, do some copy editing and SEO work if your SERPs are flagging
  • Send your CV or skills lists to local Agencies who may sub-contract work to freelance web developers in the area

Sticking to rates

Self explanatory this one - stick to your carefully worked out daily/hourly rates.  If you feel under pressure to charge less then think very carefully before accepting - no matter what you charge, there's always someone who will quote less than you.  Often that means the client will go overseas and if they choose to do so, wish them luck.  You have a daily rate because that is what you need to exist, not because you need to keep your Porsche in good running order.

Eggs in one basket

Don't put all of your eggs in one basket.  This is one of the most serious possible negatives that can happen to a freelancer.  If you are lucky enough to be asked to do a large project over a substantial timescale, think very carefully about playing out the contract so that you are never put in any financial danger. What would happen if that client didn't pay you, or took a long time paying you?  Would you have enough other work or resources to fall back on should that happen?

Freelancers often get the thin end of the wedge when it comes to being paid - there's many stories about never getting paid or getting paid a fraction of what was originally quoted floating about on the Internet.  Most of us have good clients, but you have to still be careful.  A fantastic £10,000 project is only fantastic if you get paid in good time for it.

Two simple pieces of advice, try if you can to make sure that payments are made ahead of the work being done - deposits and then clearly staged landmark payments as stated in the project contract (yes you use contracts being an experience developer, don't you?).  Make sure that a large payment doesn't depend on 'go live' - if you do the work but the client spends ages in making it public, you will suffer not them.

The second piece of advice is make sure you don't alienate your existing clients - they have supported you before, chances are they will be there after your big project.  Be honest with them - if they need you but you definitely cannot support their projects anymore tell them, but try if you can to keep them onside and still with you.  If your 'big project' falls through you'll need them, and you'll need them more when the project has finished.

Get an office

If you work from home, don't.  Go and find yourself somewhere to work from outside of your home.  Experienced freelancers should have enough income to fund a small office somewhere local - in the UK there's thousands of empty office blocks and properties begging for occupants.  You don't need to have the most luxurious pad in the world, just something that suits your needs - a room and a desk, internet and peace and quiet.  Web development has a very small footprint.

Look around where you live - often local shops and businesses have a spare room to rent out, and advertise directly or in the 'cards' at your local post office or supermarket.   My office is 400 yards from where I live, very reasonable, and fantastic.  You could try a hotdesk if that service is available in your area, or sharing an office with someone else.  However you do it, get out of the house.

As an anecdote, I got a surprising amount of work from existing clients on the back of one email - my "I have moved" email.  They must have seen my transition from a home-based freelancer to an office-based one as a statement of intent and professionalism.

Be nice

Success can breed confidence which can also turn into arrogance.  Be nice to everyone - clients, suppliers, 3rd parties and people who enquire about your services.  Support everyone in a professional manner even if you think they are wasting your time, and be extra nice to people who are moving away from you to another developer or Agency.  You never know when someone may drop your name as a referral, need your services once more or simply mention you in passing.

You have spent a few years building up your business - which is what it is, even if you are 'only' a freelancer - you never know where your next call or email will take you - so be nice.