I don't work for free.
My time is more valuable than free. Perhaps at reduced rate, but never for free. Working for free makes your clients balk when you finally dare to charge.
I like my free time.
Free time gives me a chance to do what I want, as I'm young only once. It's not always easy to have some time off when in college / uni, so the time you can make is time you (should) treasure. How you fill that time does not matter, but it should be fun (as that's what free time should be).
The other points I agree with.
Building a portfolio is a great way to get at least one foot in the door. Writing code and text is also a very good way to learn to express thoughts (both of which I do too little of, personally), which also helps your future senior to get a reading of you.
Agreed, I find it unprofessional to work for free and you do yourself and everyone else a disfavor.
With two exceptions; internships via universities (where it is part of your education) and certain kinds of work for non-profits. And even then I am reluctant to work for free.
If you cannot even contribute at least minimum wage worth of value to a company, why bother contribute at all - go spend time on open source or for a charity instead. Or you know, go out and network at events (or bars for that matter).
The other points made in the post are good and relevant. Being able to show off what you have done is always helpful and writing a blog is always worthwhile in my opinion, even if barely anyone reads it (hello my own blog).
> I don't work for free. My time is more valuable than free.
I think this doesn't probably apply for students and/or recent graduates, as it would be a way of escaping the typical "I can't get a job because I don't have experience, and I can't get experience because I don't have a job" catch-22.
True, my time is always worth a certain amount (probably higher than I assume), but if I get a tangible benefit out of it, I could assume that I just switched from "I pay you and you give me knowledge and a degree" to "I pay you and you give me experience and a recomendation".
No, working for free is not a good idea. Perhaps for non-profits, but even then you are better off to either charge a friends' price, or just donate money.
How would someone that just graduated pay rent and food when they don't have a job that, you know, pays them?
> Work for free. This is my boilerplate advice for anyone getting started in any industry, not just web developers. Finding someone that will let you work with them is not that hard, if you offer to do it for free.
Yikes.... I would never advise someone to work for free for a company. If you want to work on an open source project then that's probably a better use of your time.
The problem with free is that it lowers your worth to a company.m
Heck even university co-op terms pay well these days.
It's also highly illegal. If you're performing valuable work for a business, they have to pay you, lest they get a visit from a deeply unimpressed Department of Labor.
Internships are almost always paid now. Even where the internship might qualify to be unpaid, it's cheaper to just pay minimum wage than try to prove you're not extracting value from the intern's labor.
This cannot be stressed enough. It's not an option for a company to pay you for your work. It's a legal requirement. Do not work for free.
An internship is not employment. It's something a company does that's supposed to benefit you educationally. It's not a way for a company to get free labor.
It took a lot of fight to get labor laws in place in the United States and they exist for a very good reason.
I got my first computer job this way - I offered to work for free for the first two weeks, if it didn't work out, they got free labor for two weeks. They hired me by the third day. This was back in 2002 or so though, and I was still at home with my parents. Nowadays I could not make such an offer.
That depends on how you class "for free". Most people think free = not being paid money.
I'm actually looking into working for the whole of July for no monetary compensation. But in return, I expect to learn something from whoever I work with/for.
Most of the time money is good. You can exchange that for many things in life. But sometimes, knowledge is better to have as you can exchange that for (even more) money.
And from an employer point of view, you should not be judged by the size of your pay cheque, but by how much value you actually add to a company.
>> Most of the time money is good. You can exchange that for many things in life. But sometimes, knowledge is better to have as you can exchange that for (even more) money.
This is a false dichotomy. With some very rare exceptions, you do not choose between monetary compensation and experience: you need -- and should get -- both.
I agree completely, other than calling them rare exceptions. You can't quantify the rarity of these opportunities until you know how big the gap is between your current knowledge and what you'd learn.
The bigger the gap, the less money you are likely to make but the more you'll learn. If you get paid nothing, you're basically there to learn (to the value at least the salary you would receive).
I've learned the most in paid positions. Companies that value their employees with monetary compensation are far more likely to value learning and successful experiences than a company who decides you are worth $0 to them.
What if you're self-taught? Getting actual, resume-usable job experience must look better than open source contributions, at least outside of the SF startup/hacker culture.
That is definitely the case in most professional fields outside of the whole startup culture (which can hardly be called professional). I find the whole concept of expecting people to be open-source contributors, to maintain active Github accounts etc to even be able to get their foot in the door in the hiring process completely abhorrent. This practice is a blight on this industry, benefiting only greedy exploitative startup founders and VC folks (usually calling themselves "progressive", ironically).
My dad is a civil engineer and I don't see him drafting construction plans for bridges and highways in his free time. My mom is a social worker and I won't see her dealing with domestic violence and welfare cases in her free time. Why is it that the modern IT industry expects people to put in massive hours contributing to some useless obscure projects just to be employable? I will tell you exactly why - because it lowers the bar for everyone and screens in for people who are willing to bend over backwards, work 90 hour weeks with no paid overtime, who will never stand up for themselves or have any self respect whatsoever.
There are plenty of professional industries out there (such as finance, medical, aerospace etc) which value software engineers greatly, pay big bucks and don't force people to jump through these kinds of arbitrary hoops.
I have better things to do with my free time (such as spending it with my friends, girlfriend, family etc) and that is exactly why I don't want to work in your shitty little startup. Engineers always complain about being treated like dirt by "the suits", but I can tell you that it's usually other engineers/"hackers" coming up with these kinds of abysmal borderline extortionist hiring practices. This shit won't stop until people just say no and stop linking their Github accounts in their resumes in a supplicatory sycophantic fashion just to be even considered for a position.
Want to contribute to an open-source project? Fine, that's a legit hobby as any other. But let's just stop using that as a leverage in the hiring process.
I read "work for free" as doing open source work, at least by contributing to projects you make use of regularly, which I whole-heartedly recommend. This alone has probably accounted for 50% of any success I've had in my career, in terms of making connections with other talented people, having publicly visible code (which has brought opportunities to me I was never even aware of), and of course honing my own skills.
Did the author change the article after this comment got so highly ranked here? If you were indeed directly quoting the article, then it has changed quite a bit.
Shame on the author of the article if he changed it. We can't have a meaningful discussion if you get scared of a little criticism and change the source material.
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.
Advertising the 'work for free' thing pushes towards establishing a dangerous culture, in which slowly all first jobs are expected to be unpaid. And some companies would (and some already do) include these 'free' people in their business model.
There is no reason why those companies can't pay a basic internship salary which at least allows you not to work somewhere else to be able to eat and sleep somewhere else than a friends couch (or floor).
And if the company really can't afford that basic salary, I would double question if it's really worth for you to work for them.
There is no reason why those companies can't pay a basic internship salary
You don't know that. Maybe the company is a totally new idea being started on a shoe string that can't afford to pay much of anything.
Maybe the product or project is a "what the hell" kind of project that doesn't really have any revenue associated with it but won't be even attempted without some free or mostly free time.
Where would the open source community be without people contributing to it for free?
Yours is the kind of thinking that leads to the ever-increasing minimum wage, which sounds great at first blush but whose unintended consequence is the killing off of whimsical tough-to-start or high risk ventures while also denying real experience to workers who lack the job skills needed to actually be productive at the required minimum wage.
"How can I possibly start my whimsical high-risk venture if I have to pay my employees enough so they can afford food and shelter? Why does everything have to be stacked in favor of those greedy minimum wage earners?"
Always with the us-vs-them mentality. Maybe both sides are risking something. Maybe both sides have something to gain? Those ideas are hard to consider when you only have one perspective in mind.
I agree and open source is a completely different thing, in facts someone here even suggested that as a better option than working for a company for free.
But honestly, you are talking about a different thing.
If you can't afford to pay much of anything it's fine, as long as, for example, you give me a bunch of shares which would be worth nothing now, but something in case you become a billionaire.
But if you don't want to give anything back for my work, then I tend to think that you are trying to use my time.
Of course there may be a million exceptions to this, and there are. But in my experience those where the exceptions, and the usual case was just a way to get free labor.
I've been seeing that a lot here in Europe, lots of people holding Masters degrees unrelated to IT doing unpaid/underpaid internships. I find the entire idea completely bonkers.
I did an unpaid internship that lasted 5 months in South America... when I was 17, because it was needed to get my Electronics Technician HS diploma. Even then, some of my luckier fellow students got a token payment.
I've been working since I started college, and even when underpaid at first, never had trouble finding work. Although I'm a college drop out, I didn't have trouble finding a job in a different continent even before coming here. I'm guessing that we are extremely lucky to be in our industry, as there is no lack of work, even outside of the Bay Area.
I'm originally from Italy, and I can tell you that so many of my friends had to go through unpaid internships which were 'offered' with the excuse of a learning opportunity but were basically considered just as free employees.
The high unemployment rate pushes people to accept them to have at least more experience to use in their following job applications, but basically this created an ecosystem in which there is companies that count of a few employees working for free.
I can also tell you that in most cases the owners of these companies are not exactly starving, so there isn't a real reason why they shouldn't pay for good work.
Fortunately it seems that the startup culture is picking up a little, and hopefully this will improve the situation.
But I agree with you, and here in the Bay we are fairly lucky.
You're forgetting all the foosball tables and sodas they have to provide for those free laborers (whoops - 'interns'). Those don't come cheap, you know.
I'm 30 and I already have 10 years of experience. The job I got at 20 was a shitty job. The next job after that was also shitty. I went through soul-sucking activities at my day job and it almost made me switch careers. Unfortunately I needed the salary. And fortunately I evolved.
If I would be 20 again and I wouldn't need a salary, then I would probably find a bunch of acquaintances to start a project of our own. Something not necessarily with a prospect of a future. Something fun, with no clients, no deadlines and no managers.
Internships are also great, as interns are usually left to work on fun things. But it really depends on the company you're internshiping with. The big ones are kind of cool for interns and I would prefer them (e.g. Google, Apple, Microsoft, Adobe, Amazon), even though I wouldn't want to work there full time. I would also never work for free. Ask for a salary, even when doing an internship. If a company wants for-free interns, that's not the kind of company you want to work with.
Working on non-technical project is a good advice. I like to paint and indulge in photography and I have often seen ideas jumping from one field to the other. Like working on a project that requires front-end work sometimes gets help from while I am splashing paint on my canvas. Photography on the other hand, lets me indulge in the subject at hand. A developer is someone who developer, an idea, a vision into reality. I just do not associate "being a developer" to "being a programmer" anymore.
I did not like the "work for free" advice a lot but I do think that sometimes the only way to work on something that you really want to work on is to give your time and energy to it, for free. I am sure there are people who will not agree with me but I am a big proponent of non-profits (esp the ones who ask for your services, more than money).
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.
Why is this targeted at young developers? Seems like this is advice for any developer who is looking to get their start in the industry.
I would replace working for free with contributing to an open source project or working to become a maintainer. People have already pointed this out and I wanted to agree!
Definitely all good points, only quibble is that not everyone has the option to work for the their first company for free or would have to take a second paying job to make it work. That limits the amount of time you can spend on your own projects and personal development.
I found a health tech company I wanted to work for an asked for an internship. They not only paid me, it is now my full time job. Offer to work for free and if you generate significant value they will pay you.
I don't work for free. My time is more valuable than free. Perhaps at reduced rate, but never for free. Working for free makes your clients balk when you finally dare to charge.
I like my free time. Free time gives me a chance to do what I want, as I'm young only once. It's not always easy to have some time off when in college / uni, so the time you can make is time you (should) treasure. How you fill that time does not matter, but it should be fun (as that's what free time should be).
The other points I agree with. Building a portfolio is a great way to get at least one foot in the door. Writing code and text is also a very good way to learn to express thoughts (both of which I do too little of, personally), which also helps your future senior to get a reading of you.