Many interesting companies prefer to hire (and in some cases hire only) people who have or have contributed to opensource projects.
By all means, write OSS. Get paid to do it, though.
Is it really that bad to work on opensource software solely because you want to? Do we really need to get paid for everything we do?
Of course not. But there's a difference between "I work on OSS because I want to" and "I work on OSS because someone said I should". I believe patio11 is speaking about the latter, mostly.
I really think we should get paid for everything we do for for-profit companies. And if someone at a for-profit company is saying "We'll hire you, but only after you've 'paid your dues' by giving us labor for free", they do not have your best interests at heart.
Oh and just to tack on my Ruby specific gripe -- so what if I haven't written tests for my own stuff? Can't you teach me Rspec or whatever your shop uses instead of just tossing out my resume?
Hell, ask me any time and I will teach you to write tests if you want.
Got any mentors in the LA area?
http://www.railsmentors.org/mentors
When you're a guest, it's just not really sorted.
Also, writing tests is a skill. After knowing how, you still can actually get better at writing tests. It's not as easy as 'just teach me RSpec,' it's more like 'teach me functional programming' or something. It's much bigger than just switching languages.
1) The professional degree for software engineers is a BS. You might not be great shakes when you get out of school, but you're still a professional. You know what professional means? That when you're the least experienced person in the room doing barely serviceable work, you're still getting paid.
2) Extended unpaid apprenticeships are a feature of the guild system and their modern analogues, used specifically because they make it harder to get into the field rather than easier, despite the outward appearance of offering a ladder into the field. Is that who we really want to be?
3) Every programmer you admire sucked once and almost all of them got paid back when they sucked. They often got paid in a variety of eccentric fashions, but they got paid.
You know that ubermench coding for a local company when he was 14 who, hah, had to have his mom cash his paychecks because he didn't have a checking account? His code sucked, too. It just did something that solved a problem for the business. You know what businesses do for people who solve them problems? That's right, pay them money.
I have nothing against OSS. By all means, write OSS. Get paid to do it, though. Can you FizzBuzz? Good, you're hireable by somebody. Get hired. Write code. Learn to write code better. Career path goes up and to the right from here.