
Ask HN: I got a coding assignment I don't think is reasonable - bryanrasmussen
I interviewed at a place that wants people to be able to work full-stack but said they were willing to accept that not everyone was able to do so at the beginning.<p>The middle layer is implemented in a language and framework I haven&#x27;t worked with since 2013 (the language I have used but only because a well known testing tool uses it for scripting so that&#x27;s what I use it for).<p>When first approached I specified to the recruiter and to the company my limitations with the language and framework, in the interview I said I believed I could still do maintenance level coding in it (framework is MVC so maintenance is add some stuff to controller etc. ), but it would take me some weeks to a month to be able to contribute meaningfully. I said I was strong in Frontend, and I could of course do middle layer &#x2F; backend work in other languages &#x2F; frameworks I have used more recently.<p>So the take home assignment is to implement a financial payment api (with validation of Iban etc. ) in the language, framework I have not used since 2013. A &#x27;4 hour&#x27; assignment, from scratch.<p>I think this seems a little bit more unreasonable than the normal 4 hour assignment that actually takes 6-8 hours. How do you think I should approach this particular thing - I&#x27;m thinking call the recruiter and say not that interested in doing it. Other suggestions?<p>on edit: as always they don&#x27;t &quot;expect&quot; you to finish the whole thing, but given what I told them I find it weird they would expect me to do much more than make some boilerplate.
======
bjourne
Then don't do it?

If I were you I would propose a counter-offer: "Sorry, I can't allocate time
to a take home assignment, but here are links to an mvc application I've built
in <language>: <github link> I think it demonstrates my expertise and I'd be
happy to discuss the source code and how I implemented it!" If they take you
up on the offer, awesome! If they don't, you'd probably not want to work there
anyway. Especially if it's some bullshit like "We expect all applicants to
complete this test." Fuck that.

I've been burnt many times by take home assignments. I.e I've aced them and
still not gotten an offer. So I don't do them out of principle.

------
wcerfgba
It's hard to say how unreasonable it is without knowing what the API you're
supposed to implement looks like. Regardless of how objectively unreasonable
it is, there is also the issue of how much you want the job, and if that is
outweighed by the unreasonableness of the request. Perhaps you should also
consider this an early red flag that XCorp might not be so great.

I would look at it this way: if you want the job and can spare the time, give
the assignment your best shot; otherwise if you could spend 4 hours looking
for other jobs to apply to that have more reasonable application procedures,
do that instead.

However, whether you decide to do the assignment or not, you should tell the
company that you consider the assignment unreasonable and why. Our sector is
filled with shitty/unreasonable hiring practices, and I think as candidates we
have a responsibility to provide feedback about those practices to provide
pressure on the industry to change them. If XCorp starts hearing from a lot of
their candidates "Sorry, that's unreasonable, I'm not proceeding", then they
will need to revise their hiring process if they want to keep their potential
talent pool open. If you decide to continue with the process and do the
assignment, then the feedback also works to your benefit by signalling that
you are an independent thinker who is willing to give constructive feedback on
internal processes: if the company doesn't like that then, well I really
wouldn't want to work there anyway.

~~~
jjgreen
I have a sneaking suspicion that some firms use this as a filter, to see if
you can be pushed around. If you'll do an unreasonable assignment then you're
more-likely to work unpaid overtime etc. If that's correct then doubly
important to avoid those like a discarded facemask ...

------
jjgreen
I'd say anything over an hour is unreasonable unless paid at consultant rates.
If feasible say not interested.

------
tdeck
When I get take homes I usually timebox them to the recommended duration and
then send in what I have, along with a note explaining that. So I might say
"This may not be the most elaborate solution you've seen but I did it in
strictly under X minutes".

4 hours as the declared time seems to be pushing it though - once you get
beyond 2 I have seen the complexity explode, and a 4 hour assignment as you
noted can easily balloon. One option might be to show off your project
management skills and push back on the scope to negotiate something that fits
your schedule.

------
ericgong
Really depends how bad you want the job. I've seen lots of companies with
multiple layers of filtering including rigorous take homes.

------
LandR
I would never spend 4 hours on a take home assignment for a job!

~~~
bryanrasmussen
I don't know, this is what companies in my experience claim their take home
tasks take - 2-4 hours, but it always turns out to be about 4 hours if you're
lucky and absolutely nothing goes wrong at all (counting git clones, and
pushes, and reading task description etc. etc.)

~~~
decafninja
Most of the take-homes I've done were all-day (8+) tasks if you wanted to do
it right (dealing with all edge cases, full unit tests, good UI if need be,
etc. etc etc.) The company says not all of this is necessary, but you know the
competition is going to go above and beyond, so you're screwed if you don't.

Also, take home assignments are usually _in addition_ to the
whiteboard/leetcode round, not instead of.

I've come to the conclusion that I'm just going to refuse any company that
gives out take home assignments unless it's a FAANG-level (or similarly
prestigious) company.

------
seattle_spring
DocuSign tried to pull that shit on me a few years back. I politely declined
and proceeded to get several offers at companies that didn't force ridiculous
tests.

------
codegeek
There are 3 types of candidates:

1\. Need a job bad and would do almost any assignment to get that job.

2\. Want a job bad (not need it necessarily) because it is at their favorite
company, unicorn etc etc.

3\. Just looking around for an opportunity and unless it checks a lot of
boxes, won't change.

If you are #2 or #3, then you have choices. Otherwise, I would say go back to
them and offer "I can do this in language x since I am more comfortable" and
then see their response.

------
codingdave
Some companies deliberately give you too little time, to see how you handle
it. Do you push back? Do you do as much as you can? Do you cut corners, and if
so which corners, and why?

This is likely only partially an assignment to prove you can code, but the
real question is what do you do when under a time crunch?

------
maps7
It sounds like you're free to make your own assumptions and constraints. I
would create an API with a payment endpoint, validation endpoint etc. Then I
would have a basic web page calling those endpoints. I would not implement
security, auditing, logging etc

------
rboyd
Send a reply saying that you’ve completed the challenge.

Say you’ve hidden the repo somewhere in the interwebs and in order to find it
the recruiter will need to solve three riddles, each one more difficult than
the last.

Then include just one final line of random characters and an encouraging “good
luck!”

~~~
sloaken
I must say, I love the way you think!

------
asimjalis
What language is this that you haven’t used since 2013? Without this piece of
information the whole thing feels abstract. Is it Ruby?

~~~
bryanrasmussen
Yes, it's Ruby, and api should be written in Ruby on Rails. I didn't want to
specify but I figured could be guessed :)

------
d--b
Just forward everything to Stripe

------
JSeymourATL
Sub the assignment out on Upwork.

It's not cheating. This is not an academic exercise.

Simply, getting the job done through others.

~~~
codegeek
Don't do this. Instead, reject the assignment and move on. Getting it done on
upwork is unfair to both employer and employee in my opinion.

