Omni, I did change the title on one of my four points from 'Work for free.' to 'Intern/volunteer', as that was my original intention. I used the phrase 'work for free' to make a point - that when you start out, gaining the best experience often does not go hand-in-hand with a big pay-check. I also added a couple of sentences to reinforce that point. Sorry - I didn't think of that as responding to criticism, but rather clarifying my poor choice of words. The feedback posted here showed that I was unclear on that.
I appreciate everyone's feedback here. This is my first post on Hacker News, and I didn't expect this kind of response.
I realize that the idea of not valuing one's own time can be dangerous, and lead to a bad dynamic down the road. This is especially true for freelancers. That said, I stand by the point. For a student or beginner, the idea of getting involved with real-world communities, whether its a company you respect, an open-source project you support, or even a non-profit that you believe in, can be very valuable. Sometimes the best way to get involved with these groups, particularly if you have little to offer on paper, is to be creative with how you can help them, knowing that your biggest reward for the contribution will be the experience you gain. I don't see this as being unfair to yourself at all, nor do I see it as selling yourself short.
Sorry for coming across as a jerk. This is just my opinion, but I highly prefer striking-through the original content if you need to make meaningful changes to an article after its publication. Good on you for the post and your reasoned responses to the comments here.
Thanks, all, for the feedback! I just wanted to clarify on my 'work for free' point. If you have no real-world experience, get some. While you may not get paid at first, the amount of marketable skills you learn will more than pay for that. The point here is not to offer to work for free in hopes that you might eventually get hired (although that can sometimes happen). Rather, the point is that there are a lot of things that you can only learn by being thrown into the context of a fast-moving, multi-faceted company with real clients.
Qualified it is still bad advice. The last thing the software industry needs is a hazing period for unscrupulous companies to take advantage of. If you're really lacking in any demonstrable experience then work on a personal project or an open source project until you can show that you know what you're doing. The pay is the same and what you'll have to show for it is just as valuable (if not a lot more) for future employers -- at least the ones you're likely to actually want to work for.
>> "fast-moving, multi-faceted company with real clients"
Before I got into software I built a public relations agency from the ground up. I used to dream in corporate double-talk. Even I don't know what that phrase means.
It's better to build something for yourself or contribute in Open Source than working for free on a for-profit company.
I also don't think it's easy to get "hired" for no money in most companies, legal issues aside, training people is NOT free and you can't trust and give responsibilities to someone you're not paying. On Europe is common to do unpaid internships as part of your education, but the companies taking you in get money or tax rebates to do so.
Volunteering at a non-profit is one thing, but you should never work for free at a for-profit company. Never. To go even farther, any for-profit company unable to pay even a reduced rate, equity return, or a sales commission shouldn't be hiring.
You should pay at least minimum wage which is intended for unskilled labor. Even training that person will provide value to you and you will learn so much about yourself.
I appreciate everyone's feedback here. This is my first post on Hacker News, and I didn't expect this kind of response.
I realize that the idea of not valuing one's own time can be dangerous, and lead to a bad dynamic down the road. This is especially true for freelancers. That said, I stand by the point. For a student or beginner, the idea of getting involved with real-world communities, whether its a company you respect, an open-source project you support, or even a non-profit that you believe in, can be very valuable. Sometimes the best way to get involved with these groups, particularly if you have little to offer on paper, is to be creative with how you can help them, knowing that your biggest reward for the contribution will be the experience you gain. I don't see this as being unfair to yourself at all, nor do I see it as selling yourself short.