Hacker News new | ask | show | jobs
by loftyai 2323 days ago
I can't speak for every company out there, but for us, we've discovered that resumes and whiteboard challenges are bad predictors of great engineers. So, we simply come up with a small project that's related to what we would have you work on if you were hired and give you around a week to finish it. You can use other people's code snippets online as well as any libraries you see fit. As long as the end result is good enough, we'd move you to the next step, which is to just test if you're a good culture fit. I know quite a few other startups are doing this as well, so maybe the method is becoming popular. I would recommend you research the companies a bit and see if it's even something they'd care about first. We wouldn't even ask you to explain a gap in the first place.
6 comments

A week of work for each job applied to rapidly becomes unsustainable. I personally have never done more than 6-8 hours of coding as part of an application, and only did that once.
After dealing with a few of these things, I've resolved every time I get one of these applications in the future, I'll just decline. If you want me to spend like 1-2 hours doing some small exercise that proves I can program, fine, but I'm not wasting my spare time coding the moon for you with your mind numbing full stack crud app project for some ultimately middling opportunity.
We do basically what OP said, but we ask the candidate to spend more or less 4 hours on the exercise, in one sitting or two. We also give them a fairly large project to do and say "We know you can't remotely complete this in 4 hours. Pick a nice subset that you find compelling and that demonstrates your strengths, and code that. Explain your choices." It's worked well for us - it demonstrates not just coding ability but also planning, communication, and time management.
Yes, offloading the burden and cost of the initial filter on to prospective candidates works well for the employer!
this isn't "burden and cost".... it's providing a large set of requirements and giving clear expectations about what is realistic, and the flexibility of choosing which requirements you satisfy to demonstrate your skills.

unless I'm misunderstanding why you're referring to?

The issue is the value the employer derives from this set up vastly outstrips the value the average application receives (which is severely negative for most candidates). The fact is, most applicants for such a job have practically zero chance at getting hired. Just that they don't know this. So they go above and beyond for the sake of making a good impression, and you get to throw them out after 30 seconds of scanning their submission or looking at their resume. You get the candidate to put in hours of work which you will use to cut them with as little effort on your end as possible. It's exploitative.

To be clear, this is just a general critique of up front multi-hour tests. There are ways to make these things not so lopsided. For example, make clear in the job announcement the minimum requirements so that people will filter themselves prior to putting in the effort to create some impressive application. Ideally you would have such a test later in the process so there is some investment on both sides. First pass filtering can be done with fizzbuzz-esque 5 minute exercises.

> Pick a nice subset that you find compelling and that demonstrates your strengths, and code that.

That would be fairly reasonable. The tests I got, had a heavy project offloaded upfront as effectively part 1 of the interview, with no such communicated expectation.

Do you explain why, to those who don’t make it to the next round? I did one of these, and the response I got was essentially “You didn’t make it”, i.e I had no idea of what was wrong with my code or why I didn’t make it through.
Yeah we do, but it's usually just a sentence or two, something like "we wanted to see a deeper use of language features" or "we're looking for a deeper understanding of framework x". We used to write more, but too many people would try to argue.
Same. Other than the 1 exception I mentioned, I literally tell the recruiter, "I can do a full interview and get an offer the same day in the 4 hours it'll take me to do your exercise, so you probably won't hear back from me because I'll already be employed by next week". And that has always been the case.
Not OP, but I read the one week part to mean that it is a deadline. So the task may only take an evening to complete, but having some agreed upon deadline will prevent having to deal with continually stretching out the interview process longer than necessary.
Out of consideration for people applying for the job you should seriously consider doing the culture fit first. It's not right to have someone do a weeklong project well when you could have got to a no by a 20m phone call.
How much do you pay the candidates for this exercise?

Or do you expect them to put in multiple hours without reimbursement?

How much should companies charge to review your resume when you send it in? Job interviewing is a time sink for everyone. Imo the ideal case is to read over the resume, have a phone call and be pretty sure that as long as they are what they say then they will be hired which the take home test can do.

I have had companies send out a test as the first step and then reject me after completing it because my resume didn't meet their needs even though they had that info to start with.

Here's my take on it.

Given I'm in a situation similar to OP's — took 4 weeks just to catch up with sleep and dismantle anxiety.

I was approached about a job. The process includes a home assessment with a 5 day deadline. Definitely it's doable, it's a filter yadda yadda.

But I'm asking you if the scene is really swarmed with impostors and bullshitters that you have to enforce people working for free for you to handpick? I call home assessments a tool for locating tractable employees. You know, those who wouldn't mind the OT every 2nd week of the months.

Hell, they already proved motivated working for free when they solved that home task you gave then.

You wouldn't ask the cook to work for free just to taste his dish and then decline without paying him. You wouldn't do that to a driver either. To a gardener.

Why the heck does the developer has to jump through those hoops then.

> You wouldn't ask the cook to work for free just to taste his dish and then decline without paying him.

Yes, if you are hiring a cook for a restaurant (which, admittedly, most people don't do, because they don't run restaurants) or wedding or other event (which more people have experience with) you will, quite likely, do exactly that.

> You wouldn't ask the cook to work for free just to taste his dish and then decline without paying him.

I'm under the impression that exactly this happens in the restaurant industry all the time.

Employers are abusive in all industries.

Yikes. Hopefully paid? What if the candidate is currently employed? Where do you expect them to find the time, knowing that they are not likely to be only applying to your company, but to others as well?
If they're sufficiently motivated to want the job, they will jump through the hoops.

If the job's not worth it to the candidate, they won't complete the task.

Easy.

Or they're selecting for people who don't have many options.
Isn’t this the same thing people who like whiteboard interviews say? “We know Leetcode is a hoop and the most motivated will grind 200 leetcode problems”
Thinking like this loses you candidates who are applying to multiple places. It's so hubristic to think that your job couldn't possibly be equally desirable to others.
Good luck finding remotely decent candidates without an extraordinary offer at the end of significant unpaid work.

Remember, it's a two way process; any candidate worth their salt is interviewing the company.

If the candidate is worth it to the company, they won't expect them to jump through absurd hoops, and will treat them with at least a professional minimum of respect.

That just exposes our different view of where the bottlenecks are - you believe there are a limited number of coders who are up to the task - I believe there are less opportunities than 'adequate to the task' coders.

Which is true? Nobody really knows.

That's a fair point regarding balance wrt jobs/devs though the general market would seem to indicate good devs have no problems getting jobs.

But I don't see how it carries over to companies expecting a huge investment from a developer up front (a week's work, unpaid!), without some major positive differentiator from the other companies requiring decent devs.

That isn't going to appeal to any developer with options.

What's the upside, why would they invest that time - just go to the non-presumptive company next door.

The sad truth is that they likely have enough candidates to not need to consider this.
So if you have a years worth of work todo, and 50 people apply, you get the work done for free?
That would be the worst consulting experience for the company and I think you can easily tell a different between a test and outsourced work.

Also that wouldn't likely save time. If the task will take someone 2h, I'd have to spend more than that: describing the task with all the relevant context, providing a mock of the environment it needs to be plugged into, reviewing the result, fixing any issues, changing it to match the internal style, and also waiting for the solution itself which may not even arrive any time soon. It's not like every (or even most) candidates will produce something you'd want to keep.

2 hours sure. A week not-so-much.

OP wasn't clear how big the task was.

Even worse. A week long task without internal context or being able to chat with people who know it would be next to impossible to prepare. I've seen some projects which were thoroughly specced and handed over to a consulting agency. Half were not usable, the other half need heavy fixing. It was never a happy outcome.
There's a certain startup I won't name that has a reputation for outsourcing it's engineering proof-of-concepts this way.

You're certainly not going to get code you could actually put in production by doing that.

Only if they've found a way to consistently defeat Brooks's Law -- and if they have, there are much more efficient ways to exploit it than counting on free labor of uncertain quality.