Firstly let me start by saying; I do not regard myself as established or claim to know every facet of being a freelancer in the creative industries. What I do have though is experience in making mistakes, learning from them and altering the way I work to avoid them mistakes happening again. Take this as the advice I would give myself when I started out.
Rewind 2 years and I was sat at my desk in my Uni dorm battling my way through some CSS I had bastardised to help create the first version of the website you are on now. It was a dull grey and even duller grey colour combination, side scrolling and featured about every single piece of work I had ever produced in my teenage life. It was made up of images sliced from Photoshop and happened to be the most inaccessible, invalid, random website one could expect to land themselves at. It was a start though. Bring on the clients!
Woah there pal, think again!
It took 3-4 revisions of my portfolio website before I ever get any client attention and this was vital. Just because you have created a website does not make you a web designer. I was desperate to get the ball rolling but was not ready - god forbid if someone saw something from Josh Johnson 1.0 and was willing to pay me to do work for them - I would be lost and the client would end up running. I needed to spend much more time on refining my skills, acknowledging what I was good at and preparing myself for the day when I was ready to complete a project for someone else that we could both be proud of.
It may take a while but if you are good, someone will find you. It only takes one client project to get the ball rolling and in many situations, having one client will open doors that you would never have anticipated.
Now my opinion of web design/development in education is worthy of a blog post in itself so I will not go off on a tangent here but there is something to be said about me studying a degree in New Media without having a single bit of knowledge in how to talk to a client. The biggest hurdle of being a successful freelancer in my opinion is knowing how to treat, talk to and keep a client. It doesn't matter if you are the king of CSS, if you can't talk to someone who would potentially pay for your services; you aren't going to sell it to them. Websites like this are a lifesaver I wish I had found a few years earlier. I was lucky in the respect that my first proper client understood that I was still a student and gave me advice on what needed to be in my invoices and estimates, highlighting the level I needed to be at to earn money from my skills. Good clients are good portfolios and without them, you are going to struggle getting more work.
I remember getting really bogged down by a client asking for about 20-odd revisions on a logo and thinking I was being taken for a fool. I wasn't though. The logo I had designed was simply not up to client quality yet and I needed this lesson to get a grasp of how good my work should be to warrant being paid. Practice really does make perfect.
On the topic of getting paid, what should you charge? People have discussed their methods and theories regarding payment but everyone is different and just because it works for one person does not mean it will work for another. I personally prefer charging by hour nowadays as you are not constrained to a fixed budget that will not change if you spend longer on it than presumed. When I started out however, I had no concept of how long it took me to complete projects - I had no yardstick to compare to. So my grain of advice would be to charge by project until you are comfortable with your timings and speed of workflow. Now remember, you are not an established freelancer yet - you cannot charge a rate that your work doesn't live up to. You cannot however undercut yourself so much that you become a target for exploitation either - somewhere in the middle is a good starting point. I tend to ask for a percentage deposit (10%-20%) upfront to cover myself and the rest of the payment after the project is complete to keep me motivated. If someone pays you all at once, chances are you will lose motivation for the project, which will no doubt be to the detriment of your work.
Once you have a few projects under your sleeve, what you need to charge becomes clearer and it no longer becomes an issue, instead something to look forward to.
My final bit of advice to the younger me would be to not try to be all-things-to-all-people and to say no to people simply asking too much from you. It is an easy mistake to go onto a web design agencies website, note how many services they offer and assume this is what you should be offering. No. Being specialised in an aspect of a wide industry is not a restraint, it is an advantage. I for one will never learn everything about front-end and back-end development no matter how much I would love to. The web is a broad place and being great at one thing is much better than being a jack-of-all-trades, trust me.
Don't be scared to say no to a client. Honesty is always the best policy and if you simply cannot do something, a client would prefer you say than you doing a half-arsed job that really pleases no one. Focus on your strengths and only offer services you have spent the time learning inside out, back to front. Constantly learning to keep up with trends is vital in this industry but time and effort is needed before you can ever offer new skills as new services.
Freelancing is not for everybody. I personally would favour working within a team of people than alone as you can only do so much yourself. Saying that, the horror stories of being a freelancer are often avoidable if you learn from your mistakes and pick the right people to work for.