Easier said than done. Doing Freelance work means you go without work at times, and sometimes you don't even get paid. If you are a beginner programmer right out of high school your potential clients are limited and you have to compete with people in third world nations with cheaper labor costs.
"Move to silicon valley, move to silicon valley"
Yes, because that is the only way to become a successful coder or create a startup (face palm)
The first step is prohibitive to most teenagers without a bankroll of some sort, be it a savings from part-time work earlier in their life, parents, investors, or whatever.<p>That said, solid internet access (sometimes even free) is becoming more and more bountiful as time goes on; so I think that issue of 'move to where the internet is' will slowly fade.