Have you actually tried bidding on jobs on these sites? Or have you just looked around at the other bids, gotten discouraged, and given up? I put myself through college as a freelance programmer and system administrator, primarily finding new clients through rentacoder and scriptlance. When I shut down the freelance work to join Google, I was charging $75/hour, and still probably could have raised my rates further. I was making roughly $30k a year, working part time during the school year, and mostly fulltime in the summer.
The key to making good money on these sites is differentiating yourself from cheap offshore talent. Figure out why you're different from the guy halfway around the world who is charging $5-10/hour, and show (not tell) the prospective client that. Some ideas:
- You're a native english speaker, and can communicate effectively.
- You understand the problem the client is trying to solve.
- You're in the same timezone, and can respond to questions quickly.
- You have good understanding of the technology, and can design an appropriate solution quickly.
You're not going to compete with these guys on price - you're going to compete with them on quality and reduced risk that the project will be done correctly and on time.
The best way to demonstrate all of this to a prospective client is to write really good bids. Ask lots of questions to start with, as well as a summary of your understanding of the problem, and how you might go about solving it. Consider it a dialog, not a 2 sentence cut and paste marketing blurb.
Lastly, be picky about the projects you choose to bid on. Because you're going to spend more time bidding on them, you can respond to fewer than the shotgun approach some offshore companies take. That's ok - choose projects that look like they care about getting it done right, and aren't necessarily just looking for the cheap shortcut.