Except that working at a no-name software shop will pay significantly better, and then you can take your SF developer experience to middle America and get decent paying corporate job and a McMansion.
I think you underestimate the amount of money that Bay Area developers make. $2k/month is $24K/year, which is a relatively small fraction of your after-tax income when you're making $150K/year.
One thing people don't take into account when figuring out cost-of-living adjustments: while expenses like rent, taxes, and meals out are typically a percentage of income, expenses like durable consumer goods and savings are measured in absolute dollars, and are fungible between locations. So while it sucks that cost-of-living might still eat up 80% of your income, the remaining 20% is a measly $8k/year at a $40K/year middle-America programmer job, but $30K/year at a $150K/year Bay Area tech job.
And the difference gets even more stark with added income - if you make $300K/year (quite doable as a senior engineer at a major tech company in the Bay Area), your taxes go up, but every other expense category remains the same, and so you end up banking about $100K/year. It's not unreasonable for a programmer in the Bay Area to save up half a million over a 4-5 year stint at a company; ask someone in Kansas or Ohio how long they think they'll have to work to save up half a million.
Fresh-out-of-school salaries at Google/Facebook/Twitter are in the low six figures (2 years ago I think they were around $105K), get promoted to senior dev after 2-3 years and $150K/year is very doable. It's probably lower at J-random-startup that nobody has ever heard of, but most VC-funded startups will pay market rates.
We are comparing to acting hopefuls. Is the crem-de-la-crem of the programming world- the ones that get top salaries at Google/Facebook/Twitter- really the right people to compare?
300K for a senior engineer? Maybe a few people at Google. I've heard of some 200K jobs at Apple for low level systems programming people that are hard to find.
Well, not really. It's possible to get valuable, career-relevant experience at just about any software shop, name or no. With the exception of some people skills, that's not usually the case when waiting tables.
This kind of comment makes me wonder what percentage of HN has zero idea of what's it's like to be legitimately broke/poor. Even if you're joking, since you include the winky face, what about actual poor uneducated people who will never have a chance to work in a no-name software shop?
What does that have to do with anything? I'm just bemusedly thinking of the parallels between the kid who moves from Small Town, USA to be a star in Hollywood, and the kid who moves from Small Town, USA to make it big with his own startup in SV.
"No-name software shop" was probably the wrong choice; a closer tech analogue to waiting tables to fund that acting dream would probably be working IT/helpdesk.
The analogy may be more apt than it first seems! ;)