I am by no means a Master Splinter of web, my mediocre web experience can be at most gauged at 7 years experience. And most of that has been learning the thing. But lets get one thing straight; if you want to earn money, quit the web design and development freelancing game. There is simply no money to be made.
Well, there is money - but you'll be working too many hours for too little reward. By all means, if you can get a job in an agency, take it. But forget about starting up as a freelancer or starting your own agency; you will end up like the majority of other web hopefuls; you'll either burn yourself out working 60 hour weeks for little monetary compensation, or you'll die trying.
As the rest of the worlds business have done far too often over the past 5 to 10 years, we can blame all this on the recession. However, that's not the problem; the problem is saturation.
But this saturation is the problem. So much competition has driven down the costs so much, that I can get a full HTML template from Theme Forest for $10, and then pay someone on Fiverr $5 to customise it. When was the last time you wanted to make a full web template for $15? Plug this into WordPress in their wonderfully refined setup, and (let's admit it, even though we hate to), amazing piece of software, and you have yourself a website. $50 dollars, max, will get you a good looking website, with everything you need.
But it's just HTML, I hear you cry! Wrong. There are many sites that do the same. You're a designer? You'll hate 99designs. Off the top of my head, the only other businesses I can think of right now that submit so much tender work for the chance to get given the opportunity to build their implementation is Architecture - but they get paid to tender. And they have great office parties.
But client's want face-to-face contact, I hear you cry! Sure, most of them do to some extent. Remember to include that time in your quote. Maybe they'll share your great ideas with the guy on Fiverr, that'd be a sweet Romeo and Juliet triangle-web-style relationship. Maybe you can even fix it for them once they're finished.
But there are good clients, I hear you cry! Sure there are. You just need to get them, and I wish you all the luck getting them. Just remember, the good clients, the ones with money, usually already have a relationship with a large agency. Or, if they're big enough, they have their own people to do it.
Maybe you're lucky, and you get some clients. They've probably heard of this WordPress thing and maybe even know about pre-built themes. So when you quote them, a (very) modest £2000 for a website, they'll spit their coffee out and demand to know why it's going to cost so much. They'll crunch the numbers: they'll take your estimate of a 3 week delivery time (60 hour weeks, remember?), whittle the three weeks down to two weeks MAX, and finally come out with the absolutely absurd(!) figure that you're earning around £16 an hour.
£16. Pretty ok for a freelancer starting out? Well.. take the tax off, take your expenses off, add the time that you spend communicating with the client onto the design & development estimate, bug fixing, changing that fucking button to flash in a different fucking colour, server maintenance, the occasional security audit... and what will you get? I make it a whole bag of pretty much nothing.
Believe me. I've made the same mistakes. Trying to explain to a fairly computer-literate person that I have to charge them for upgrading the CMS of their website because there's a security flaw or required update in XYZ is not even worth the time in the majority of cases. They won't agree; "if ain't broken, don't fix it!". But you're a developer, you have to, or you'll have that niggling worry that a kid in some other country will abuse the flaw, and post a picture of a cat instead of the logo. So you fix it. You're £16 is probably fast approaching £0 an hour.
I explained once to a client why I charged what I did. The client in question was arguing over that it would "only take an hour or two, can't you chuck it in for free?". No.. Fuck you no. It may actually only take me 10 minutes to do, but I've spent the good part of the past 10 years learning how to do it in 10 minutes. I politely pointed to the contract section that states all work is a minimum of 2 hours, no matter what it is; I wanted that £32 if it killed me. In the end, I couldn't be bothered; the time wasn't worth it, I packed his public files up and gave him his notice.
The long and short of this is, unless you can get good clients constantly coming in, or have a good relationship (and I mean money making relationship) with retainer clients, the time vs income is simply too thinly spread. You are not your own boss, you are the clients employee. You do not get paid holidays, or sick days, or weekends without mail. You don't even get water cooler gossip about the weird guy in accounting; that weird guy in accounting is you.
I admit, there will be some who make a lot of money from freelancing. Lucky them. I am jealous, there I admit. But I've had my share of good times freelancing. I once sat in a beach bar in south India looking out at the sea, sipping my mango juice, and watching an elephant eat bananas - all whilst writing Unit Tests. Freelancing is great, for the times it's good. The rest of the time, it's probably not worth it.
So what's the point of this? You've learnt your PHP, HTML, and CSS, what now? Long live the web!
In an abbreviation. SaaS: Software as a Service (and the inherently similar PaaS). Here's the money to be made. Now all you need is an idea. And you know what? You could even take a good idea that's been done before, and make it great. Don't believe me? Ask my mate Mark Zuckerberg, he'll tell you where it's at.
My next thing? "Facebook, but more social". There's a quote for you, put it on the fridge. I hope the person who once proposed that to me is a millionaire by now.