I applied for an entry level software engineer position, and before even getting an interview with a company, they asked me to complete what I'd consider to be a rather significant coding project. I am given two days to build an application stack using SQL database, node.js, REST APIs, front end UI with react.js. I'm certain it's doable in time frame, but to me it seems like this is overkill. No other interviews I've had included a coding challenge of this size. Is this a common practice before even talking with someone at the company?

  • 1
    You may add some information, in what country are you ? In what kind of company are you doing that interview ? It may be common in specific places. And what is your question aside from a yes/no common practice ? Do you want to know if this indicate that the company is good ? If she's trying to get you working for free ? – Walfrat Nov 9 '17 at 15:54
  • 2
    If you personally find it acceptable, do it. If you don't, don't. Seems pretty simple. Our opinions on the matter shouldn't matter too much to you. You seem to already have enough data to correctly believe that this is out of the ordinary, but that fact alone is not reason enough to refuse to do something. – Dukeling Nov 9 '17 at 15:56
  • 3
    Each to their own, but I'd not bother completing a two-day task. Two hours, yes - but you're getting into the realms of productive work when you're putting two days in. – PeteCon Nov 9 '17 at 16:07
  • 5
    Total BS IMHO. I would walk away, but...my demonstrable experience may differ from yours. – Mister Positive Nov 9 '17 at 16:08
  • 2
    How is this defined as a two day task? Have you been given two days to complete it, or have you/them estimated that it's two days work? – user44108 Nov 9 '17 at 16:17

Whether they call it "a test" or whether it's getting you to do some production work, I think what's being missed is (given the amount of time involved here),

They don't think your time is worth anything.

It's one thing to do a test, but to do something that takes 2 days deserves compensation. Period.

Think about it this way:

If this is how much they value your time now, what makes you think they'll value you later?

We train people as to how we are willing to be treated, with every action we take and every reaction. How is doing a 2 day project for free telling them you're willing to be treated?

  • 4
    Yep, my thinking exactly. – Mister Positive Nov 9 '17 at 16:15
  • 3
    It might also be telling about their expectations regarding speed. A full-stack App in 2 days ... I wouldn't even think about taking that on. – Fildor Nov 9 '17 at 16:22
  • @Fildor that's a good point. – Chris E Nov 9 '17 at 16:24
  • @JoeStrazzere An hour or two is all I'm giving away, especially before an interview. I might consider something very involved if I've already interviewed once or twice, but i'm not going to put the time it takes to develop something "full stack" before I even interview. And that would apply to XYZ Corp or Google. – Chris E Nov 9 '17 at 17:16
  • @JoeStrazzere No, we all give away some time. That's what the interview is. Nobody pays you to go to an interview and that's where my "hour or two" number comes from. Anything more than what would constitute an interview (which is typically a few hours, rarely up to all day ... but rarely) is, in my opinion too much. – Chris E Nov 9 '17 at 17:22

This isn't a two day task - you've been given two days to complete the task - that's a big difference in the size of this exercise....

If it genuinely appears to demonstrate your full-stack abilities and it's a good job opportunity, then I'd go for it.

If it just seems as though you're doing work for them for free, then I'd think twice.

This really depends on who the job is for and the role you're going for.

  • 1
    build an application stack using SQL database, node.js, REST APIs, front end UI with react.js strikes me more than just a "task" – Chris E Nov 9 '17 at 17:20
  • Sounds like someone trying to get free work done under the guise of an "interview". – Old_Lamplighter Nov 9 '17 at 19:09
  • We have no context as to the actual complexity of the task, or the starting point. We only know the technologies and that there’s two days to complete the task. That’s a time limit, not a duration. You’re assuming the worst case scenario here, it may not be that bad. – user44108 Nov 9 '17 at 19:56
  • 1
    @TheSnarkKnight I'm guessing that they are adding a probationary period that they don't have to pay for, even if it's just a day's work. They're trying to unreasonably eliminate all risk, which you can never do. – Chris E Nov 9 '17 at 20:13

They might be trying to get you to do some work for free, without having any intention of calling you in for an interview. Or they may have so many talented applicants that they only want the very best.

I'd be a little bit cautious in this instance because of the minimal contact that you've had with them. I would typically expect this to be a "step 2" kind of thing, after an interview. But ask yourself how the market for developers is in your area (is it a software hub where lots of devs come for work?).

Generally speaking I would consider a coding test for an entry level position overkill. You're new at the whole development thing, and by definition have lots to learn. So what do they expect to see in the code of a novice whom they should have the expectation of having to train?

You will now have to decide whether this is worth your time. This is something that many people don't seem to remember when looking for a job - you don't have to put in all that time and effort! It's entirely your choice whether you want to sacrifice those 2 days for a shot at an interview. After all, no one is paying you for that effort! This could very well be interpreted as a lack of respect for your time.

If you're getting other interviews, you may wish to tell them "thanks but no thanks", and focus on other opportunities. Or you could contact them and request more information about the company and their policies before you engage in this exercise (I'd do this at a minimum). After all, if they're not willing to put some time in for you, why would you put two days in for them?

If, however, this looks like it might be the job of your dreams, do your best on that test.

The more I think about it, the more I think that this sort of request for a junior position is a total scam. Full stack app, and two days of work for an entry level position? Unless this is Google or Amazon, or it pays insanely well, it's not worth it IMO.

  • 2
    I've interviewed with both Google and Amazon and neither of them asked me to do anything remotely like this. I think the OP is either getting fleeced or the company has no idea how to conduct interviews. – TheSoundDefense Nov 9 '17 at 16:39
  • 1
    @thesounddefense - they probably heard that "all the serious software shops" ask for coding exercises and incorporated them into their hiring process with literally no understanding of what their purpose is. And that's only if they're not actively trying to get free work from naive devs. – AndreiROM Nov 9 '17 at 16:45
  • @AndreiROM every last time I've heard of this, it's been a company trying to get free work, including a few big name companies. SCAM – Old_Lamplighter Nov 9 '17 at 17:34

Let's not talk about 2 days, because nobody really will work 48 hours straight on it.

Let's assume you're unemployed, you got time, and you sink 4 hours per day into it. 8 hours of work.

Did they give you any specifications? If not, a smart programmer will be spending that 8 hours hammering out the specs. Not a single line of code will be written after 2 days.

If they push back and say "Well, I wanted to test your coding skills." You then reply "Planning IS a coding skill. A very important one at that!"

Let's also try on the interviewer's perspective.

You just got dumped a bunch of people's code they wrote over 2 days. Let's assume it is a light day. You get 20 applicants.

What the hell? How are you going to review this kind of code? Run it and see if it works? My god, it has a DB! It's a full stack application! It's not compiled! What if it opens a freaking backdoor to your corporate network? WTF? How are you gonna test it?

You don't. You just randomly pick a handful of guys and interview them.

Extremely unrealistic scenario. If this is pre-interview, they'll be getting massive amount of code. It's probably analyzed based on some sort of stats like LOC or something equally useless.

I would go for plan A and hope it is a trick question. If not, then spend some time doing it and, if you get interviewed, ask them how much of your code did they read. Ask them how they secured the testing environment and not have viruses infect their network.

  • Do you mean "Let's assume you're employed"? Because you can easily sink 12+ hours into something in a day when unemployed. 4 hours of free time a day when employed is more reasonable, and that's excluding weekends. No smart programmer would spend 100% of the allocated time just planning what they'd do - that, ironically, shows that you're incapable of planning and prioritising appropriately. I very much doubt they'd just throw the submitted code out the window and randomly pick a candidate. – Dukeling Nov 9 '17 at 18:30

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