29

I'm applying for a company that wants me to complete a several hour coding challenge. The assignment is basically "we've got 15 templates on our site, create a 16th one". Now I've heard of companies hiring applicants for a day to evaluate them, but that's not what this is: this is (ostensibly) just another unpaid code challenge to prove I'm a decent programmer.

Somehow getting applicants to do unpaid "real" work as a coding challenge rubs me the wrong way, and makes me think "if this is how they treat applicants' time, how will they treat my time as an employee?". Should I feel this way, or am I worrying about nothing, and perhaps instead should respect how clever the company was for figuring out how to kill two birds with one stone?

  • 12
    I would not worry, unless they had other 15 applicants before you do the same – DarkCygnus Sep 1 '17 at 19:11
  • 8
    If you don't want to do it, don't do it. That will obviously more than likely cost you the opportunity though (if there even was any opportunity to begin with). – Bernhard Barker Sep 1 '17 at 19:14
  • 5
    people complain that tech interviews test candidates on stuff they will never use in their day-to-day job (sort/search algorithms, linked lists) -- at least here they are testing you on something practical. – mcknz Sep 1 '17 at 19:44
  • 4
    Thank you everyone for your feedback, it's been very helpful! I don't know for sure if they will actually use my code in their site (they don't say that in the challenge description). But they want me to sign up as a developer for their site, use their API, and create a new "template" just like one of the fifteen they already have, so it feels like they're going to use my work whether I get the job or not. – machineghost Sep 1 '17 at 19:56
  • 3
    This request is not clever, it is wrong and likely illegal (illegal depending on your location and jurisdiction). Don't do it. An employer like that is not worth it. And please do the rest of us a favor and write a review of that employer on glassdoor (or whatever site you use to review employers in your area). – Stephan Branczyk Sep 1 '17 at 19:56
41

In all of my years of programming, I've never had a request to write something that could be actually used by their business. I've had mock debugging tasks, I've been asked to write a form that will do certain things and other things like that.

My guiding rule is to follow my gut. You've had a sanity check here and there are several saying that this is unheard of, so what you're feeling is in line with what many others would also feel. If you feel like you're being used to make something real and that makes you uncomfortable, just withdraw as a candidate. Give whatever reason you want or something as vague as "it just doesn't feel right for me and I've learned to follow my instincts".

The bottom line is this. Don't go against your own instincts. It may turn out well, but more often than not, doing so will be something that you regret later. Trust yourself.

| improve this answer | |
13

I'd say, How much do you want this job? And, How much work are they asking you to do?

A few years back I saw an ad for a programming job where they said they wanted a job applicant to produce a complete system with a database and I think it was 6 data entry screens and a dozen or so reports, "including complete documentation" they said. It sounded to me suspiciously like they just wanted this system built, and they figured they'd get someone to build it for them for free under the guise of a job application, then say sorry, the position has been filled. But even if they really saw this as simply a skills test, it looked to me like doing a quality job would take several weeks of full-time effort. Just writing "complete documentation" for 15 to 20 screens would would surely take a several days.

And so I asked myself: Say I could do it in just 40 hours. Which is the more productive use of my time? I could spend 40 hours on a cold application for this one job. Or in 40 hours I could find dozens of other job opportunities and submit resumes to them.

So I ask you, how much time do you think it would take to do this project? And is this job opportunity worth that much time? Factoring in, of course, the chance that you will get the job if you complete the test successfully. You said "several hours". If they're asking you to do a task that will take, say, 2 hours, and this will put you on the short list or you are already on the short list so there's a measurable chance that you'll get the job if you do this task well, I'd be inclined to do it. If someone asked me to spend 2 hours in a job interview I'd have no problem with that; this is in the same league. If they're asking you to put in 40 hours and at that point you're one out of 200 applicants, I wouldn't take the time unless there were just no other opportunities out there.

I'd be suspicious of someone who asks me to write code that they will then use in production. First off, what do they think is going to happen if there is a problem with this code, or it needs enhancements? Do they think I'm going to come back and do more work for free? I'd worry that these people have no concept how programming works. And second, I'd worry that they're not really planning to hire anyone, the "job opening" is just a scam to get someone to do the work for free. And any real life programming task typically requires significant time reviewing and clarifying requirements. If they think they're going to give a paragraph of requirements and I'm going to bang out production code in 2 hours, again, I don't think they know how programming works.

I've had job interviews where they asked me to write some small piece of code as a skills test. Typically they use some very simple problem that is easy to describe. Like find the first 50 prime numbers, sort a list of words alphabetically, etc. I have no problem with these. It makes good sense to give an applicant a practical skills test. Even if their code is incomplete or has bugs, you can get a good idea of their skill level.

But write code that we will use in production? I wouldn't say never, but I'd be cautious.

| improve this answer | |
  • I would jokingly suggest the go to rent-a-coder it they want something for cheap. – JazzmanJim Sep 1 '17 at 20:19
1

You are completely right. It's likely a trap : There is no company and no real job, they probably sell the stuff, they get the information that you are easy to make do serious work without any promise of getting paid. Maybe they sell that information too...

Just say something like: Unless I get paid to do work for you, then I'm not interested.

| improve this answer | |
1

Besides others saying trust your instincts.

Back in here, it is not unheard of firms with low scruples employing those tactics for graphical work, logos and small web designs.

I would like to add, wait a couple of days and please write in Glassdoor the facts i.e. I have been asked to do a too long interview task, using an anonymous user.

That will leave a trail to warn others, as they probably do it frequently.

| improve this answer | |
0

I've seen this practice as recommended for software project leaders to check how is it to work with this guy. But just an hour task or so, and always paying for it.

| improve this answer | |
-2

I'd like to add a different point of view. Legally, the code you write is copyrighted. You are implicitly allowing them to use it for evaluation purposes, but if you don't explicitly allow them to use it on their website and they still do, you'll get more money out of that than they would have paid for the development.

So don't worry, if it's for a publicly accessible website, they'd be stupid to “steal“ your code. And if they do, jokes on them, sue them for a license.

| improve this answer | |
  • 1
    This doesn't answer the question. – Brandin Sep 2 '17 at 14:37
  • 3
    No person (probably also without a source of income) can realistically claim infringement vs a well funded corporation. That is just wild fantasies. Even if you win your own lawyer cost likely gonna personally bankrupt you. – mathreadler Sep 2 '17 at 17:29
  • @mathreadler that's simply wrong – DonQuiKong Sep 2 '17 at 23:38
  • 1
    Doesn't make it less true though. – mathreadler Sep 2 '17 at 23:45

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