I’ve had two freelance developer careers, both of which have turned into an agency. The first was as a web developer from roughly 1998 to 2006 which became “MS Internet” and exited by trade sale. The second was far more recently as a freelance mobile app developer from 2012 to now (2014), where I became “TBC Digital“; a mobile app agency. In that time I’ve learned a thing or two about what it takes to survive as a freelancer so I thought it would be useful to share what I’ve learned.

1. Specialise

Let’s face it, there are one whole hell of a lot of developers out there. These days though people don’t want “a developer” they want a “front end web developer” or a “Laravel developer who knows MongoDB”, or a “RoR developer with AWS experience”. Sure, you will put yourself in a bracket but generally those who don’t know what they need will either drive you to client-o-cide or use an agency. The clients you want respect your skills and are happy to pay a fair price for your specialist knowledge and craftsmanship.

2. Charge enough

They say that a freelancer will earn a year what he charges an hour. So, if you charge £12 an hour prepare to take home £12k per year. Sure you get your freedom but freelancing is risky and hard work so why do it for less than a poor salary? Absolutely do not charge less than £30 an hour but if you are in a high demand niche don’t be afraid to charge just as much as your peers.

One thing to be prepared for is people (aka amateurs / **profanity**) trying to push your rate down or being out-rite offended that you dare to charge so much. First of all, you are probably cheaper than a mechanic or gas-fitter and certainly cheaper than any lawyer so your rate is entirely justified. If people don’t like that then I 100% guarantee that they would have been the clients who pile extra work on, act like idiots then don’t pay their bill so you are better off suddenly being too busy than dealing with these people.

3. Proposals

I hate writing proposals. It takes ages, it’s boring and it always seems pointless. However, I’ve been through enough projects where I didn’t bother to describe a feed script, search process, on boarding wizard or whatever else and ended up with a month of unpaid-for work for my penance. Proposals are your only chance to limit a project’s scope so take the time to save yourself a ton of headaches.

4. Waterfall or agile

There are two ways ONLY to run a software project. There is waterfall, which is in reality what 99% of clients want, where you define what is being built, work out how long everything will take to code than set a price; mostly fixed.

The other way, chosen by the enlightened few, is agile. Actually, most people will say they want agile but they don’t, they just want to sound cool. Agile is full of daft terminology but is where a rough end goal is set and realistic short term milestones are worked to one sprint at a time. This route almost always results in a better product because it allows for a bit of product evolution. The down side of agile, which is why most people actually don’t want it, is that you can’t really say how the product will end up exactly let alone what it will cost. Now, what people will say to you is that they want a fully agile development process but here are the designs and they want a fixed cost and delivery date. These people are idiots. Write a decent proposal, set your hourly rate and nod while you bank the cheque. Or fire them, your choice.

ABSOLUTELY DO NOT work to a fixed price with a variable scope. YOU WILL END UP WORKING FOR FREE. If a client tries to make you accept feature-creep remember that THEY ARE STEALING FROM YOU.

5. SEO

Last up we have SEO. This is the dark art of “getting to the top of Google”. I’ve learned to be pretty decent at SEO and there’s more to it than I can write here but you need a steady influx of work and it matters. A lot. Really.

So…

There are two sides to SEO. There’s on-page and off-page. Both matter. On page is about what is on your site. Off page isn’t :). Pretty pictures are important to show clients how beautiful your work is but search engines DO NOT give credit for artistic interpretation. Google-bots give credit for source code text (that’s all they can read) especially in a few specific places. Header tags (H1 etc) matter. Anchor (that’s links to you and me) text matters. Text near the beginning of the page matters and text at the end matters. But, it’s important to remember that SERPs (google it) are web pages that rank for specific phrases so be specific. Have a page for “ecommerce” and another for “WordPress” and optimise them for that phrase (but not too much or you’ll get penalised). Link stuff together too, spiders gotta find pages.

Links can come from outside your site too and this is the off-page thing I spoke of earlier. The whole of Google’s search process at least used to revolve around PageRank. This is the value of your page as determined by how likely it is to be found by a random spider journey through the interwebs. Basically you want lots of links from big popular sites. “Web development by Joe Bloggs” is a useful tool! Writing good blog content is a decent tactic also. Imagine how many people would link to an article on how to be a successful freelance developer…