Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

An employer usually asks a candidate to do a small project at home ("homework") as a part of applying for a job.

Last time I applied for a job (as a web developer), there were aproximately 10 applicants who were all given different tasks. Despite the fact that there was only one vacancy, the company used the work of all of the candidates in one of its projects.

Actually, it is quite plausible for a company to create these "vacancies" just to make people work for free - I estimate, that aproximately 2 weeks of programmer's work was saved with all of the job applications that company had on one vacancy.

Is this a common practice and how can you protect yourself from working for free in the future?
Have you seen this during your career?


migration rejected from Jul 7 '14 at 20:38

This question came from our site for professional and enthusiast programmers. Votes, comments, and answers are locked due to the question being closed here, but it may be eligible for editing and reopening on the site where it originated.

closed as off-topic by Jim G., MichaelT, gnat, GlenH7, Robert Harvey Jul 7 '14 at 20:38

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions seeking career or education advice are off topic on Programmers. They are only meaningful to the asker and do not generate lasting value for the broader programming community. Furthermore, in most cases, any answer is going to be a subjective opinion that may not take into account all the nuances of a (your) particular circumstance." – Jim G., Community, gnat, GlenH7, Robert Harvey
If this question can be reworded to fit the rules in the help center, please edit the question.

That sounds like something illegal is going on. – davidk01 Jul 24 '11 at 23:57
Were you the one that was hired for this opening? Is that how you know that they ripped off interviewees and supposedly saved 2 weeks of work? Because honestly, I'm not buying it; outsourcing extremely-short-term work to people who know virtually nothing about your organization or your code/project structures is not going to save money when you consider the cost of all the code review, integration work, and interviewer time. – Aaronaught Jul 25 '11 at 1:55
Btw, how well are laws governed in Estonia? In USA on occasion employees can sue the living crap off "rich evil bastards". I think it is more trouble to piece things together than it is to assign it to one person. 2 weeks for one person ... if 7 people spend 2 days interviewing several people - they have already lost that time. I personally would complete the homework if I felt like I might want to work there, even if it takes me 2 days. – Job Jul 25 '11 at 2:05
Well, maybe they really didn't pay off, but sure did save some money while searching for a person for a job, as they in fact needed one. No, I didn't get the job, but I know a guy from that firm. In Estonia people won't usually sue nobody for this kind of stuff, but I'll take a look whether it is possible – Jevgeni Bogatyrjov Jul 25 '11 at 4:56
You could sent them an invoice for that 2 weeks worth of work :-) – tehnyit Jul 25 '11 at 7:19
up vote 15 down vote accepted

I'm not sure where you are, but I've never had to do "homework" for an interview. I've frequently encountered problems during an interview, but they were either generic programming questions on various algorithms, data structures, or puzzles or extremely generic versions of problems that were faced in the position I was applying for (for example, consuming some kind of data feed or parsing a file for given data). All of these were done during an interview - nothing was taken off the site or assigned in advance.

If companies want to see longer, more complex work, I've also seen companies ask for code samples or "portfolios" of your work. This could also include links to open-source projects that you've done or specific contributions that you have made to such open-source projects. I've seen this noted on job postings, where they will ask you to prepare code samples for consideration.

I would consult with a lawyer in your area. What these companies are doing might be illegal. I would definitely consider it unethical towards the candidates for employment as well as the clients of the company. I would not comply, and promptly remove my name from consideration from the position. If this is how they treat their interviewees, it doesn't bode well for how they treat their full-time employees.

I had a job interview that did have a "homework" component; in the first interview there had been an offhand question "are you familiar with web framework X?", which I answered negatively. The homework was "Get acquainted with X and write a small demo app in it, anything you like". I thought that a pretty good idea, as it made me acquire knowledge that can definitely be useful for me elsewhere, rather than having me spend my time doing something useful to them (if only in evaluating me) without benefiting myself if I do not get the job (I did). – Michael Borgwardt Jul 25 '11 at 7:59
@Michael I suppose that would be legitimate. It's something that you can use on a number of interviews that ask for code samples (especially if they use the same technologies), and since you pick what it is, it's probably not something that the company will ever be able to use in a production environment. – Thomas Owens Jul 25 '11 at 9:48
I was recently given a project as part of an interview:… ... wondering if my SortController is floating around in some application now – IAbstract Jul 25 '11 at 13:39

Actually, it is quite reasonable for a company to create these "vacancies" just to make people work for free

I don't think it's reasonable at all. It's more like stealing.

Is this a common practise and how to protect yourself from working for free in future? Have You seen this during Your career?

I don't know if it's common, but I personally have not ever been asked to do actual work that would be used in production as part of an interview. If I was I would probably think twice about interviewing there.

In terms of protecting yourself, I'd suggest signing a mutual NDA with the interviewing company. This will probably be standard operating practice at most reputable organizations anyways. The mutual NDA basically just says that you won't use or disclose any company IP that you are exposed to as part of the interview, and that the company will do the same with any IP that you produce or disclose.

How would you enforce such a mutual NDA? If a company is asking you to do free labor, and you don't get the job, how would you know if any of your work was used (directly or as a derivative work)? If you don't know, you can't go after them. As good as an idea is might be, I don't know if there's a way to successfully implement and enforce it. – Thomas Owens Jul 25 '11 at 0:25
@Thomas: While it may be difficult to enforce, if it's an important product for the company, they may not want to take risks. Asking for it may give you some additional information. If they say no, it's an additional sign that they really want to cheat you in doing cheap work. – thorsten müller Jul 25 '11 at 6:42
when you submit your code to them, make sure it has the GPL licence attached. Got to show them you know the value of always writing documentation, right :) – gbjbaanb Mar 20 '12 at 15:50

These are aimed at artists, but can be applied to your situation:

The practice is called "work-for-hire" and in the US is not legal UNLESS the contractor signs away the rights in a contract or licensing agreement. (You know, those 20+ page documents that most people skim and don't read.)


How much work was this for a single person? A few hours? A day? Several days? I can't really imagine that it makes much sense to a company to split work in one day chunks and put it together at the end with the high risk that there are many bugs in it and none of the programmers would have much domain knowledge to do the job properly. Can you give an example what kind of work they asked to do?

This is unlikely to work out. The legal part depends on the country where you live. Here in Germany this is a very difficult matter. As long as you agree to do the work and it's only a few hours they could do this. Though I have never heard of something like this, especially not in IT. In general we have very good laws to protect workers here. Though in some areas with many applicants for few jobs (design, advertisement) there is this kind of trouble with internships, where people actually work for weeks or months with very low payment and a permanent promise for a real employment and getting experience that will help them later. (May or may not work that way)

In general you are in a bad situation if an possible employer askes you do do this kind of work. If you say no, you are not very likely to get the job. On the other side, if they really try to steal time from applicants, it's not very likely to be a good job, chances are they don't treat their employees much better. If you can and have a chance for another job, just don't do it.

Well, I spent a good 10 hours creating a javascript/jQuery web app, which calculated something for the company inside use based on some crazy formulas and which had pretty good graphics too. It was pretty easy to implement this app to any page – Jevgeni Bogatyrjov Jul 25 '11 at 6:49
@Jevgeny: Ok thanls. I didn't think of small plugin stuff that can be used in such an independent way. Still most companies I worked for would have a hard time to find enough work of this kind to make it worth deploying to a lot of different people. – thorsten müller Jul 25 '11 at 7:01

Whenever I apply for a job I can show working examples of my previous jobs as a reference. So far this has been very well accepted. Unless it is not only for a few hours (e.g. as part of an assessment center) I would never spent time on a real project without being paid.

If they like I would join the project as a freelancer and they can test me. If this is your 1st job (e.g. you are just leaving university) then ask for a reasonably paid internship - if they want to go that way. But do not do it for free. Your work has its price - this is usually the way you will pay your bills.


Should you? Of course not. There's a big difference between providing some sample code and the company giving you a section from their own specifications and asking you to implement the module as a "test".

I can't say I've seen this in the past; the most was to create a trivial app using some new framework to show how I write code and what I know about the framework, but what you're talking about is basically lying about a job opening to get a drove of people to write code for free.


Sounds more like fraud if there is no intention of hiring anyone. Would you expect someone to test a carpenter by putting up a wall and then expecting them to tear it down/not use it afterwards?

To prevent getting a bad reputation in the industry, you should let applicants know that the code may be used. There is some amount of time and effort put in by the company to make this work, maybe they should get something out of it? Seems like it is easy to compare and contrast different developers if they attempt the same coding task, but that means the focus is on hiring the best developer and not trying to get free code.

I was hired by a company and agreed to start a week later. I got bored/eager and asked if I could come in for a few hours a day early and see what was going on. Spent quite a bit of time with the developers. The owner told payroll to cut me a check for the time and I didn't even ask. Said a lot about this person.


Is this a common practice and how can you protect yourself from working for free in the future? Have you seen this during your career?

I've seen this very recently in my career - I was recently contacted by a recruiter regarding a UX design position, but as a busy contractor (not actively looking for a FT position) I approached it with limited interested but interviewed non the less.

On the back of a "very good interview" where I showed plenty of printed work examples (as most of my live UX work is under NDAs) I've been asked to do a 'test' UX project as the next phase of the interview. (A project which they could easily implement based on the UX deliverables they've requested regardless of any job offer.)

So, I've pushed back on doing a project for free. Working for free as part of an interview isn't acceptable in my opinion, especially if it's taking time away from other (paying) clients.

Your time is valuable and if a company is considering hiring you they should also be prepared to pay you for any 'homework' or test projects they ask you to do. It's a small investment on their behalf--to recruit a good candidate--and payment ensures you aren't being taken advantage of.

So regardless of how much you want to get the job, do you really want to work for a company who wants you to work for free as part of their 'interview' process?


Not the answer you're looking for? Browse other questions tagged or ask your own question.