Here is the situation. One of the companies I applied for as a software developer asked for a complex and "thorough" test. I agreed to it, but I noticed that I was supposed to add a module to their in-production services that automated certain e-mail notification based on some filters. I'm certain of this fact, since it was clearly stated when I received the assignment, they mentioned that it was a module they need to write and gave me enough information to integrate it with their systems.

Is this practice ethical, developing your company software using candidate testing? I have recently declined to solve the test, I'm trying to figure out if I exaggerated / overreacted.

Later edit: It wasn't just a mailing system, it also had a "relevance" algorithm with custom scoring and other stuff, so there were around 16 hours for MVP, hence the "weekend job". But the question is of ethics/normal practice, not test complexity.

  • 4
    Yes it's perfectly ethical assuming you were being paid. If not, then no. Commented Oct 29, 2013 at 15:30
  • 2
    One option - offer to do contract work for the company. That way they'll get an example of your work, presumably some working software, and you'll get paid, even if ultimately you and the company decide to part ways. Commented Oct 29, 2013 at 17:34
  • 7
    Exactly what Wayne said. If they get you to write the software, make sure they understand that you hold the copyright to the written software and to get it, they will have to pay you. If nothing else, this should demonstrate how flawed their testing process is. Commented Oct 29, 2013 at 17:49
  • 2
    Harlan Ellison says it best ... never work for free. Plain and simple this is working for free; you aren't doing yourself, your peers or the industry any favors setting a precedent like this.
    – user718
    Commented Oct 29, 2013 at 19:58
  • 2
    This is being discussed in meta.
    – jmac
    Commented Oct 30, 2013 at 4:11

4 Answers 4


This sort of thing has bothered me for a long time, so I thought I'd share what I've learned so far.

First, legally speaking I haven't found any cases or legal opinions that say that the practice of a "work sample", especially when limited to 1-2 days, is even vaguely frowned upon. There appears to be some literature to support that work samples may be particularly prone to adverse impact (disproportionally favoring majority applicants, read: white males), but that's about it.

Second, ethically what makes this problematic is that there is a suffusion of a few issues. The four most pressing are:

  1. How much can/should a person be asked to invest (in time and money) into merely interviewing for a prospective job.

  2. Should a person be paid for providing a non-trivial work sample?

  3. Is it ethical to use any work by applicants for your benefit, without those who did the work being compensated (paid) for their time.

  4. Is even offering a person a job enough compensation for performing real work?

The thing is, in all the research and inquiries I've made of HR/IO professionals, the answer is: "there is no universal code of ethics for this." It depends, and it varies.

However, this does not mean one cannot make an ethical judgement - just that it is not the same sort of ethical judgement you can make if a person were to tell you "Sorry, we don't hire Hispanics."

What it comes down to is this:

What are your ethics, and how do they compare to a potential employer's apparent ethics?

One of my ethical rules is that if a person performs real work for a business, at the specific request of that business, then that person should be payed a fair rate for their time - with absolutely no regard to future employment. A fair rate being defined as what that person was to be paid, if hired, during the initial training period.

I will share my personal reasoning as to how I arrived at these beliefs.

My first time with something like this was as a graphic artist and "digitizer", where I was asked to come in and provide real, on-site work for a few hours; the goal was stated simply - for me to see if I could really handle this sort of work by myself (it was a very specialized set of skills, with work I hadn't exactly done before), and for the business to see if I might be able to do the job and thus be worth hiring. The person said, explicitly, "I'll pay you for your time regardless, of course" - as if it would obviously be unacceptable to ask a person to work and not pay them.

This put me, as an applicant, in the position of "if they don't hire me, at least I'll make a few bucks for the trouble - which beats filling out more application forms", and "or I'll make a few bucks and get the job, which would be great", or "maybe I'll find out its a terrible job in a terrible place, and I'll just politely decline." Why wouldn't I give it my best shot, free of worry or anxiety? Let the chips fall where they may, there is no downside!

From a business prospective, this is exactly what you want - a potential chance to see how a person would really perform on the job. I got this particular job and performed exactly as I did that first day, plus getting better as I learned the job.

For my next experience, I was asked to try out as a computer/network technician. Again I was asked to give a trial of a few hours, but no pay was offered. I didn't especially like this, but I figured it was just a few hours, so no big deal. It turned into a 8-10 hour day of real, actual "this is what the business gets paid to do" work, and at the end of the day I was offered $10 to "thank me for my time" ($60 would have been minimum wage, less than half the pay the position supposedly paid).

I was offered that job, and the handling of the "work sample" was one of the reasons I flat out turned down the job and it helped to cement my personal ethic. My rule is "if a person won't treat and pay you fairly before they hire you, why on earth would you expect them to pay and treat you fairly after they hire you?" Even a high-paying position is not worth being jacked around, devalued, or having your compensation toyed with capriciously. No thank you.

YMMV, but I've found the chance to be offered to do real work for no pay to be invaluable- that is to say, the chance for me to keep looking for a different job.

  • Yeah, I also noticed that phrase. Good point.
    – randunel
    Commented Oct 29, 2013 at 18:04
  • What Joe said goes for me too. Commented Oct 30, 2013 at 5:07

Is this practice ethical, developing your company software using candidate testing?

IMHO, it's perfectly reasonable to ask you to demonstrate your development ability on a real-world problem, it's not reasonable to expect you to do real work for free. People deserve to be paid for their work, and I'm assuming they didn't plan to compensate you, other than by assessing your abilities.

It makes sense to me that you declined this part of the interview.

One way to handle this would be to decline that part, but offer to demonstrate your abilities in some other way - perhaps by working on a module that isn't an upcoming part of their Production system, or by working on a module for an open source project.

  • +1 for the suggestion to work on an open source project as part of an interview, that's a good idea, but I haven been asked to do so by anyone, yet :)
    – randunel
    Commented Oct 29, 2013 at 13:03

This seems like a very slippery slope to me. I had a similar experiences when I was last applying to jobs. Companies asked me to implement plugins/components/modules for their systems. Depending on the company, I received compensation ranging all the way from nothing, to minimum wage, all the way up to what I would expect to be paid as an employee. A couple points:

  1. I definitely had more respect for the companies that compensated me, regardless of the amount. They are showing right up front that they believe that your time is valuable and they intend to compensate you fairly for it.

  2. Be careful of the scope. Some of these projects seemed fairly reasonable on the surface, but as I started working on them, I realized that they were quite large, and far beyond what had been proposed. I contacted most of these employers and informed them that I believed the scope of the project was well beyond a sample. One of them knew this from the get go and noticing that the scope of the project was larger than anticipated, was part of the test.

  3. Follow up. A couple times I was contacted after the fact and asked to go back and fix bugs in my sample. These are the type of companies that are out to feed off of free/cheap labor. I informed them that I would be willing to sign on with them as a contractor (at rates that were very high, seeing as how this was not what I was after) and after doing so I would be glad to perform whatever work they needed from me.

The takeaway for me, is that this does not seem to be a bad, or even uncommon, practice, but do your best to understand the motives of the company you are dealing with and make sure you don't get sucked down into the eternal pit of free labor.


It may or may not be unethical depending on the intentions of the company, if they are interviewing for the sole purpose of getting candidates to write production code for them with no intention of hiring anyone then it is very unethical. If on the other hand it is a genuine test of your coding ability then it is OK.

The problem is that the way they are doing things is creating a deficit of trust between them and potential employees as demonstrated by your refusal to complete the test. So I would say it definitely a major flaw in their recruitment process more than anything else.

  • 2
    Well, do candidates have a way of knowing what a company's intentions are? :D
    – randunel
    Commented Oct 29, 2013 at 12:59
  • 2
    @randunel Obviously not, but you cannot say it is unethical unless you know their intentions. So from that point of view the question is unanswerable. Commented Oct 29, 2013 at 13:21

Not the answer you're looking for? Browse other questions tagged .