For brevity I removed some of the details. Here are some examples of recent ones:

Company A (a startup company):

Using C or C++ implement a thread-safe hash table which can resize as needed. Genericity (not bound to specific types) is preferred. The runtime must not exceed 1.0s, and please include a Makefile. The program must be thoroughly tested using CppUnit and documented.

Company B (a physics research facility):

Using a programming language and visualization library of your choice, implement a simple, but relevant, cellular automata simulation (e.g. forest fire, traffic system). Include a README that describes how to run your simulation. Finally, in Latex, write a short 2-3 page description, with appropriate sections as defined in Physical Review Letters, describing what you've built and some applications of it in academia and/or industry (please compile it to a PDF entitled "report.pdf").

These problems are non trivial but also not extremely difficult, but they will take quite some time to make sure everything is working correctly. I'm guessing half a day on each problem, at least.

It would be a different case entirely if I've already interviewed with these companies, but the issue here is that they want me to do these super long problems as a pre-requisite to even a phone conversation. I've done long pre-interview problems in the past and my application did not all progress afterwards, which is a real bummer since I spend a lot of time on these assignments.

Is it reasonable to ask for compensation for my time in solving the above? If not should I just flat out refuse to do these, especially since I'm not guaranteed to get an interview in the first place?

  • 3
    What, in writing, defines who keeps the rights to the code?
    – newcoder
    Aug 5 '16 at 21:57
  • 3
    Not quite a duplicate, but the answers there should be relevant: workplace.stackexchange.com/questions/72350/…
    – gnasher729
    Aug 5 '16 at 22:55
  • Newcoder: different question, but the answer depends on the contract under which the work is done. If there is no contract, ownership remains with the author.... But submitting the code to the company often implies at least giving them a license to use it. Read everything in detail if you care.
    – keshlam
    Aug 5 '16 at 23:05
  • 3
    If the job posting looks worthwhile, you think you have a shot at it, and the other signs look good, do the assignment and do a good job at it! A half a day isn't unreasonable for a shot at a good position, and I don't know about you, but I've spent more time than that on challenges over at codegolf.se, where the only reward is fake internet points :)
    – hobbs
    Aug 6 '16 at 6:25
  • Rather than compensation, maybe you should ask for at least a phone interview, to establish whether there is a real job for which you are a serious candidate. Aug 7 '16 at 18:46

Is it reasonable to ask for compensation for my time in solving the above?

Your compensation is your entrance to the interview process.

Asking for anything more than that is unreasonable - unless your goal is to get rejected immediately. If the company was offering additional compensation, you would have be told so up front.

If not should I just flat out refuse to do these, especially since I'm not guaranteed to get an interview in the first place?

If you don't think the chance to interview with this company is worth your time, then you should certainly skip the whole process, and look for a company that won't ask for so much of your time.

That is true for companies that require a pre-interview test, post-interview test, multiple interviews, travelling for an interview, or any other tasks that you don't perceive as worthwhile.

Interviewing companies get to decide what they want interviewees to do. You get to decide if you want to do it or not.

  • 2
    Exactly. And really, in most cases they aren't looking to screw you out of unpaid work; the homework/test is exactly and only that.
    – keshlam
    Aug 6 '16 at 1:05
  • that's a more accurate phrasing.
    – keshlam
    Aug 6 '16 at 2:30
  • 2
    @JoeStrazzere the sentiment that most companies aren't trying to get work done for free may be true for software positions, but is too-often untrue for graphic design positions, where everything the company accepts AND rejects is still contracted to be the company's IP in exchange for the privilege of being considered. Part of interviewing the company for good fit, regardless of industry, is reading the contracts that go with the interview assignments.
    – newcoder
    Aug 7 '16 at 22:22
  • 1
    @JoeStrazzere I agree, the OP sounds like they're interviewing for the software industry. Interviews take many forms; the "established, skilled worker" interview is more formal than the "do it for the exposure, to get your foot on the door." The OP does sound most like they're in the former situation. In the interest of making sure answers are applicable to future askers in similar situations, I bring up my experience of being in the latter situation (fwiw I read the contract and chose to complete the pre-interview work even though I lost the IP). Regardless of industry, read your contracts.
    – newcoder
    Aug 7 '16 at 23:05
  • For the record, my "interview work" mentioned above was accepted, I got the contract, and then was assigned to complete designs that would fill in the blanks between the other "rejected" works. Maybe considered tacky in some circles, but a good deal in others.
    – newcoder
    Aug 7 '16 at 23:09

Be prepared for disappointment.

I actually took up one of those "Job Challenges" off of a CraigsList posting (Denver) that promised to pay $100 for your time if you completed it.

Well, I did. They were actually kind of clever. In the results of the challenge, you got the contact information for the company representative. After a few emails back-and-forth, I never saw a dime.

I guess I should look at it this way: I ended up learning this company didn't keep its word, and I was better off not working for them.

I had another interview about 6 years ago with a company that did flight simulation systems for the Defense Department. They brought out an ancient laptop and said I had to use their component to create a basic helicopter simulation. Their component wouldn't run on that system, and no one there knew how to fix it. I eventually figured out that the graphics card wasn't compatible with their component, and even went so far as to build a mock object that simulated a helicopter's performance (thrust / force vectors, cyclic/collective input, ground effect, etc.) to do their exercise against.

They didn't even respond.

So, in my experience, companies that have you do "exercises" before the initial interview or early in the process are not good companies to be working for.

Your mileage may vary.


Is asking reasonable? Yes. Is it still possible that asking could hurt your chances? Yes.

Should you flat-out refuse to do these? Only you can decide that, but here are some things to think about:

How much do you value this potential job relative to the value you place on the time (and other resources) that you would spend? Also consider the opportunity cost: what else could you have spent the time on? Finding better opportunities? Your family or friends?

How do you think that this hiring process reflects company values? Do you think, given the value they apparently place on your free time, that (say) they might also expect developers to work on the weekends? How else might this hiring practice inform you about the company itself?

Also, and IANAL, but if they use your work in any significant way (i.e., if this is work that they would normally have to pay someone to do) then this hiring practice might be illegal.

  • 1
    I suspect possible approaches probable-to-certain. It's too easy for them to say "if you aren't willing to invest some time, you don't want the job enough."
    – keshlam
    Aug 6 '16 at 1:02
  • I agree. Then the question is: do you care if it hurts your chances? Aug 6 '16 at 2:15
  • Good question, with many different answers. Pick your poison.
    – keshlam
    Aug 6 '16 at 2:31

Great answers already, but I'll add an edge case I've seen more than once. Over here unscrupulous employers are not above getting free work out of people this way, with no intention of giving them full time work. They just want a small project done.

So more than once I've seen people do a couple of weeks work thinking they were getting a job, get thrown $50 (about equivalent to $20 USD) and shown the door. In some places there is nothing the person can do about it. Some of the employers are notorious for it in some circles and think it's a laugh a minute.


It is actually reasonable to have the interviewer back down on these types of requests, because sometimes companies are actually looking for work to be done for free!

"The game is to be sold, not told."

This has happened to me. I've gone to interviews, solved a production problem IN the interview, and never heard from the "employer" again. Use your good judgment.

You must log in to answer this question.

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