The middle layer is implemented in a language and framework I haven't worked with since 2013 (the language I have used but only because a well known testing tool uses it for scripting so that's what I use it for).
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 / backend work in other languages / frameworks I have used more recently.
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 '4 hour' assignment, from scratch.
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'm thinking call the recruiter and say not that interested in doing it. Other suggestions?
on edit: as always they don't "expect" 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.
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 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.
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.
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.
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.
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?
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!”
It's not cheating. This is not an academic exercise.
Simply, getting the job done through others.