I am interviewing for a "Full-Stack Developer" position at a start-up. I have cleared on phone interview and one onsite interview where I was asked technical questions. After the onsite interview, the interviewer told me that I would get an assignment which I will have to complete in 2 days.

When the assignment came, it surprised me as what they are asking me to do is almost like to add a full new feature set to their existing tool. I am mentioning the requirements below:

Solution must use the most recent version of Laravel framework, MySQL
and any other open source libraries/frameworks as required.

• Customers should be able to easily create, update and delete new
  documents within a password protected control panel.

• Documents can be either published or private. Private documents exist in the
  database but cannot be viewed publically.

• Customers should be able to customize document title, summary, body copy
  and add image or video assets.

• Users should be able to sign document by filling out a form consisting of
 name, email address and phone number.

• When users sign a document they should be presented with a customizable
 thank you message and receive a customizable thank you email from the customer.

• Customer should be able to view all users who have signed documents
  within a password protected control panel.

OPTIONAL Enhancements

• Reporting/Analytics
• User management
• Custom document fields
• Send users SMS thank you message upon signing documents

Isn't this too extensive to be a part of the interview? I am also curious that who has the rights on the code that I write. What if I do all this in 2 days and submit the code, they don't offer me a job and just end up using all the functionality that I created? Has anyone been in this situation before?

Any help from the seniors would be appreciated!

  • 1
    @kbelder - I doubt that the company asking for this really cares whether you've put a copyright message or not - and it will be a fight to stop them using it after they've got the code. – HorusKol Feb 18 '17 at 0:17
  • 3
    The biggest red flag for me is the 2 days. I mean, it might be possible in that time-frame but only if you're currently unemployed and have no other commitments. You could take steps to not hand over any source code easily. – Joe Feb 18 '17 at 1:04
  • 3
    Run, it is a known scam to not pay contractors. – Rui F Ribeiro Feb 18 '17 at 7:24
  • 5
    I'm not sure if is a scam, because despite the scope, this seems like a very generic system. However, 2 days seems very wrong - both in terms of your expected investment to get past this stage of the interview, and the scope. Even if you are basically just glueing common frameworks together, 2 days seems very ambitious. It feels like scam purely by being a gullibility filter - if you are willing to do that much work for free, then perhaps you'll put up with other exploitative work practices later on – Neil Slater Feb 18 '17 at 8:26
  • 4
    The key to me is add a full new feature set to their existing tool. Sure seems like getting work for free to me. A test for skills work be more specific and stand alone. – paparazzo Feb 18 '17 at 13:58

I'd be very wary of anyone asking for something this extensive as an interview exercise, and would most likely pass over any "opportunity" with these people.

That said - you could code it up, whack it on a free tier on AWS and demonstrate it. You can present the code design and database from your own laptop. Just don't hand over any source code without payment.

| improve this answer | |

Isn't this too extensive to be a part of the interview?

Not necessarily if part of the test here is to see how far you go. Sometimes these types of tests are given to see how much will get done that may be something to discuss in the interview. If you spend 40+ hours of the 2 days working on it so that it is mostly done that may show up in some pieces as a red flag of going too far in getting all the desired pieces done. At the same time, how do you handle that you can't meet all the requirements and document what didn't get done?

I am also curious that who has the rights on the code that I write. What if I do all this in 2 days and submit the code, they don't offer me a job and just end up using all the functionality that I created?

While it is possible for them to use it, consider how basic this system would be that while you may create a base, someone else would have to maintain it, check styles and do a lot of other work potentially to get it into production depending on what else this would be used to complete.

Has anyone been in this situation before?

A few times. Sometimes this is a test to see how far will you get. It is also a test to see what kind of coding standards and other things do you do that may also be discussed in the interview of your code that you submit as chances are this can discussed and various other questions can be answered well there. Not always the best indicator in an interview as this can be taken in a few different ways by some.

To elaborate a bit more on the "how far" portion above. The company may have an unspoken expectation of believing that the applicant will put 5 hours of work into the task and getting only some of it done. Now, how is the remaining pieces documented? How were certain pieces done first? This is part of like asking for someone to write a 1,500 page essay in 2 days that is quite unreasonable but one could get an outline and have a partial completion that could be taken into the next stage of an interview. I have had some cases where I got the job where I was given this information after being hired and it did make sense to me as a "Kobayashi Maru" challenge and other times where my partial solution was discussed in the interview.

Getting it all done is a red flag as it may well suggest there wouldn't be a great fit in the company. The optimum reply is to get some of the work done, include tests and document what would be the next steps along with how long it would take the finish the pieces left. If I told to assemble a car from scratch in 1 hour, chances are if you got it done that I would have questions about how you did that rather than think, "Excellent."

| improve this answer | |
  • I don't fully understand how this can test how far one can get, given that this job isn't a full-time investment. 2 days to work on it may actually only be a few hours if we're doing a release at my full-time job (the one that's actually paying me for my time)... however, if it's a weekend, it could be up to 32 hours. – silencedmessage Feb 19 '17 at 5:45
  • How is getting it done a red flag? What should you do instead, what's the optimum reply? – ChrisW Feb 19 '17 at 6:25
  • @JB King, Your answer proves that you can be technically proficient, yet profoundly clueless when it comes to reality. Do you think you can apply game theory to everything in life and that everyone has benign intentions? – ATL_DEV Mar 12 '19 at 21:37

I think most people have been in this situation before. I have too, with same deadline and but with less work. Of course I told them there's no way I can finish that up in 2 days since I'm not unemployed, in which they decide to make it into 1 week. I manage to finish it, they offer me a job, I manage to find better offer so I turn down the offer. If I can go back in time would I change my answer to: can I do other test?, or to simply turn down the offer because the task is just too big for interview task? I probably will.

This test usually to see how much you want a job, so it is your choice will you do overnight just to score this one interview?

| improve this answer | |

I don't find this is unreasonably at all - I believe they're merely testing your skills and knowledge with the Laravel framework - because it allows you to create these big web applications with almost no effort with the built-in artisan tool.

Keep in mind that Laravel was created with the intention of simplifying common web-development siturations, such as

  • Authentication
  • Creating/Updating/Deleting data
  • Session handling
  • Database connection and querying
  • Forms
  • Requests and Respones

An example is the command php artisan make auth which sets up full front-end and backend authentication.

| improve this answer | |
  • 1
    As someone not familiar with Laravel, are you saying that the task the OP was requested to perform might actually only take a few hours - if they are sufficiently skilled in the required technology? If this is so, then this would indicate the test is actually trying to separate out people who don't know the technology and thus think it's a complicated request (made to sound like a big complicate app, yet may take only a few lines of code to auto-generate). That would certainly be an interesting twist! – BrianH Feb 20 '17 at 21:14
  • @BrianDHall Laravels version of authentication (the one you get by typing make auth) would take me at least 4-5 hours coding manually in plain PHP. Many other commands like this is available, so I think you're right - it is simply a test of Laravel knowledge. – Daniel Feb 21 '17 at 7:27

You must log in to answer this question.

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