So many freelancers sit on Upwork all day bidding on jobs. I started freelancing about 6 months ago, and I already have more work than I can handle, turning much of it down. I have no problem getting endless hourly jobs in the $25-50 USD per hour range. Being 20 years old, that’s not so bad.
The first step is to work with someone who has connections. Build out a simple project for them, and do it for dirt cheap. 20 hour job for $200. The key is, they’ve got to be a somebody. They have to have clients and the ability to refer you to others when they are given the chance. You likely know someone already who has this ability. Just help them out and they’ll treat you well.
I did this, and I was referred to a Wall Street Journal featured company who raised a $25,000,000 funding round earlier this year. The referrals just keep growing and the hourly rate keeps going up.
Also, do the first projects through Upwork (formerly Elance and oDesk). This will get your profile from 0 ratings to 1 or 2 ratings with 5 stars. This will be enough to generate jobs with a good cover letter. Explain why you’re better than the rest and you’ll win that job. You won’t ever rely off Upwork completely. It will help you get a few jobs, grow your portfolio, get experience and build a name. I imagine the amount of people that make $100k+ per year through the Upwork system is low because they eventually move off the system and work with the same repeat customers over and over.
By doing jobs for cheap initially, and getting some easy reviews on freelancing sites like Upwork, you’ll have no problem getting coding work.