If you want to see how/if a candidate handles errors, logging, adding tests, etc. you should explicitly ask the candidate to handle errors, and add appropriate logging and tests.
Otherwise, you're mainly testing whether a candidate can read your mind.
The problem is, the appropriate level of error handling, etc. depends on context and if part of that context is in your head only, your test is sampling a lot of random noise.
Ask for what you want. What's the worst that could happen? The candidate gives you want you asked for? Not a bad sign for a prospective employee.
> ...can you build an endpoint that...
Wait, you're expecting someone to whip up an endpoint that pulls in arbitrary parallel and serial data sources, handles errors, has logging and also has tests IN ABOUT AN HOUR?That's kinda optimistic!
Nothing about that sounds tricky or time-intensive to me in any language I've used very often. An hour sounds perfectly reasonable to me.
I'm curious where you're coming from here. What part of this would you expect to spend so much more than an hour on?
Regarding whether my company would like, or needs another me, you'd have to ask them. I believe they'd say they would like several more of me. And there's nothing wrong with that. I provide a good amount of value.
data fetch, serial: REPNE SCASB
I also can use a webclient of some sort, which is handy for looking up instruction timings.
Am I misunderstanding you, or are you really saying that you expect someone to take a week to write a program that spawns a couple of threads and makes a couple of HTTP requests?
It would then be an exercise with toy data that measures how smoothly the candidate conforms to the expectations of whatever framework they're using to solve hello-world-level problems.
"An hour" is a really short time!
the GP is probably coming from some workplace that doesn't do exactly that same thing all day, every day, and doesn't know a framework for this from the inside out.
How to do a custom HTTP request on any language will probably take some good 15 minutes reading the documentation (if one is perfectly comfortable with its networking documentation), how to parse JSON will take at a minimum some good 30 minutes reading the docs even on Javascript (unless you are ok with eval). Discovering how to serve that endpoint is a multi-hour learning task by itself.
That's more than just "flow" that they're expecting to see.
Years back now this is what we did when we were hiring, and then used it to jump start the conversation in the interview. Tried to keep it to an hour or so of work, but if someones interviewing at multiple places that can add up quickly.
I think your recruiter is probably right, unless you have some sort of outstanding place where people are lining up to work. Personally I refuse to do anything like it for interviews now, and I know a lot of others on the more experienced end that do the same. There's way too many places that'll hire without it to bother, unless it was somewhere like google where its sort of expected.
50 hours is not reasonable or valid.
The take home went well and took an hour or two, but it was a well contained problem and fun to write. I didn't do well on the docs share screen which is largely a separate skill you have to prepare for and I find more stressful.
Early on the 'I'm watching you solve a math puzzle' is brutal especially if you didn't go to MIT/Stanford where you're pretty well prepared for how to succeed in the technical interviews. My school (RPI) was more harmful than helpful - they had no idea how the process worked so you mostly learn through failure. This plus a dash of imposter syndrome makes succeeding in these out of school pretty tough. Once you've validated your skills by succeeding and working somewhere it's easier - I'd guess because you're more confident in your ability.
I wonder how much engineer mobility is limited by the stress of these interviews. If you don't find them stressful you have a pretty easy way to massively increase your income in a couple years. There's a lot of value in just getting good at passing technical screens. I don't have a better solution to this, but it is frustrating. Lambda school's approach to preparing explicitly for it is probably a good one.
Also, an hour is ridiculously optimistic for this.
It's a bit like having a home builder job interview: "Have you had experience framing a house? No? Then I'm a little unsure you'd be fit for this job." It's not wrong for me to say, "no, you've never done this sort of thing before, you consider it too hard to do in an hour? You might not be the best fit"