I'm currently interviewing candidates for a back-end web development position. I ask them to perform some basic work (a real project, not a throwaway exercise) to get a sense for how they go about designing code and troubleshooting. I just had one candidate complete and send me his completed test, along with an invoice charging me almost $1000 for his time! Of course I won't be paying, and he won't be moving forward with us, but is this becoming common enough that I should put out a disclaimer, or is this just one incredibly unprofessional experience?

  • 33
    the point of a throwaway project is so you aren't scamming people into doing work your company will benefit from for free...so...he was indeed working on spec...sounds like he was right to attempt to charge you : \
    – NKCampbell
    May 17, 2019 at 16:54
  • 9
    and what are the legal implications of the code written and being integrated into the company's codebase? Who owns what? Did he sign a waiver releasing his ownership of the code he writes that you would then take? etc...could be a can of worms
    – NKCampbell
    May 17, 2019 at 16:56
  • 6
    The reason for throwaway projects is to avoid any possibility of using someone's code that you don't have a right to.
    – cdkMoose
    May 17, 2019 at 16:56
  • 8
    @Nib the point of an interview isn't to get your projects completed. It's to assess the ability of the candidate. Giving all candidates the same test would allow you to compare candidates fairly.
    – thelem
    May 17, 2019 at 16:57
  • 5
    did candidate know it wasn't throwaway - ie - was it discussed "so, we've got this issue we want looked at and think it would be a good test to see how you design / troubleshoot" or something along those lines? If it was talked about, then it's not even unprofessional for him to have done this
    – NKCampbell
    May 17, 2019 at 17:00

4 Answers 4


I asked in the comments

Is the work he was asked to perform usable by your company? Or was it a throwaway project that cannot be used?

You replied

What's the point of a throwaway project? Of course I assign usable work. But for this case I haven't opened his project yet and I don't plan to.

So, you are getting real work done for free. Sounds like a good deal for you. So good, in fact, that it is reasonable for someone to assume that they were only given the coding test in order to get free work out of them, and that you may have no intention of ever hiring anyone.

If you want real work done, pay for it. Don't dress it up as an interview test, even if you are legitimately using it as one.

If you are going to use the work, then yes, most definitely, you want to be VERY clear about it when you assign the work to the interviewee.

Legal concerns

In addition to the above, be aware (keeping in mind that IANAL) that anyone who writes any code retains the copyright to it unless they explicitly turn it over to you. So, unless there is some sort of license attached to your interviewees' work (any of them, not just this one that tried to invoice you), you may have opened your company up to some very nasty legal liability with these coding tests.

  • 8
    ...especially since, if you do not specify so in some form of contractual agreement, they still have copyright to the affected code. That could get you in trouble in a number of ways.
    – Ben Barden
    May 17, 2019 at 17:06

You are certainly not obliged to pay the invoice, since there was no "meeting of the minds" about paying for the work.

I personally don't think it's unreasonable to have some sort of coding exercise as part of an interview process. However, some employers have gone off the rails with this, and have coding exercises that require multiple days worth of work. Anecdotally, a few employers have even used this tactic to get free consulting and development work. Applicants who have run into this sort of mistreatment might be sensitive about whether they are being exploited.

You've clearly ticked this applicant off. It might be worth a bit of reflection on whether you or the applicant is the one being unreasonable. Can the exercise really be completed in a couple of hours? Is the exercise really an exercise, or does it solve an actual business issue? If the exercise takes more than four hours, or solves an actual business issue, then the applicant might have grounds for being upset. On the other hand, some folks just have short fuses, and the exercise has shown you something about the candidate.

Edit: OK, I see from your comments that apparently you are one of the employers using "real life" problems for an exercise. Attempts by an employer to benefit from free labor are a big flashing red light for applicants, indicating "not a place I want to work". Doing an hour or so of pair programming on a real problem is reasonable. Sending a candidate home to do free development for you is not. I wouldn't have bothered sending you a bill, since that's pointless, but I certainly would have lost all interest in the position.

  • 6
    Plus 1 for « lost all interest in the position » and you then tell all your colleagues, friends, ecen on social media about said company and that news travels fast....
    – Solar Mike
    May 17, 2019 at 17:33

The idea of doing the test and sending along an invoice seems to be pretty rare, mostly because it almost certainly means that the interviewee just wasted their chance at moving forward and spent whatever time was put into the test for nothing.

The sentiment that people don't want to spend hours on a technical test before they get to speak with anyone (or otherwise need to invest hours of their spare time at no recompense) on the other hand seems to be growing a bit. There's plenty of questions on the Workplace here from developers bothered by these tests and looking for ways around them, or even flat out saying they refuse to take them unless they get paid for them.

So while it's unlikely you'll be getting any more invoices, you might get more people opting out of your interview process or asking for payment before taking the test. You should probably be happy with this result though; it'll take you a whole lot less time to reject this interviewee for being unprofessional than it took the interviewee to complete the test before throwing away their chances by attaching an invoice.

  • 7
    I was about to +1, then you said the interviewee was unprofessional. Hardly. They did real, usable work so they expected to be paid for it. Seems reasonable to me. May 17, 2019 at 17:01
  • 3
    @BittermanAndy nah, if you really want to get paid, you make this clear before doing the work. Sending an invoice for something that is widely known to normally be unpaid work is just being passive aggressive.
    – Erik
    May 17, 2019 at 17:04
  • 2
    True, payment should be agreed up front. But employers shouldn't be expecting people to work for free - ever. Let's say neither party covered themselves in glory. May 17, 2019 at 17:10
  • 1
    @BittermanAndy certainly not, and I fully agree, but the proper response to "do this work for free" is just saying "no".
    – Erik
    May 17, 2019 at 17:10
  • 4
    @dwizum do you think the interviewer should have made it clear the candidate was supposed to do work for free?
    – Solar Mike
    May 17, 2019 at 18:12

Leaving aside the specifics of your question for the moment, it is certainly becoming more common for candidates to be compensated for their time and/or money.

A very common example is where the candidate travels a long way for interview and/or has to stay overnight. In these cases mileage/travel and reasonable accommodation costs can be claimed.

For larger testing sessions, an potential employee may also lay on coffee or a buffet meal.

As for your question, if you're expecting a professional to spend hours or days on code that could reasonably be used at the end, yes - they're going to feel exploited unless it is made clear the work is gratis and/or they're part of a very small pool of select candidates.

Perhaps a better way is to carry out a phone interview in the first instance, or ask them to complete a questionnaire or written test to weed out the weaker candidates before moving onto the project element.

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