Tell HN: Interview take home assessments without feedback are frustrating

338 points by shakes_mcjunkie ↗ HN
I'm in the process of interviewing for senior and staff front end positions. I've done several multi-hour take home projects now and a couple were rejected with generic rejection messages. It's pretty insulting to be frank. Spending 2-4 hours on likely valueless work is a substantial amount of time relative to the week day. If I've spent the time making the project and they've spent the time recruiting me and reviewing the project, the recruiter and reviewer could spend 5 minutes sending constructive feedback.

Anyone else share in this frustrating experience? Have you successfully asked for feedback before?

503 comments

[ 2.9 ms ] story [ 277 ms ] thread
Totally agreed. After an initial 30 min interview, I then spent something like 12 hours working on an atypical (for me) take home project. Actually really loved the challenge and learned a lot along the way and was excited to discuss it and learn more.

Got a "Thanks, you're not moving on" message and that was it. Man, the rejection is totally fine, but I really do wish they could've spent a few min just explaining some details. I've gotten more thoughtful rejections from just cover letters and resumes, not to mention public PRs in strangers' repos.

After spending so much time, it just feels like a betrayal of some unspoken developer ethos (vs say talking to a generic HR screener). If you're going to make someone code for you for hours and then dismiss their work, please at least tell them why in just a few sentences. You don't need to comment line by line in a code review, just general thoughts like "better code org" or "poor architecture and readability" or "better tests would've caught this major bug" or whatever.

In my case this was a small company I was super excited to work for, and waited more than a year to finally have a chance to apply for (once my current job ended). It was definitely disheartening and makes it hard to want to try again with them in the future.

But, you know, the other side of the coin is that maybe they're just getting swamped with so many applications they can't take the time to thoughtfully answer each one. I imagine I'm competing against a horde of more qualified ex FAANGers right now and maybe they're too busy trying to decide between the top 3 or 4 vs the long tail of hundreds of us who failed the take home. Who knows...

> the other side of the coin is that maybe they're just getting swamped with so many applications they can't take the time to thoughtfully answer each one

Maybe. At the point in the process where you're seeing someone's project, you've already spent time probably phone screening them, sending them the project, hopefully reviewing it. It takes relatively little time to write a quick sentence or two in review of the assessment. It would be nice even if they didn't look at the project and just said "sorry, we didn't have time to look at your project because we're moving forward with other candidates".

That's fair enough.

Well, it's a good lesson to have gone through though. If I'm ever in a situation where I am asked to evaluate others in a similar fashion, I'll be sure to leave detailed feedback (if they want it), now that I know what it feels like.

> It takes relatively little time to write a quick sentence or two in review of the assessment

Not just that: At every job where I interviewed candidates, HR expects some kind of feedback beyond just "hire"/"no hire". At least some bullet points of highs and lows, red flags, etc.

If nothing else, this helps protect the company from false allegations of illegal discrimination by having documentation for why a particular candidate was rejected. It also helps recruiters to know if they're finding candidates who are "close to what we want" or "not even in the ballpark".

Now, I know that some interviewers can be fairly blunt in their feedback, so you'd not necessarily want to just copy-paste it to the candidate, but the point is: that feedback already exists. The recruiter/HR just needs to (maybe) sand off some of the rough edges.

If they're swamped, and they're asking all the ones they're swamped with to do a project that takes hours, that's abuse.

Why abuse? Well, let's say they have three solid candidates. They ask each to do an assignment. Would I do a 6-hour project for a 33% chance at a job? Maybe, especially if I really wanted that particular job.

Now let's say they have 30 candidates that they ask. Would I do 6 hours of throwaway work for a 3% chance at a job? No - not knowingly. If I'm an average candidate, I'm going to have to do that 30 times to land a job. That's 180 hours, or more than four full-time weeks of throwaway work. That's an abusive process.

Could I spend just as much time interviewing? I could, but there's a difference. If I'm interviewing with you, you're there talking to me. You can't waste my time without wasting your own. Whereas with a take-home assignment, you can waste my time but waste little or no of your own. As a result, interviewers (usually) pay some attention to not doing needless interviews, but pay less attention to not asking for needless take-home assignments.

I see your point, that there's a significant information and time asymmetry there in favor of the employer.

That said, though, I also think the take-homes are a much more enjoyable use of my time than running through interview gauntlets with people who don't even work in the same team or in tech at all (recruiters, HR screeners, upper level bosses, whatever). At least code presents a somewhat objective metric I can be measured against, as opposed to random people's opinions about me after talking for ten minutes. Those sorts of interviews feel more like theater than assessments. I'm good at them, but I don't feel like they're a good way to gauge a candidate's effectiveness, including my own.

With the best take-home I did (not this 12-hour one I was just talking about), we met right afterward to discuss the pros and cons of my assignment, what went well, what could use more care, etc. It was more of a discussion, like "Why did you do X this way" and "Did you consider Y when you chose this?", followed by a segue into how the take-home relates to the actual products they were building, and a high-level discussion about how I'd implement similar patterns in a production app. I did end up getting that job and loving it. The process never felt exploitative, and the team ended up being amazing. I'm still thankful for the person who gave me that take-home to prove myself, vs the hours of pointless recruiter chats before the assignment.

But yes, they shouldn't be 6-hour take-homes... that's too much to ask of an unpaid candidate. A reasonable take-home should take 2-3 hours max for a candidate of median skill, IMO. As an aside, my 12-hour one was my own fault for not having worked on that specific problem enough (web animations in SVG or canvas), but I was happy to be figuring out a new challenge after my last job got too easy and boring.

Yep, been burned by this quite a bit couple of years ago. Since then, I've refused to do any asymmetric interview processes. Surprisingly, a lot of companies are willing to skip that part and go straight to the "on-site" interviews.

If more engineers start to refuse these kinds of "dance, monkey, dance" processes, they'll start phasing them out.

How do you phrase the rejection to maximize the chance of proceeding to the next interview stage?
You don’t try to. You just say are not doing take home in a firm and polite way expecting things to end there and sometimes they think it’s still worth interviewing you.
I explain about the asymmetric risk part and just say it's an option if they pay for the time. Many companies are fine with this as hiring is expensive.
I once rage quitted a process. We had a few interviews, and then difficult take home test à la leet code (I spent 4-5 hours on them).

Then the hiring manager came back, "all looks good! I need you to interview with the team, the CEO, the other team" and what not.

I declined and said that I'm not spending 10 hrs in a process you asked me for (as in I didn't apply, they reached out to me). I got an angry email saying "what do you mean? We have only met with you for two hours?". I pointed out that it takes time to do the tests, then nothing more than crickets from the company. Not even a thanks for your time.

Yeah just don’t do these. Refuse. Usually it’s a bad sign. And I’ve only done one such interview where the time commitment was what they foreshadowed (about an hour), and then gotten the job offer. Every other time it was an email rejection with 0 feedback. Not worth it.
These seem to be the standard for FE roles as far as I can tell. Probably 10/14 interview processes I've been in have said they have taken home assessments as some part of the process.
You could maybe offer a personal project repo or code example instead? Iv’ve walked through passion projects with interviewers before and found them insightful.
I haven't had time in the past couple of years to keep up with side projects.
I agree. I invested a few hours in a take-home once, while I was interviewing for a FT, high-dollar, in-office, position with my current employer. I think the only feedback I received after I submitted it was, "we've got two other candidates and we're moving forward with them and not you."

It turns out that that position was eliminated within 12 months. If I'd been hired then I would be unemployed by now. So I'm amazed and grateful for my current position, with an incredible flexible schedule, 100% WFH, and all the rest. Sometimes things work out for the best when we least expect it.

What's the contract between you and the company exactly? Yes, they have no obligation towards you whatsoever and they simply are pushing the border by probing how servile are you. Make a favour to the community and refuse to do take home assignments.
I see what you're saying but I'm unfortunately in a position that I need to exit my current job ASAP. I don't feel secure enough to ask to skip takehome assignments.
> I don't feel secure enough to ask to skip takehome assignments.

But you feel secure to have your time and self confidence burned? Because you will be ghosted or sent generic rejection email.

Maybe offtopic: are take home projects or whiteboard excersises still needed for senior and staff positions? I had the impression that for anything below senior, yes these things were required, but for anything equal or above senior, the focus was mainly: systems design and communication skills.
I've seen both. In my experience it's been rarer to see a process with no coding involved, but it happens here and there.
When I was interviewing a year ago. They were required at all but one role I interviewed at. And I told them to test me anyways, despite them wanting to waive.

If you are interviewing as a software engineer, you should be able to write FizzBuzz. Yes, it is stressful. Yes, I hate leetcode too. But, a company has every right to check that you at least know the basic skill you say you do.

FizzBuzz, yes. A whole greenfield web app that would take this company several weeks to deliver? No.
(laughing) There are limits.
It's been a requirement for the majority of interview processes I've been in for senior and staff positions.
These sorts of assignments are terrible on many levels and, in my opinion, tells you something important about the company and what it will be like working there.

If I'm presented with one, I take it as an immediate sign that I'd be a poor fit there and move on.

Yeah, this happened to me this week. Honestly, I wouldn't worry about it. It sucks that they don't want to see more but it could be any number of things that they isn't working out for them. This experience you have doing the takehome, it's definitely going to help you out in the future in your next interview. Just think of each interview as another opportunity to learn and grow your interviewing skills :)

But really, I think that interviewers should be gracious about takehomes. And if they're not, that gives you and indication of what kind of place it is to be.

honestly if they dont pay for it or dont provide constructive feedback, upload it to github and link in your resume
Yep. It is now my policy to not do any take home interviews. You should do the same. They don’t respect your time.
Hiring managers should realize that only the most desperate candidates will agree to do take home assessments, or even apply to companies with such a process.
So you would rather do live coding session on a problem that is presented to you on the spot?
Last time I went through the hiring process, I asked my recruiterto prioritize companies that had homeworks instead of companies that expected whiteboard or on the spot coding in an unfamiliar environment with multiple people looking over my shoulder.

Leetcode grinding for a whiteboard is a worthless skill outside of the interview. I'd rather code up something. If the project is over burdensome you can always pass.

The best homework I got was a "working" project that purposefully had bad practices scattered throughout. You could elect to fix the mistakes or just document them for the interview.

Fortunately for employers, there's no shortage of applicants willing to take these insults. This is unfortunate for applicants who respect themselves, their own time.
Took a "2 hour" take home project after several rounds of interviews. Actually took an entire work day. They checked it and discussed it with me. Next step was the recruiter telling me they are afraid I'm not a good cultural fit. Never again.

Oh, and the project smelled like something they actually needed in prod.

It's pretty insulting to be frank.

As are interviews of any kind without feedback. I'm not referring to holistic feedback (let alone an explanation for why they don't move forward). I mean the kind where they grill you with question after question (often poorly phrased and sometimes insultingly basic) and don't provide any indication at all as to whether your answers are good or bad or not.

They just keep going on, poker-faced - saying, in effect: "Don't speak unless spoken to".

> I mean the kind where they grill you with question after question (often poorly phrased and sometimes insultingly basic)

I mean you'd be surprised at the number of people that can't write a for-loop ...

The point is that for whatever level of fizz-buzzing they feel they need to - far too often these companies can't fizz-buzz themselves when it comes to basic interview hygiene. You know, like maybe reading the candidate's resume and cover letter (or talking to the recruiter to whom it was explained "I haven't worked with language X at all, is that OK?") before asking them to code over the phone for language X, for example.

Or even post a job req that accurately reflects the true needs of the position in the first place. Or (getting back to the subject of this thread) when giving take-homes, provide reasonable instructions as to what is expected and by when (and under some reasonable time frame), etc -- see for example this chestnut, posted just now:

https://news.ycombinator.com/item?id=36452104

A two-way street, and a bit of common sense. That's all I'm asking for.

This could be an opportunity for a business to review the take-home assignment.

The idea is, if you submit to company A, they rejected without any feedback, let's other companies know about it, and both of you is in a win-win position.

One company I interviewed with told me to spend no longer than 2 hours on a project. I complied and followed that time boundary, as I wasn’t paid for the interview and I didn’t feel it was fair to me to spend any more time on it than that.

Long story short, the company passed on me, saying that my code was easy to understand and high quality, but I didn’t handle all of the corner cases. I listed most of the corner cases they mentioned in the readme as limitations from the time limit. It was clear that while they said to limit my time on the project, they didn’t really mean it. They wanted an exhaustively finished product in a ridiculous amount of time.

At this point in my career, I’ll just decline interviews that don’t respect my time.

I had a company ask me to put together a performance improvement plan involving proposed changes, instrumentation and engineering changes. They expected me to look at all their existing code, talk with engineering and other employees and put together this plan in 6-7 hours, an already ridiculously large time frame. I told them that allotted time was way too small for what they wanted and withdrew my application. It felt like they wanted me to put together a plan they could implement without paying or hiring me. Worse, I'd be working around their schedules to have these conversations so it wasn't really a take home assignment.

I wish I had saved a copy of the assignment. It was ridiculous.

So was the company the best in their field? I sometimes see small / badly managed companies pull such interview processes and it is ridiculous. You would expect they would hire 100x engineers with these tasks but I wonder what they are exactly looking for.
No. They were just starting out trying to sell their open source product. In fact, I had interviewed with a different company solving the same problem whose tech I thought was way more impressive.
My theory is that they’re looking for compliant, docile employees who won’t have the courage or the liberty to refuse unpaid overtime demands or complain about shitty stressful work conditions.

By having such an abuse and convoluted requirement for applying, you’re selecting for people in this situation. Then all you have to do is hire the best on the technical solution and you’ve got one more employee you can abuse in your company :)

Had the exact same experience. I actually got the role, but the feedback provided asked why I didn't build out something fully featured, despite them stressing to me the importance of doing it within 4 hours.

The worst part was that after working there I found them to be terribly unproductive and it would have likely taken a team there a week to build what they were suggesting...

But yeah as you said, either ignore the time constraints if you really want the role or just politely decline due to the red flag / inconsiderate nature.

It’s self reinforcing. Other people spent more than 4 hours on it and lied, so their expectation of what can be achieved in 4 hours is warped. It’s really just a way of selecting for liars, although that goes for most interview tactics.
well, obviously you failed their test but you were the best option they had.
Paid interview FOR THE WIN.

> ... as I wasn’t paid for the interview and I didn’t feel it was fair to me to spend any more time on it than that.

I have been paid for an interview, a coding interview where I fixed a bug and added a feature while my pair (future colleague!) chilled .. I think he surfed and I'd ask him clarifying questions occasionally? Anyhow, I got paid like $400. Best interview ever.

That's amazing. I got a $30 gift card for one interview. It wasn't much, but TBH in the interview gauntlet I've put myself through it was nice to get even the most basic recognition that my time is money.
Hey, that’s still a win. It sounds like they respected your time and knew that you’re a rare bird.
I'm in FE, and FE interviews can be like this so much. "Here's a takehome for something that in reality would take a week to complete but do it in an hour and don't spend more time on that!"

And I'm like.. an hour is not long enough to implement any reasonable webapp... I have no idea if other people went over or not, and it almost feels like a test of commitment (if I was serious I would take the actual 4 hours it would take and pretend I did it in 1 or something like that).

Yeah even a basic to do list or calculator web app can take several hours if it’s your first time with the specified framework, build tool or CSS library.

Given the diversity of FE it’s quite likely for a take home project to hit one of those criteria.

> ... if it’s your first time with the specified framework, build tool or CSS library.

Depending on the position they may been testing specifically to filter people out who are using a tool for the first time. If I'm hiring a Senior Flutter Developer then it better not be their first time using Flutter.

Unless we're talking about something truly enterprise (Magento at 4 million lines of PHP dependency injected MVVC hell comes to mind) or very obtuse (hiring ocaml devs to work on their compiler) senior means senior engineer, I don't care what you worked on to be honest. Senior perl engineers can flip to ruby in month and be totally proficient. A good Java programmer with 10 years experience will have plenty to bring to the table in C++ .

If you are a senior developer and haven't seen half a dozen frameworks, tool sets, or languages under your belt. What value are you in 2 years when we shift gears

I don't know about Flutter, but my issue with these takehomes in a React world is that React is extremely basic. It is only a view renderer, and leaves up to you all difficult questions of: routing, CSS, components, data fetching, state management, even things like how files are organized and named are up to you. As a React candidate, your takehome probably touches on all of these topics, and you (rightfully) probably want to express some kind of proficiency in most/all of these areas. The more senior you are, the more likely you have opinionated ways of doing these things. But in an hour long span, you are left with two uncomfortable options:

1. Write it all yourself. Express those opinions as clearly and bug free as you can. Try to get it all in as much as you can and give up on finishing all the features in the spec. Definitely give up on the UI looking nice -- despite what anyone says, default HTML is not pretty.

2. Use OSS libraries. Are you actively up to date on OSS libraries handling these things? If you're a working React professional, you probably are not, because you're using whatever system your company uses. Do those OSS libraries properly express what you think is good code? And what does it say about you to use those OSS libraries? Do you look like someone who actually understands React and understands those tradeoffs, or do you look like the kind of person that creates the type of React app that HN is always complaining about, one with a billion dependencies?

Sorry if I sound ranty. It's not directed at you. I've just been dealing with a lot of these this week.

the worst part about it is that when they give a time limit they make it sound like they're doing you a favor.

"we have a takehome, but don't worry! it's just a quick little thing that should just take an hour to throw together. we're not like those other companies that give you a huge task"

Exactly. Then I've been wondering, how many people are actually going over the time? Are the reviewers actually checking any time stamps?
What can they realistically check?

I see two data points they could have: time when the template was downloaded (assuming it’s a unique link only you can access, and you didn’t download it > once/all downloads are logged) or emailed, and the time it was submitted.

All other time stamps can be spoofed.

No, I agree. I just mean like when they say, hey this will take 2 hours, how do they know? Do they even care? Or just everyone cheats and does more than the allotted time?

I did one take home that was timed in coderpad. I thought that was a little more fair.

They have no idea how long they take. They come up with a task first and then slap a time limit on it afterwards so they don’t feel bad about asking too much.
This is explicitly what bootcamp graduates are asked to do. It’s possible, they were just filtering out candidates that can’t work that fast.
Yes, I had a very similar experience.

Honestly 2h from scratch is a rush to do anything? However simple it is, you're asking for an 'entire' greenfield project, of course I have skipped things and missed corner cases.

Especially when bootstrapping takes the most time on projects. 2 hours to code up a game of War, ok. 2 hours to spin up a useful laravel site? Ehhh
I once had a recruiter send me the project template in a .zip for the take home with the instructions to take less than 3 hours (the email wasn't timed to start right away either). No server with countdown, no forking from github, just download this zip and then email back in less than 3 hours. I thought to myself: will they check the download time from the share drive (if they even can)? will they just pass me by default for starting one day after the email delivery? Open up the zip. You need to add 6 endpoints, 2 of those are some fairly complex aggregate queries and I had to take a quick refresher on the legacy ORM they were using. For the frontend, bootstrap a react app from scratch and implement 6 flows (some even required you to go beyond the api tasks). They even encourage going above and beyond and adding unit testing and some integration tests for the UI! So then it was obvious the metagame was cheating and you'd be compared against people cheating. Are people sending edited git history? doing it in groups? what was the catch?

I obviously noped out, but am still wondering if they are aware that all the people working there 100% cheated on their take homes.

I always do exactly one commit with a commit time of exactly when they sent me the take home. If I actually had to fork something I would create the Github account specifically for just that take home and fork it right before pushing. Creation and modification date of files are the same.

Either they don't care or they see it and figure I must be some sort of whiz. I say that because the amount of people that don't know how git works or that file attributes are arbitrarily changeable is amazing.

And no not specifically to "cheat". Just on principle. If they require BS I give them BS. Else it's just fun. Sometimes the people actually hiring/doing the interview are also not the ones that care for this but HR/senior leadership only.

  always do exactly one commit with a commit time of exactly when they sent me the take home

  If they require BS I give them BS
So, that's editing git history to fit a narrative. I'm not judging though! I guess it really depends how bad you want the job after all. But personally I wouldn't even agree to a process like this that ensures cheating is the only way to be competitive. No company that does this is paying nearly enough to make up for the possible reputational damage, and not counting the hazzle.
What do you mean editing? I only commit at the end. I happen to set the date and time explicitly :) For all anyone knows my timezone was still off from traveling when I committed.

And yes, lots of companies have an interview process that state these things. The process makers are not the same people as are interviewing/going to be your team. I know from the other side where I have in the past internally had to advocate for proper take home practices. They really wanted to extend the take home and to say "should take 4-8 hours" (meaning really it's 2 days of work) . I told them that's BS and I wouldn't be with them right now if that was the practice back when I interviewed.

The worst thing that can happen is that they think you are cheating and they never even call you back. Bullet dodged. The best thing that can happen is that they do call you in for an interview and the interviewer tells you that you're so far the best sport and apparently know your git very well and you bond over it.

(comment deleted)
> I always do exactly one commit with a commit time of exactly when they sent me the take home.

Amazing I'm mixed on companies looking at start and end times. I think it would be ridiculous for them to actually check, but at the same time I'm curious how many people are going way over the time limit. I wonder if I should go over the time limit or not.

> And no not specifically to "cheat". Just on principle. If they require BS I give them BS. Else it's just fun.

Maybe this is controversial to say, but in reality, we're all "cheating" because we have to.

they can definitely enforce a strict time limit by only showing the exercise on a website that starts a countdown and telling you so. I'm okay with that. What I'm not okay with is being ambiguous about this and expecting me to game-theorize the risk-reward ratio of competing with people cheating.
I would rather feel the metagame is that you are being free labor for an actual problem/task they are having in the company.
Was this us (Fly.io)? I'm not sure how many companies give the 2 hour guideline, but we definitely do.

We don't fail take homes because of edge cases though. There are things we expect people to handle in the challenges that are important, but I don't think more/less time really influences those.

Please don’t tell me that the compensation ranges I’m seeing for fly.io are accurate - between $130k - $170K.

Those are standard enterprise CRUD salaries. I’m not trying to be demeaning. Those are the kinds of jobs I had most of my career until 2020. But they are a dime a dozen and I definitely wouldn’t do a take home test for one.

Most of our jobs are ~$120-215k base salary. The equity compensation is typically 3-4x that.
I value “equity” in a private company at $0.
Yeah you should not work here. That's a completely reasonable stance.
From the data that I could find, it's perhaps at best 10% of all tech companies that even go public (and very possibly as few as 1%). It's far more reasonable to assume a company is the 90% or 99% of companies that do not go public rather than anything else.

My experiences are the same that equity in private companies is not significant. Worse yet, in all of my experiences the private equity I could have bought or did buy were all 100% losses.

[1] https://www.quora.com/What-percentage-of-Tech-startups-eithe...

On a different topic, I think your response mrkurt is a violation of the commentary guidelines:

- "Be kind. Don't be snarky. Converse curiously; don't cross-examine. Edit out swipes. Comments should get more thoughtful and substantive, not less, as a topic gets more divisive."

- "Please don't post shallow dismissals, especially of other people's work. A good critical comment teaches us something."

He was responding to me and that’s a very reasonable response. When I was in the market for your standard enterprise CRUD Enterprise dev jobs, I would have taken a cash compensation of $150K - $160K and zeroed out the equity.

What I wouldn’t do is jump through any hoops like a take home test when jobs in that pay range are (were? I don’t know what the current market is like) a dime a dozen and I could just do one phone screen and a soft skills interview for half a day and get a job making that much.

If a company expects me to jump through hoops that take more time, the resulting reward need to be commensurate with that.

But not all jobs are for all people.

Oh, I guess that could sound snarky. I wasn't feeling snarky, though. We are the wrong place for a lot of people to work.
I've been job searching for the past few months. Advertised salary ranges seem to skew lower than 6 months ago.
Don’t get me wrong. I’m not so deep in the tech bubble that I don’t realize that $120K-$170K is the the standard range that most of the 2.7 million developers in the US make. I was one of them for decades until 2020.

But at least from around 2002- 2008 and 2012-2022, if you have experience in a mainstream stack, and you live in a major metropolitan area in the US you could easily get a job that pays in that range without even coding interview, let alone a take home test.

Same happened with me. Funny enough the other candidates solutions were shared on GitHub. Two funny aspects:

1. Other candidates were clearly spending 8-9 hours on the problem. I saw their commit logs. A commit every 1-2 hours for 9 hours. Several candidates public repos were like this. The assignment was like 2 pages of requirements supposed to be done in I believe 1 hour.

2. They told me (thru the recruiting firm; I never spoke with them) that it would have been resourceful to use the other candidates solutions.

"resourceful"... Wow I'm impressed by the level of bullshittery. I wouldn't want to work as an engineer in a place where honesty and following the rules is a detriment
"works well with others ... code"
In the past when I’ve given take homes (I don’t anymore) I genuinely would have wanted you to stop after the time limit. It would definitely mean that you weren’t the right candidate if you can’t do it in the time limit, which is OK! It’s meant to signal that it’s a bad fit. I wouldn’t want you feeling like you have to work after hours in the actual job, either.
> At this point in my career, I’ll just decline interviews that don’t respect my time.

This is my philosophy now. In my younger days when I had no experience I had a lot of my time wasted by recruiters and companies - never again. Now I ask up front and politely what the interview process will be like. If there are any home projects or mentions of whiteboarding I end up passing. No big deal - I know there are probably loads of developers willing to waste their time competing for the position, but not me.

It's worked very well for me and eliminated a lot of stress when I've been looking for other positions. The only negative I can see is the strategy wouldn't work great when in between positions and really needing something, which luckily I've never had to experience. I suppose in that case I would force myself to go through with the hazing process.

I strongly suspect you are reading more into the review process than exists. There probably isn't any feedback worth having.

I bet the hiring company got a bunch of "fine" or "ok" project submissions from candidates and then made somewhat arbitrary choices on who they would move forward with.

I would suspect this is more likely than not (at least in the US) due to the problem of legal liability and shielding the company from lawsuits alleging unfair hiring practices if detailed feedback to the interviewee were given.
People always claim this with no evidence whatsoever.

Please cite the relevant court cases.

The irony of these claims is that the possibility of lawsuits doesn't actually stop companies from doing terrible, lawsuit-worthy things. They do such things all the time.

Occam's razor suggests the explanation is simply that companies don't care about job applicants. And this is demonstrated in many ways.

Yes, age discrimination is illegal.

If your feedback is "You're too old", then you probably shouldn't give that feedback to the applicant. But you also shouldn't discriminate in the first place.

If not giving feedback is an excuse to cover up illegal behavior, that's not a good excuse.

Legal does not have the time to screen 100% of feedback sent out to job seekers, and there’s plenty that a regular employee can say or write in casual conversation that can be used as fodder in a lawsuit. Hence the reason for these blanket policies. This isn’t some conspiracy theory but the reality of how corporations work.
> there’s plenty that a regular employee can say or write in casual conversation that can be used as fodder in a lawsuit

Again, unless you're talking about illegal discrimination, I'd like to see the relevant court cases cited for this "fodder".

If companies are covering up illegal discrimination, it's not a conspiracy theory, it's simply a conspiracy.

Moreover, people are claiming or speculating that there are blanket company policies against job applicant feedback. I have yet to hear anyone confirm this from the inside. Are there also blanket company policies that you must "ghost" job applicants, as many companies do? And what's the "legal" reason for that?

(comment deleted)
Not sure which part you disagree with? If it is about the existence of such policies, go talk to any engineer from Google or Microsoft or Meta or Apple or a hundred other companies down the list. There are written rules and trainings about interview conduct at every one of these companies, and they all cover feedback - what you are or aren’t allowed to say, how much you can share. And at every one of these companies the interviewer doesn’t even have direct contact with the candidate after the interview is done. The results are instead relayed by HR.
> If it is about the existence of such policies, go talk to any engineer from Google or Microsoft or Meta or Apple or a hundred other companies down the list.

1) I don't think Google/Microsoft/Meta/Apple are the ones giving take home assessments.

2) I've talked to many such engineers.

> There are written rules and trainings about interview conduct at every one of these companies, and they all cover feedback - what you are or aren’t allowed to say, how much you can share.

Ok, so what are the rules? You're claiming knowledge here, so please demonstrate it.

> At every one of these companies the interviewer doesn’t even have direct contact with the candidate after the interview is done.

This varies quite a bit. Also, many smaller companies don't even have an HR department. In any case, when you're doing a live interview, you tend to get some real-time feedback, whether explicit or implicit. It's completely untrue to suggest that interviewers get no feedback. The OP was complaining specifically about take home assessments, where you can't give live feedback.

[flagged]
> "after you stepped on his toe, did you apologize?" "Yes, so you acknowledge fault?" or "No? so you didn't even care?"

Sorry, but I don't take imaginary inventions of your own mind as real citations.

[flagged]
> as I said, you've never actually been in any court proceedings

Untrue, and I'm done talking to you.

I think the real issue is the misapplication of take-homes.

If after 3-4 rounds of systems interviewing, the company came back and said: "Hey we like you, and we're interested in making an offer, but we want to check your skills..." Yeah, I'd do the assessment. Especially if I did 1 round of 45m coding. Without that, the company can't verify that I have "FizzBuzz" level skills, and that I didn't cheat on the assessment.

When it is upfront, it is rarely worth it on either side. Companies lose a large fraction of the engineers applying into their funnel, and honestly as an engineer, it is rarely worth my time. I can spend that time interviewing at other companies that respect my time.

As with many things in life: It is when, and how things are done. Not what things are done that often matters.

Yeah, this is also my issue. You get a "take-home" after a short 15 minute intro call where some HR person basically just repeat what's on their homepage and job listing and where you repeat what's on your CV (I have a theory that HR people can't read, all observed evidence points in that direction anyway) and then you're given an 8 hour take-home. Sometimes you don't even get the intro call and just an email.

Even just a "hey, we're genuinely interested and you made it to the shortlist" or something to that effect would just make a world of difference. Now I have no idea if I'm on any sort of shortlist or if they're just shotgunning this to everyone. I tried asking a few times, but I always got such vagueries in return that I might as well not have asked, so I stopped bothering.

Would also help if people made the tests at least a little bit interesting. Now it's either "do this boring CRUD thing you've done 1000 times already" or "solve several NP-hard problems that have been subject of Turing awards within an hour".

The last time I spent quite a bit of time on one of these things because it was interesting, and even put the result on GitHub (with no mention that it was for a take-home test, it "just" looks like any other project, also slightly modified to fit my needs). Then again, what's "interesting" for one person is "boring" for another.

I've handed fully containerized code, with 100% code coverage. (Separate entry point from default to run the tests.) Then been told no.

I suspect the people weren't used to having someone hand in a basically 100% guaranteed to work program ;).

(I do know 100% code coverage doesn't mean working. But the docker container helps a good bit in making sure the code will run in the environment I wrote it for.)

Every time I've reviewed these sort of code tests I've never even run the code. I just looked if the approach looked alright, and to be honest I don't even care if it gives a slightly wrong answer because everyone can make an error; this is why we got code reviews and such. It's like physics and math classes at school; at least at my school an error in arithmetic was only a small minus if your general approach was okay (one reason I'm not in favour of computerized testing/ratings, because they can only look at the answer).

I don't know what your specific code test was about so I can't really judge, but generally I've considered overcomplicated solutions to be a minus. "I asked you to write a simple CLI and I get some container environment" is not something I would consider positive anyway.

You think simple CLI.

I think: I'm writing this in Python, most Python setups are a giant mess. By putting it in a container, I can guarantee it'll run right on their system. This is LESS complex.

If my employer considers "docker run" when given full instructions complex. I guess I'm not a fit.

Sometimes I help to create take-home assessments and provide a feedback. It is not unusual for a candidate to submit something that is copy pasted from some introductory tutorial and / or completely ignoring most of the requirements. In cases like this I do not have much choice but to respond with a generic polite rejection. Honestly, I don't believe company should be responsible for providing any kind of feedback for your assessments - it's not a bootcamp. You are either competent and therefore suitable for the position or you are not, and it was your choice to apply. Moreover, you are not the only one applying and meticulously creating a report about what you have done good or bad, and where you can improve takes a substantial amount of time.
> In cases like this I do not have much choice but to respond with a generic polite rejection.

Well, you do have a choice. You could tell them that they were rejected for copy/pasting or because the requirements were not met. You don't have to do into more detail than that.

> Moreover, you are not the only one applying and meticulously creating a report about what you have done good or bad, and where you can improve takes a substantial amount of time.

The report can be 1-2 sentences. It doesn't need to be meticulous or a "boot camp".

Do you encourage candidates to re-apply in the future or do they re-apply on their own?

If-so, you're doing yourself a favor by providing feedback so that they might improve by the next time they interview.

If it's so insulting, stop subjecting yourself to it. Let me guess, white boarding is even more insulting, because don't they understand a developer of your experience can't be bothered to prepare for it?

No one owes you anything. If these companies display poor behavior during the interview process, add them to a list, name and shame, whatever you think is appropriate and move on.

Hah, this is something close to my heart.

A friend and I tried to start a company around this, basically resolving three big issues we saw with take-homes:

1) No feedback. If you spend a couple hours on something you should get meaningful feedback.

2) No clear criteria. Is the hiring company going to slam you on correct syntax? If so, you should know that upfront!

3) Time guidelines that had no enforcement and thus led to an arms race where candidates would spend ever-increasing amounts of time and skew the standard of what "good" is.

So we fixed those things:

1) We provided the feedback, not the hiring companies, so legal liability was non-existent for the hiring companies. We double-blinded the process as much as we could (evaluators didn't know who the candidate was and vice-versa).

2) We told candidates upfront what they'd be evaluated on. Not down to the level of "you must implement this problem using a max heap", but we would say something along the lines of "The company is looking for an academic algorithmic solution to this problem" or similar. We would then only allow evaluators to evaluate them on these axes and nothing else.

3) We also strictly enforced time limits by basically telling candidates "hey you'll have 2 hours to submit from the time you hit start and see the prompt, so please make sure you have two hours from when you hit start." -- not ideal, obviously, but the best we could come up with to resolve #3 above.

As you can probably imagine, the market just wasn't really there for this. I think candidates generally enjoyed it in comparison to the vague, unending slog that most take-homes are but:

1) The value prop just wasn't really there for most companies: They mostly use these types of evaluations on more junior candidates, and unfortunately the hiring market for junior candidates is highly skewed towards the employer.

2) More surprisingly, we realized the time their current engineers and managers spent evaluating these takehomes just wasn't really a consideration for them. We tried to frame it in terms of "here's how much it costs you to evaluate these take-homes wrt time spent vs. us", but it was a difficult sell regardless.

We actually had the most success evaluating candidates from more non-traditional backgrounds upfront ourselves and then charging a placement fee if they were hired, but we ultimately didn't really want to continue that.

(comment deleted)
i've done lots of data science take homes, and the vagueness is a huge killer. they'll hand you a dataset and give you an open ended prompt to 'analyze it'.

do they just want to see that yoiu know how to load a csv file and make a barplot? or do they want a showcase of advance statistical modeling to see where your ceiling is?

> More surprisingly, we realized the time their current engineers and managers spent evaluating these takehomes just wasn't really a consideration for them. We tried to frame it in terms of "here's how much it costs you to evaluate these take-homes wrt time spent vs. us", but it was a difficult sell regardless.

employers don’t know, or seem to care, how much it costs them to replace and/or onboard somebody. usually because they have no idea how they’re off/on boarding hires.

not too surprising that they wouldn’t care about the cost of one component of the hiring process.

Did you sign an NDA about the assessment? Share your work with the world and ask for its feedback.
Everyone does a few of these and gets burned by the no replies. These days I'll point to an open source project I wrote. If that is not good enough then they weren't interested in judging my coding style / sample and more interested in something unrelated
For every 9 leetcode interview companies, there is 1 that doesn't do that and would rather pair program or work on an actual ticket together for half a morning.

Adjust your sights on those and it's lovely. More often than not those companies are great to work for across all metrics.

Most of these leetcode interview companies just follow what Google does for that reason alone. And Google does it because they have to cull 20,000 applicants somehow in the first wave. They just _can't_ interview that many people from the jump.

I try my hardest to design practical interviews when hiring. It takes time, but the results are worth it. For example, if you're an Ops style person, you would be SSHing onto a server or troubleshooting a configuration management system.

Platforms like Woven do this automatically, but they miss the mark. A good half (if not more) of the value is observing the candidate working through the problem and responding to collaborative feedback, not in actually solving the technical issue in question.