Being a freelancer/subcontractor is becoming the norm nowadays. With that many freelancers it's very convenient for the business to hire people per project and if the project needs more resources to hire even more people. The things i is just like cloud services. This is good for the business because of the unpredictability and the teams can shrink or expand as needed.
If you are serious about your freelancing career here are the qualities I believe will help you get and retain your clients.
Finding clients
The client's won't find themselves you need to dedicate time and effort every single day to look for clients [twitter, job boards etc] that can benefit from your services. Also if they are good fit for you.
Even though you can probably service lots of clients you have to be picky about that.
a bad client can drain your energy and vice versa. You want clients that respect your processes, pay on time and are understanding when you need to unplug.
Not all clients will reply when your contact them and that's OK. You need to keep going without loosing motivation. I have noticed that 1-3 out of 20-30 people will get back to you and out of that 1 may hire you.
It is also important how you approach each project. Lots of people including myself I would copy & paste the same content. I wanted to be efficient. It's important to take a minute or two to get an idea what the project is about and ask meaningful questions.
If you can even provide some steps that you'd take to complete the project you would be seen as someone who can really do it.
What I have done is to check that potential client's website and come up with some suggestions. The idea is to provide value as soon as possible.
For some clients I've created a short video recording (up to 1-3 minutes) explaining how I would approach the project. Sometimes I also turn on my webcam which shows my face in the bottom right corner of the video. The audio + video recording helps the client to determine my level of English (for non-native speakers). Having a picture communicates what person you are.
Work ethic
Have a great work ethic. If you promise that something will be ready by a given date do everything possible to make that deadline. If you see issues or probables that may cause the deadline to be pushed forward tell the client immediately as soon as you find that out. Waiting for the last possible moment is a really bad idea.
You have to be realistic when things are not going well. In such cases contact the client and provide options. This could be reducing the scope of the tasks, pushing a feature for the next release. You can warn the client and explain that if a feature is not well tested it will certainly cause more issues later on e.g. the users will be disappointed and data may have to be migrated.
Communications
I've worked with different freelancers. There were people who would reply to my emails after 3-5 or even more days. Not sure how those people think that this is ok. Excuses after that don't work at all. Maybe the freelancing was a side thing but still the responsiveness should be within 24-48 hours. We sleep with our phones next to our bed and it's almost impossible not to see a message or an email within hours it was sent because we have become conditioned to check what's happening when the phone makes a sound and shows a notification.
Manage time and energy
The successful freelancer needs to manage his/her own emotional, mental and physical energy. Without that he/she won't be productive at all and would miss lots of deadlines.
Health & Sleep
I regularly skipped on sleep even for years. I would average on about 5-7 hours of non-quality sleep. Going to bed at different times e.g. from 1-5 am. That's a terrible sleep schedule. I wasn't fully aware that my productivity was declining. It's good that I started tracking all my computer activities with a free tool such as Toggl.
On the other hand I demanded a lot from my body/brain and maintained a good & healthy lifestyle: I eat good food, exercise regularly and that compensated for the lack of sleep until a given point.