It has always been my sort of dream to be an independent web developer who does not need to rely on a company to give me my paycheck, no insane manager or owners who burst into my "zone" and berate me telling me that "ermahgawhd the feature we forced to you half-ass implement due to time constraint haz bugs omg :c".
If you've ever worked for any sort of company I'm sure you've had similar situations occur or at least know what I'm talking about.
If this is a road you want to go down, I will share with you what I have learned through freelancing on the side of my full-time job.
1. Don't work yourself to death.
The first thing you should definitely take serious is that you should NEVER overwork yourself to the point where you have ZERO free time for yourself.
You have to take a break every now and again to re-fuel yourself, this is one area that I have failed miserably at in the past, in fact I have been admitted to the hospital with something I thought was a precursor to a heart attack brought on by to work-related stress.
Thinking you have literally worked yourself to near-death is a not a very nice feeling and I would seriously recommend that you say enough is enough and stop working, take a break, take a walk or a free-day and just chill out.
2. Establish a kickass sales channel
You can be the most serious, professional and awesome web developer/designer in the world, but without clients or customers who purchase your product or servieces, you ain't worth shit.
Because of this it is extremely important that you establish a stable sales-channel that will get you a continuous stream of ongoing work.
Your sales channel can be your website, cold calling companies or pumping out engaging and effective ad-campaigns using either AdWords or some other form of advertising channel.
The bottom line is, you have to get your name or brand out there for the world to see, You have to market yourself hard, and deliver on the promises that you advertise!
If you suck at marketing/sales, like me, it might be beneficial to hire an independent sales/marketing person, a person who's sole purpose is to get you works, advertise your services and make you money, these people are usually paid on a commission or per sale basis, if you don't want to deal with the sales process or marketing, hiring one of these guys might be beneficial to you.
3. Don't do everything, Specialize!
I have made several mistakes trying to be able to do everything from custom chrome extensions to fully custom bespoke web applications, and I have paid the price for it, I owe my collegues money, I failed to deliver the product I sold and I have been burned by none paying clients because of it.
Pick 1-2 things that you KNOW that you are good at and can deliver great results doing, market this ability and abuse it to no end, nobody wants a jack-of-all-trades, the #1 reason that people hire freelancers is that they provide a specialized service and are experts at what they provide.
At my current workplace I work extensively with the Joomla! CMS, I learn a lot about developing and customizing extensions, this is a service that I actively promoting an marketing to my clients.
In short, what I am trying to say is: don't try to be the guy that sells everything between heaven and earth, specialize in a field that you shine in and market yourself as an expert in that field!
4. Taxes, learn them, seriously.
Taxes are something we all hate do have to deal with, and I have ignored this until very recently, the fact is that, no, you can't get away with not paying taxes, the faster you accept this fact, the faster you can start becoming a professional and start earning income from your services.
Companies expect you to be legit, and therefore you have to be pay taxes, I have made it a standard procedure to pass the price of the tax over to my customer, this is standard practice in nearly every industry and your client ( if it's a business) will not even raise an eyebrow if you do his.
Learn what tax rules apply in your country and make sure that you comply 100% with these rules.
5. Deliver high quality work!
Delivering high quality work should be your number one priority, your customers hire you because you've advertised that you know what the fuck you're doing and if they went so far as to send you a request for a quote or even a proposal, they trust that you will deliver high quality work for the services you've advertised.
If you consistently deliver high quality work for your clients, your clients are more likely to recommend you to their friends, colleagues and other people in need of your services.
I hope this post has been helpful and I wish you all the luck in the world with your venture into the wonderful world of freelancing!