I'm so disappointed to read comments on this thread to the effect of "There's nothing in it for the company but risk".
I once put in about 8 hours on a take home project at a company (well known in these parts) that I had tremendous respect for, only to get an email back with "sorry, not up to par. We need someone with more experience".
I asked them for a couple quick points on what I could have done better. I had zero intention of fighting them on it. No response
The whole experience made me feel very ill, especially after putting in as much effort as I did, and obviously I feel quite differently about that company now.
On the other hand, 5 years ago when looking for my first tech job, a virtually unknown startup that rejected me after a take home project and day long onsite gave me very thorough and specific feedback, encouragement, and even a bunch of reading suggestions. Even though I didn't get hired, I have very fond memories of that interview and reached out to them when I did land my first job to thank them again.
Did it have any tangible implications for their bottom line to give me that feedback? Not really. But they treated me with compassion rather than like garbage. I have never named and shamed the first company and never intend to, but I personally think there's more risk involved in habitually treating people like garbage than like human beings.
In Germany every single lawyer or HR responsible would tell you not to send any reason at all, just a generic response.
This has to do with how law is structured here: giving feedback gives an attack surface to candidates that could sue you for the feedback you gave (because they do not agree with it).
So this is it, companies do not do this because they're evil, they do this because nobody wants legal consequences.
While working at Adobe, an executive launched the "Red Box" innovation program (that eventually became https://kickbox.org/). The program itself is interesting, but what was MORE interesting is that he was able to pull it off - the whole thing is a legal minefield of epic proportions (1). Normally, if you go to the legal department and ask "can I do this", nobody in their right mind will answer "yes, but"... you'll get an immediate "no way, get out of here, you're crazy".
The trick is to ask legal "I'm doing this, how can I minimize our legal exposure". Not to ask "can we do this". The second question will invariably get you a "no" (if you thought to ask, there must be _some_ risk). The first question will get a lot of grumbling, but if you're in a high-enough position, will eventually lead to useful advice.
(1) The basic idea is that in the early stages, you need to prove traction/market interest for your idea. As such, it needs to show no signs that it's backed by Adobe - it's trivially easy to get a BizzFeudNews article about "Adobe launches ShitDraw Pro" or whatnot; it's very easy to get thousands of people curious & signing up. All this is much harder when you're a John Doe, and don't lean on the brand recognition, but on the intrinsic value of your idea/product.
However, this all means is that by design in the early stages you will have company employees, paying with company money, to "launch" services & get people to subscribe while hiding the true entity behind those services. No nefarious motivation behind it, but surely you can see the potential legal challenges.
> In Germany every single lawyer or HR responsible would tell you not to send any reason at all
I can't imagine that this makes any sense.
Let's say you give every interviewee feedback:
- 90% of candidates will be grateful
- 10% of candidates will not like the feedback and start to argue (at this point ignoring emails might make sense to avoid wasting time)
- 0.01% of candidates will actually sue you over it
The lawsuit will probably go nowhere, and in the worst case cost €10.000 in legal fees.
But all the good will from the other people must be worth something! Maybe one of all those people who you gave good feedback refers a friend, and they apply to your company. If you hire that person, you just saved 10.000€ that you don't have to pay a recruiter!
So either all these lawyers are giving bad advise, or maybe my numbers are wrong? I've never heard of a lawsuit where a candidate sued a company as a consequence of interview feedback that they got, so I assume that must be a very rare occurrence.
Lawyers at companies have much bigger fish to fry like constantly reviewing sales and customer contracts in the high six figure ballpark not reviewing the risk of the feedback for every rejected candidate. For the latter their answer is always clear cut, "don't give any meaningful feedback to avoid ANY AND ALL risk of litigation, period".
Their job is to keep the company safe from any litigation risk, no matter how small, not to keep rejected candidates happy.
Sorry to burst your bubble, but outside of the SV bubble(see Europe) most companies don't see feedback from rejected employees as a high return ("who cares what some people that were not good enough for us think?") since the're never in the firing range of reddit/twitter mobs like the big FAANGs.
So you think that companies don't care what candidates might tell their peers...
But at the same time they're sponsoring meetups and conferences, hosting coding contests, sending people to career fairs, buying huge ads on job platforms to advertise company culture, just to get people to apply?
I can't talk about all of Europe, but here in Linz a lot of companies struggle to get candidates, and they spend a lot of money and effort to get a good reputation as an employer.
Well, I have no trouble giving feedback these days because life's too short not to, but that isn't even an accurate description of the problem.
A prospective job seeker goes on Glassdoor. 100 companies. 99 with only positive and neutral reviews, maybe some negative saying "rejected without feedback". 1 with a rant about how they're disrespectful dicks who are just assholes. "It wasn't the feedback. They weren't even correct and they just told me I wasn't up to their so-called 'standards'. Completely rude in their email correspondence.".
Go on, you read that, you have 99 other places to apply to. What do you actually do?
Well, if everyone has ranting screeds on their Glassdoor you'll blame the ranters. If only one company has a ranting screed, you'll blame the company. No one writes a ranting screed for not receiving feedback. Therefore no one wants to be that company. Essentially, we're in a stable equilibrium.
I feel you overestimate the amount of fucks managers and HR give about Glasdoor feedback from rejected candidates in Germany. No company I interviewed at gave any meaningful feedback(for legal reasons) or seemed to care about opinions of rejected candidates knowing recruiters are constantly flooding them with resumes from new potential candidates on a daily basis and also most rejected candidates won't bother writing feedback on Glassdoor because once you've been around the block a few times you realize it's the norm and you're basically preaching to the choir.
> No one writes a ranting screed for not receiving feedback.
The hell they don't. The root post of this very thread could easily have been a "ranting screed" on Glassdoor if the poster was of a different mindset.
> But all the good will from the other people must be worth something!
Is it possible that there may be a distinction to be made between all the good will from the other people being worth something and all the good will being worth more than the legal headaches, PR headaches, and other potential consequences of someone reacting badly to feedback?
This is the kind of question that demands a quantitative analysis, but I hardly know where to begin beyond that it's an expected value question. Where do you go about putting a number to the value of something that "must be worth something"?
So you are suggesting that (from their behavior) people are oblivious to the low risk/high reward indicated by those figures?
Or maybe they don't like assuming risks based on other's bogus data when they already have their version of bogus data that is probably closer to reality?
I’m not really sure who “they” refers to (parent, GP, the company, the employee?), but let me take a step back here and illustrate my point more clearly. Maybe it will help. What I’m trying to say is: this isn’t a court of law, it’s a collaborative conversation. Someone posits a hypothesis based on some estimates. Others are invited to build on either of those: the estimates themselves , or the hypothesis built upon it.
This is a healthier way of looking at online discourse than constantly asking people to provide sources and citations. If they didn’t mention them, you can safely assume it’s a guess. It’s implicit. Don’t like the guess, great: help us improve. We’re all in this together. It’s not a battle of “who has the best opinion”.
Maybe that’s what you were trying to do, in which case I’m sorry for misunderstanding. I genuinely didn’t understand your comment, please forgive me :)
The figures discounts the downside too much for them to work.
I was on the receiving end of no-reply and didn't like it. But if I were to switch sides to a company, then after a couple of honest attempts at feedback I will most likely say fuck-off and send a stock letter instead.
> If you make a conclusion on made up data you get bogus conclusion
No. You work with made up numbers to understand the problem. Then you can make conclusions even without knowing the precise numbers.
For example, my analysis doesn't change much wheter the rate of lawsuits is 0.1% or 0.01% or 0.001%. It would change if the rate of lawsuits is 1%.
But I am pretty sure that the rate of lawsuits after interview rejection is much less than 1%. So I can make a conclusion without knowing precise numbers.
Calculations based on estimates come up all the time, and they are very valuable. They make it clear what assumptions your decisions are based on.
What's the alternative? You have to make a decision. If you don't want to use estimates, what are you going to base your decision on? Whatever feels right?
What I'm saying is that even with the lawsuit rate that low, there is no real incentive for the company (really the people sending the emails) to behave otherwise than they already do. Actually their benefit is that low, that even a slight error of that 0.1% guess would make the whole do-good business a really bad proposition.
Your (guess) data is probably right but it discounts too much the downsides. When you present your hypothesis to them (e.g. me) they will tell you (rightly so) to try it yourself first.
The incentive is “be a good person/entity.” This whole bottom-line approach and “what’s in it for me” is unfortunate to say the least. Behind every corporate establishment is a cadre of people. People with (possibly) spouses, children, non-deceased parents, neighbors, and friends. Possibly at some abstract level similar to the abstract “us.” Treat people like people, not some kind of legal liability.
I don't understand this. If I select a candidate of three to offer a job, then as long as I'm not discriminating the others for things such as sexuality, gender, age, ect. then the person we feel is the best fit is just that. What we believe is the best candidate - no amount of arguing in a court is going to change that.
I think the problem is your "ect.", in recent years number of various minority groups that might feel discriminated has grown and keep growing. You never know what will be next discriminated minority that you might offend and that will might sue you next year for some seemingly innocent explanation.
Why anyone would anyone take a risk? To make someone feel better?
Yeah. It’s human decency. Got cut from football tryouts in high school. Got excellent feedback to improve my stamina. Ended up running cross country cuz I loved it :)
Straight out of college I got rejected by failing miserably at a technical interview almost to the point of tears when I realized how little I knew. Maybe my interviewer saw this but I got very practical feedback, and knew exactly what to do with myself that summer to get hired.
Germany is not as egalitarian as the US when it comes to preventing discrimination for job applicants.
Normally, in Germany, in your resume you should have a photo and specify your birthday/age and nationality, especially important when applying at traditional engineering companies. This opens you up for a lot of silent discrimination.
So, if they reject you for being the wrong age, nationality or skin color (yes that happens, a former German manager explicitly told HR he doesn't want Indian candidates on his team) or for speaking German with a strange accent, they definitely don't want this information getting back to you as you can sue them for that so the only feedback you're gonna get is the legally safe copy-paste "unfortunately, we're looking for a candidate that better suits our needs".
I'm not from the US, but Denmark and we basically have the same laws. You don't tell them you don't want them because they're Indian, that shouldn't be a factor anyway, but because they're not the best fit due to skill/social/experience/whatever legally matters.
I work at a German company, we give very specific verbal feedback after every interview (I did it many times). Just because lawyers recommend against it does not mean you cannot do it.
I have never heard of something like this, and we're hiring people in Germany. Which leverage would a candidate have if you give him/her specific feedback regarding lack of knowledge in required areas?
Can you name one case where this actually happened?
The only practical way someone could sue you is through "Allgemeines Gleichbehandlungsgesetz (AGG)" if they can prove that you discriminated them based on their age, gender or ethnicity.
The way a friend of mine in Germany does it is to send a polite rejection by mail with an offer to discuss details over the phone. Leaves less actionable attack surface while still trying to give constructive feedback.
You probably wouldn't like the feedback. Most interviews these days are random because our field is obsessed with finding 10x megarockstar GTD superprogrammers. I can't think of a single field where interviews are such awful experiences.
All interviews could be simple Q&A sessions to make sure the person isn't a charlatan and then sell them on the position.
HR isn't a science, and it never will be. The FAANGs spend god knows how much time and money on it, and they admit that their interviews aren't better than a coin flip.
>The FAANGs spend god knows how much time and money on it, and they admit that their interviews aren't better than a coin flip.
I'm curious what this means. Whiteboard style interviews aren't perfect, but at the very least they demonstrate 1. You can communicate with another engineer on a technical problem (simply writing the code with no explanation isn't sufficient), and 2. You have the determination to study CS topics for a long enough time to be prepared for an interview.
Both of those skills should have at least some correlation with success at your job, certainly better than a coin flip.
I can't find the article because its hidden behind Google's previously admitted coin flip, brain teasers.
An interview only has one question to answer: How long will it take this person to do what I need? Everything after that is you trying to sell the company to the candidate. After you do the interviews, you pick the person who needs the least ramp time.
Quietly staring at a person writing on a whiteboard while taking notes isn't communication. It isn't normal. It tests nothing except the candidate's whiteboard interview technique. You test their communication ability... by communicating with them. Have a conversation.
Testing someone's determination to do useless studying for your ridiculous company is pointless. I am not here to get you to join my cult. I am here to pay you to do things. That's it. Unless your job is to design and review algorithms, I don't care if you can draw depth first search on a whiteboard blindfolded.
There are a million ways to figure out how long it will take to get a person up to speed. I make a list of the skills needed for a position. I write down an approximate time to learn each one. In each interview, I figure out what skills the person has by discussing that skill. That's it.
I simply have to disagree. The amount of unqualified candidates that have a decent CV and are reasonable to talk to, but completely unable to correctly write a while loop is too damn high. That is what my whiteboard questions filter out. They're super easy stuff such as "I give you as input a list of integers, return the index of the first consecutive pair of numbers that when added is 42 - you can use any language or pseudocode". If they write it correctly, but not handle the obvious edge case with the end of the list, no pair existing, you can ask them about this. This is basic code review and discussion of a solution with a fellow developer - both very important.
You'd be shocked how many people that write years of relevant programming experience and fail that. Do we get some false negatives, probably. But it's a reasonable price to pay compared to hiring someone unqualified.
I think a big reason for this, is that you can teach yourself to be a developer, and all the millions of articles and videos on the topic mean you can get something done without understanding the fundamentals. I think this, for some, create a false sense of competency.
It's easier with say, structural engineers - if they have an exam and or relevant work experience, there is a pretty high chance that they're up for the job. And you wouldn't hire a junior engineers without a senior person overseeing and checking their work for grave mistakes.
I would not be shocked. I meant it when I said to weed out the charlatans. I certainly do some basic FizzBuzz. I do it over the phone and in-person because sometimes they get a friend to do the phone interview. There is a giant difference between this and the current whiteboard interview fad.
I don't think false negatives are good. How many positions go unfilled for months and years? A lot. At a larger company, it won't take long before they remove the position entirely. They might not be wrong to do so either. Eventually your bus factor goes to zero, and whole teams go away. I have never seen anything beyond FizzBuzz, experience, and conversations be predictive for actual work. Even these only weed out the most outrageous candidates.
I work in the chemical engineering industry. They sort resumes, ask questions, and call references. They don't ask them to do sophomore level process energy and mass balance with multiple components and vapor-liquid equilibria on a whiteboard. Most aren't Professional Engineers either. Junior engineers used to be a crap shoot. Now there are so many graduates compared to junior positions that most companies will only hire people that interned with them.
> I don't think false negatives are good. How many positions go unfilled for months and years? A lot. At a larger company, it won't take long before they remove the position entirely. They might not be wrong to do so either. Eventually your bus factor goes to zero, and whole teams go away.
I'd rather that happen, than hire unqualified people. Hire and then fire someone is damn expensive - months of salary and a lot of hours wasted. If you don't get them out of the door fast enough, the damage they can do with incompetency is even greater.
I have personally hired false positives. Like you say, they are expensive. I have never once hired someone who was literally incapable of doing the job. It's never because of work directly. A person who was incredibly professional in the interview turned into a massive asshole at the office. One fought good coding practices because he thought it was over-engineering. Another spent all day playing online poker on their phone. One spent their entire time at the office making Forth interpreters.
Doing 7 hours of whiteboarding interviews for every candidate won't flush out any of these. Not a single one. If you can tell me the magic 8 ball I need to shake to fix this, I am wide open to suggestions.
> You'd be shocked how many people that write years of relevant programming experience and fail that.
That's not saying much. I'm in my 40s, been in the industry for a long time, studied CS, etc ... but put the proverbial gun to my head and ask me to perform with judgement like that, I'd probably forget how to spell my own name.
> The amount of unqualified candidates that have a decent CV and are reasonable to talk to, but completely unable to correctly write a while loop is too damn high.
There was some research into this, and IIRC, only half the programmers, both experienced and junior, got a while loop right (IE: no off by ones etc) the first time.
I had to write a while loop in an interview recently, and I also made the off by one error on my first attempt. But after I ran through a couple test cases by hand, it was pretty easy to see the mistake and fix it.
I wouldn't say getting it right on the first try is the most important thing. Writing code, logically thinking it through, and running through test cases to fix mistakes is pretty similar to how coding on the job is, albeit with less contrived problems.
"You'd be shocked how many people that write years of relevant programming experience and fail that."
Do you find people who did well on a preliminary test where they wrote some code fail this? If not, then why do the whiteboard? If people do fail, do you assume it's because they cheated on the previous test?
I think your stated explanation is incoherent, because you are claiming that self-taught developers can "get something done" without being able to write your ultra-simple algorithm. How can that be? You're not saying that someone can't handle B-Trees and you therefore won't hire them, you're saying they can't do anything and yet somehow they were hired and do stuff at other places. If they can "get something done", why are they useless?
If your comments are based on a lot of genuine experience and sincere and heartfelt, had you considered that maybe what's going on is simply that a large percentage of the people in the industry do not and cannot do whiteboard programming, but only write code at a computer? I have literally never had to, to get a job, and I'm not sure I can remember doing it in undergraduate classes either.
Joel Spolsky (and no doubt others) wrote something about how you can't hire the best people by just advertising a job because mostly the same people apply to all the jobs and the really good ones aren't in your pool.
But a corollary to that, I think, is that when you do hire some decent people, and you go on doing it, because it worked adequately, you are likely to wrongly conclude that is what decent people look like. It's not just the rock stars that are missing from your pool, it's the people who are terrible at interviews and are much more loyal to a job than those who can handle whiteboards and small talk. You may be in a bubble where you, and the people you hire, are working much harder than people in another bubble, but it's just a different way of doing things, not the only way.
I think this idea of your hiring pool not being representative and getting wrong ideas of what good and bad people are like has implications for diversity of various types, but I'm not going to flesh that out here.
> Do you find people who did well on a preliminary test where they wrote some code fail this? If not, then why do the whiteboard? If people do fail, do you assume it's because they cheated on the previous test?
My preliminary test is a phone call if there is more candidates I want to interview than I have time for. No coding.
> you're saying they can't do anything and yet somehow they were hired and do stuff at other places.
I have not stated that they've worked other places. I said that they claim to have worked at other places - that is a very important distinction.
> If they can "get something done", why are they useless?
I don't need people that can "get something done", I need people that can work in a team, do code review on both sides, do pair programming when the situation calls for it.
> It's not just the rock stars that are missing from your pool
I do NOT want a rockstar. They're expensive and not that much more productive. I want a great team and you build that carefully with hard working people that complement each other.
> it's the people who are terrible at interviews and are much more loyal to a job than those who can handle whiteboards and small talk.
We've had our share of people unable to perform a whiteboard "problem" as interns and for one-off things. Commonly for those that was unable to function in teamwork, was that they want a task and be left alone. That is not how you produce great software, and it certainly is not how we do it because of the software we write.
> I think this idea of your hiring pool not being representative and getting wrong ideas of what good and bad people are like has implications for diversity of various types, but I'm not going to flesh that out here.
Again, my goals are people that can work in a team. A whiteboard is representative for both communication and a basic level of competency.
"Again, my goals are people that can work in a team."
Ok, but what does that have to do with writing code on a whiteboard? I'm telling you a fact - there is a whole world out there that doesn't do it, before or after a hire, and yes, of course they work in teams. I'm not out for an argument on how people should do things, so don't make it into one.
Because we actively put people in the spotlight when discussing solutions or issues. Sometimes it's a whiteboard, sometimes it's a shared coding session, or something else. We use whiteboards extensively, and there is a good reason people do this in teamwork from educations all the way to the very top of engineering teams.
I have had a team that wanted to just chat on Slack and approach the tasks in a divide'n'conquer fashion. It does not work, and introducing a "lead architect" to structure everything is like pulling the reins of a mule - it will move backwards. Everyone needs to participate and feel shared ownership.
So if people cannot code simple shit on a whiteboard, it's my experience that they are a poor fit for this way of working.
Doing interviews (as an interviewer) greatly reduced my impostor syndrome as a junior software engineer.
When a guy interviewed with 10+ years of "experience" couldn't write a for loop was eye opening.
I work really bad under pressure and don't like memorizing algorithms. I hate programming anything complex on a whiteboard or anyway on-site.
Simple stuff, like your example is fine. It's a good way to weed out charlatans.
A few points what I consider a good test:
* No previous algorithm knowledge required.
* No ticks.
* An average candidate should finish it in 5 minutes. (So we gave them 10 mins)
I dislike pseudocode. I make candidates use an actual language because it smoke checks the ones who put X years of Y language. I don't demand perfection, just that the general shape be there.
Unlike some people, I'd be happy to spend a few hours over a few days writing some code for free in peace and tranquility. If I didn't have a job already, I'd be happy to prove myself for six months as a temp. I have never been in either situation and not excelled.
Why should this be inadequate to demonstrate technical skills?
Which would punish people like me who will work across 3-4 languages daily and therefore often forget or confuse which library call does what in what language.
Same here. Sometimes I forgot how to define a class method. Is it def? Is it func?
I can write Rubyish, Goish, Pythonish or PHPish pseudocode, but the syntax will be only 90% correct. I remember distinguishing features(like Ruby blocks), but features that all language has always a blur.
I'd say some correlation, but not as much as you'd think. It's kind of like choosing your SO based on how well they kiss. The qualities that ultimately matter take a long time to get a measure of. A key one is "not an asshole", and that's generally not observable in an interview.
>>I once put in about 8 hours on a take home project at a company (well known in these parts) that I had tremendous respect for, only to get an email back with "sorry, not up to par. We need someone with more experience".
Looks like this is a common pattern with take home projects. I faced a very similar problem a few weeks back.
Though they called me for the interview. The general approach is to take some ones overnight deadline coding and code review it for a week. Then they dissect your code written in deadline duress like they are some masters of the universe. They also told me my code passed through their automated test suite, and then some programmers in their office reviewed it too.
And then after two rounds of interviews they rejected me because apparently 'cat error.log | grep 'ERROR:' | wc -l' is not how real programmers find error count, but write python programs every single time they face such a problem.
In short these places with take home interviews generally tend to be people who are full of themselves. They are also a kind of workplace full self-congratulatory people who have fallen in love with their own legend.
Haven't had a single good experience with places that give take home tests.
> And then after two rounds of interviews they rejected me because apparently 'cat error.log | grep 'ERROR:' | wc -l' is not how real programmers find error count, but write python programs every single time they face such a problem.
If they're dissecting it at that close a level, it's probably not a company you'd want to work for anyway. At least how I judge take home tests (for a simple backend CRUD app spec), I'm definitely not disqualifying based on surface level details like that. I don't even bother running it on my machine most of the time.
What I'm looking for that it doesn't have obvious SQL injections (I've seen this a depressing number of times), it has some semblance of unit/automated tests, API validation, error handling, database migrations, good naming, and the code isn't all jammed in to one or two files.
There are plenty of things in what you wrote. For example, My assignment was to build a command line app. The spec given said nothing about how bad inputs should be handled. How should they be handled? No Op? Throw exception? Friendly error messages? How?
Note how the evaluation changes from one person to other, you could be someone who expects an exception to be printed, I could be someone who expects an exception to be the wrong way, and would rather prefer a No Op.
As you yourself mentioned, SQL injection validations are important to you. Think of it from a candidate's perspective, you gave them a project with a certain set of features to finish in a deadline, and they need to finish it while holding a full time job. The candidate does the best they can to finish all the features. But you seem to have an invisible/opaque measurement in the form of SQL injection validation. The candidate might think you measure in terms of feature completion(Which would be correct, the project needs to work to be considered finished). The candidate could implement your spec 100% and yet get rejected.
>>it has some semblance of unit/automated tests, API validation, error handling, database migrations, good naming, and the code isn't all jammed in to one or two files.
In 24 hours?
What are you hiring for really? And why that kind of tearing hurry?
Having people to finish this kind of a high intensity ultramarathon coding drill under a crippling deadline. And then expect them to not just finish the assignment but also comply to your invisible quality checklist which no one knows but you.
For a change try taking such tests yourself. Like biggish projects, under super tough time limitations, and while you are at your current day job, with all the quality checklist evaluations attached. And then have it reviewed by other programmers.
You will see everyone has their own evaluation methods, and big feature projects delivered under heroic efforts, with tough deadlines tend to force you into some or the other quality compromise.
I'm obviously not rhinoceraptor, but a lot of what they said seems correct to me (speaking as someone who's interviewed others a lot, but never used at-home code assignments as part of the process).
_Some form_ of error handling and validation should be demonstrated, because that's a standard part of any program.
Equally SQL injection is _always_ important. That's not a 'hidden' judgement criteria. It's a fundamental security issue that should be protected against.
Again, I'm not rhinoceraptor, but the gist of their post seems correct. If I was reviewing some code and it had no error handling, no validation, lots of god classes and methods and was susceptible to the most common form of web-based security flaw, that is probably a sign that the candidate isn't suitable for the position.
Good, constructive feedback should then be provided.
>> Note how the evaluation changes from one person to other, you could be someone who expects an exception to be printed, I could be someone who expects an exception to be the wrong way, and would rather prefer a No Op.
I agree completely. Any good interviewer/code reviewer should be fine with someone using exceptions even if they prefer no ops.
If an interviewer did complain loads about that (without specifying how bad input should be handled), they are a bad interviewer.
>> The candidate could implement your spec 100% and yet get rejected.
But adding "The application should not be simple to hack" probably isn't something a company should need to add to the spec?
>> In 24 hours? What are you hiring for really? And why that kind of tearing hurry?
24 hours? really? Yes I understand your frustration, that's no-where near enough (assuming you mean a company asks for the solution back the day after requesting it).
If it was me, I'd assume that such a company doesn't value work-life balance and pass on them :)
No, not in 24 hours. In about 2 hours. The laundry list of things - api validation, error handling, db migrations, good naming - it's pretty routine. A person writing production apis will have no trouble integrating all of it in a very short period of time. This is after all what we do everyday. If a candidate thinks not having sql injection in the code is an explicit requirement or is going to take a lot of time, then that is not the person for the job.
Here is a pretty simple flask implementation of your laundry list - api validation, db migration, no sql injections, no n+1 queries, good naming, swagger ui...
from flask import Flask, jsonify
from flask_sqlalchemy import SQLAlchemy
from flask_migrate import Migrate
from flask_apispec import use_kwargs, marshal_with, MethodResource, FlaskApiSpec
from marshmallow import Schema, fields, validate, ValidationError
from sqlalchemy.orm import joinedload
# setup
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///dev.db'
db = SQLAlchemy(app)
migrate = Migrate(app, db)
docs = FlaskApiSpec(app)
# Return validation errors as JSON
@app.errorhandler(422)
@app.errorhandler(400)
def handle_error(err):
headers = err.data.get("headers", None)
messages = err.data.get("messages", ["Invalid request."])
if headers:
return jsonify({"errors": messages}), err.code, headers
else:
return jsonify({"errors": messages}), err.code
# models
POST_TITLE_LENGTH_MAX = 80
POST_CONTENT_LENGTH_MAX = 5000
class Post(db.Model):
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String(POST_TITLE_LENGTH_MAX), nullable=False)
content = db.Column(db.String(POST_CONTENT_LENGTH_MAX), nullable=False)
comments = db.relationship('Comment', back_populates='post')
COMMENTER_LENGTH_MAX = POST_TITLE_LENGTH_MAX
COMMENT_LENGTH_MAX = POST_CONTENT_LENGTH_MAX
class Comment(db.Model):
id = db.Column(db.Integer, primary_key=True)
commenter = db.Column(db.String(COMMENTER_LENGTH_MAX), nullable=False)
comment = db.Column(db.String(COMMENT_LENGTH_MAX), nullable=False)
post_id = db.Column(db.ForeignKey('post.id'))
post = db.relationship('Post', uselist=False, back_populates='comments')
# schemas
class CommentSchema(Schema):
id = fields.Int(required=True, dump_only=True)
commenter = fields.Str(
required=True, validate=validate.Length(max=COMMENTER_LENGTH_MAX))
comment = fields.Str(
required=True, validate=validate.Length(max=COMMENT_LENGTH_MAX))
class PostSchema(Schema):
id = fields.Int(required=True, dump_only=True)
title = fields.Str(required=True, validate=validate.Length(
max=POST_TITLE_LENGTH_MAX))
content = fields.Str(required=True, validate=validate.Length(
max=POST_CONTENT_LENGTH_MAX))
comments = fields.Nested(CommentSchema, many=True, dump_only=True)
# dal
def get_post_list():
return Post.query.all()
def get_post(post_id):
return Post.query.options(joinedload(Post.comments)).get(post_id)
def create_post(title, content):
post = Post(title=title, content=content)
db.session.add(post)
db.session.commit()
return post
def add_comment_to_post(post_id, commenter, comment):
comment = Comment(commenter=commenter, comment=comment, post_id=post_id)
db.session.add(comment)
db.session.commit()
return comment
# views
class PostListResource(MethodResource):
@marshal_with(PostSchema(many=True))
def get(self):
return get_post_list()
@marshal_with(PostSchema)
@use_kwargs(PostSchema)
def post(self, title, content):
return create_post(title, content)
class PostResource(MethodResource):
@marshal_with(PostSchema)
def get(self, post_id):
return get_post(post_id)
class PostCommentResource(MethodResource):
@marshal_with(CommentSchema)
@use_kwargs(CommentSchema)
def post(self, post_id, commenter, comment):
return add_comment_to_post(post_id, commenter, comment)
app.add_url_rule('/posts', view_func=PostListResource.as_view('post_list'))
docs.register(PostListResource, endpoint='post_list')
app.add_url_rule('/posts/<int:post_id>',
view_func=PostResource.as_view('post'))
docs.register(PostResource, endpoint='post')
app.add_url_rule('/posts/<int:post_id>/comments',
view_func=PostCommentResource.as_view('post_comment'))
docs.register(PostCommentResource, endpoint='post_comment')
Exactly, if you provide the laundry list its easy to validate your assignment against it.
You submitted code which doesn't have things in my laundry list. Noticeably your db calls aren't surrounded by try/except. You have written no documentation. You didn't ship the code with git repo. No unit or functional test cases. I also expect these days one would use Python's typing library. Most of this helps in code maintainability. The fact that your assignment has none of this means you can't be hired to write production code ....
... See where this is going?
Despite you having written the code, someone with a different laundry list of quality checks can fail you.
> Exactly, if you provide the laundry list its easy to validate your assignment against it.
There is no laundry list. There is an expectation that a senior engineer writes codes like a senior engineer.
> You submitted code which doesn't have things in my laundry list. Noticeably your db calls aren't surrounded by try/except. You have written no documentation. You didn't ship the code with git repo. No unit or functional test cases. I also expect these days one would use Python's typing library. Most of this helps in code maintainability. The fact that your assignment has none of this means you can't be hired to write production code ....
Not sure if you are really this dense or playing dense - the point of the comment was to show that your assumption about api validation and sql injection being explicit requirements or taking too much time is ridiculous. It' simple that it can be written in a comment in about 10 minutes, not the "24 hours" or whatever you claim it is going to take.
The very fact that you think sql injection is an explicit requirement or takes work will be an instant deal breaker for any position with the possible exception of fresh grad positions.
> ... See where this is going?
Yes, I do. You are arguing reductio ad absurdum to hide the fact that the things which you claimed unreasonable are in fact routine, and your time estimates are off by order of 10.
>>There is an expectation that a senior engineer writes codes like a senior engineer.
You have no written list, but an imaginary checklist running in your brain about how a senior engineer writes code. Other engineers have theirs. I ran some of it and guess what, in that list absence of basic documentation, unit test cases, basic exception handling, code with types. Or even input validation for functions, like null checks is a no go.
Yet, if you submitted your feature complete project under a tough deadline to me, I'm not going to sit down and split hairs about absence of a favorite add-on feature of mine. That is what we are discussing here.
The code you posted in the comment above obviously doesn't have things like documentation, or validating function variables. Not even None checks. This obviously happens when some one attempts to write and submit code in minutes. When you write code this quickly, you focus on the exact feature demand at hand. Which in this case was SQL injection.
Other people got their feature set, in which several security add-on features would have been good to have but not in the time given.
>>You are arguing reductio ad absurdum to hide the fact that the things which you claimed unreasonable are in fact routine, and your time estimates are off by order of 10.
Oh obviously anyone who can do produce thousand(s) lines of code 24 hour project in 2.4 hours, is some totally different beast altogether.
There sure could exist such people who can produce >1000 lines of highly tested, security hardened code. I have yet to meet them though.
The closest I've seen is people who could write Lisp macros. But even those people wouldn't recommend writing code at the rate of 1000 lines per hour.
Welp. This is the point I checkout. You do you, but I have to ask. Do you have any production experience[1] and/or hiring experience? Because you have a very fundamental misunderstanding of both, and I find it very hard to believe that someone who has written even trivial applications would think that not having sql injection is an extra requirement or is going to take too much time, or anyone in hiring position is not going to politely terminate the interview after someone claims their assignment has an sql injection but that's because they didn't have much time and it wasn't explicitly asked for, or even consider calling someone for in-person eval when their assignment has an sql injection.
[1] There is a lot wrong with your "improvements". db calls aren't randomly placed in try/catch - that will be absurd. And the None checks aren't there because of something which you can very clearly see in the sample code but you also very clearly don't understand.
I keep repeating that this is not about SQL injection. You could be asked to write a command line app which doesn't even involve a SQL database. And yet there could a lot of such security or even other add-on's on which your code could be evaluated. We are literally discussing code quantity + time Vs Quality here.
>>Do you have any production experience
>>db calls aren't randomly placed in try/catch - that will be absurd.
Calls to databases go wrong all the time. Session objects expire, if you have cert based auths, they expire all the time. Especially if you have a largish microservices stack. Or you have locks on db objects, which you would run into. Or that network got flaky, or that just a certain type of resources like maxing out on db connections. Or that you are just trying to do write something to a database that is not allowed, like a duplicate primary key.
Never assume a database or any IO call for that matter will always go right.
Always check for every possible exception that could likely be thrown and handle it appropriately. Preferably each db interaction function should be atomic, and exception should be bubbled/raised/thrown to the application/feature main loop so that appropriate action like a retry or a roll back can be taken.
>>And the None checks aren't necessary because of something which you can very clearly see in the sample code but you also very clearly don't understand.
Pretty much any large codebase, that passes objects around should always do Null pointer checks. This is because several times resource heavy objects are initialized only on certain conditions, and if such objects are passed around they must be checked.
> I keep repeating that this is not about SQL injection.
Is that why you made that absurd claim about sql injection being an explicit requirement? And that weird figure of 24 hours for handling sql injection, and api validation?
> Never assume a database or any IO call for that matter will always go right.
I said "db calls aren't randomly placed in try/catch - that will be absurd". Because they will be handled at app level to return uniform error messages. Now I am sure you will go on pretending that when you said "db calls aren't in try/catch", what you meant was db calls can throw an exception and app will handle it.
> Pretty much any large codebase, that passes objects around should always do Null pointer checks. This is because several times resource heavy objects are initialized only on certain conditions, and if such objects are passed around they must be checked.
What did I say about None checks not necessary because of something which is visible in the code? What do you think those marshmallow schemas and use_kwargs is for?
Depends on what tech and approach you're using. Some people use migrations to create DB tables, for example. Or seed initial data like, say, what user roles exist.
> because apparently 'cat error.log | grep 'ERROR:' | wc -l' is not how real programmers find error count
I've been on the other end of that, where we were explicit that the goal of the exercise was to solve problem X with technology Y so that we could gauge the applicant's skill with Y. And yet, we'd still get submissions that used Z because it was way better at solving X than Y was. Well, yeah, we know that. That's not what we were trying to assess.
I'm not saying you did that. It just gave me flashbacks to those situations.
If you know that Z is the best way to solve X then why would you ask them to solve X with Y? Why not give them a problem to solve that Y is best suited for?
It sounds like you got multiple solutions that used the best tool Z, but yet you reward people for being fine with using an inferior tool. That's not exactly the pool of applicants I'd want to bias my search towards.
Edit: I just want to add that I don't mean to sound harsh. And maybe it would help to understand what X, Y, and Z are in your case. Details do matter!
Well, in the parent case X might have been "count the unique lines in a file", Y might have been Python because they were interviewing for a Python job, and Z might have been "cat | sort | uniq".
What the interviewer wants to know in this example is whether the author understands Python and file IO and data structures. Sure, you'd use the Unix pipeline in a production setting because it's better tested and faster. But in an interview context, that doesn't tell you whether the candidate is more likely to store item counts in a list or a dict, and that's what you're really trying to dig into.
Seems like you have a XY problem. You want people who know Python's standard library, but you think having them implement grep is the way to go about it.
If someone says write a grep-like thing in Python so we can see how you write something like that in Python and someone else submits anything in Perl that's not an XY problem. It's a basic failure to meet clear requirements.
If some one wrote grep in Perl, and they are considered incapable of writing the same in Python. I have now doubts on the evaluation capabilities of the hiring committee.
Software world is huge. You will have learn, forget, relearn and learn new things all the time. You don't change programmers every time a new requirement on a new technology comes along. Which is why if some can write grep in Perl, they can also with a little yak shaving write grep in Python as well. Then in Golang, Java etc. And if some one wrote grep in Scheme, they can also write it in Clojure, or Common Lisp.
Programming languages of a particular style(C, Lisp based, ML family etc) don't change much in semantic features in their categories.
The point of a take home project is to see if a person can get things done.
If a base requirement is the thing is implemented with X, like wanting a table made of teak wood, and you give me a table that doesn't have any teak in it you've ignored half of my requirements. I don't care if you assessed my needs as being better met by oak and you made a fine table, I need to put a teak table somewhere and you completely failed at that task.
The point of a take home test that says build foo in Python so we can see it in Python is not "to see if a person can get things done," it's to see how a person gets things done in Python.
I mean, we're probably not going to ask someone to solve a brand new problem as part of a take-home project. We're intentionally not trying to be tricky, but to cover well-known territory so there's plenty of prior art and examples to fall back on. As another case, if you were hiring as a frontend dev, we might ask you to write a simple interactive web page using vanilla JavaScript and not jquery or such. It's awesome that you know React! Great, you'll fit right in! But first, can you use the stuff built into the browser without loading an extra library? Or put another way, are you capable of extending web frameworks if the need arises and not just using them?
You're kind of right about it being the XY problem, except it's where the misdirected candidate is trying to solve "how do I do thing X" when the real problem is "write a simple program in Y so we can know if you know Y". We aim to be very explicit about the project's requirements so that none of this is a surprise afterward.
Well I don't know what is being tested here. grep is a fairly old utility, which might have bugs which I don't deny. But these utilities have been debugged to complete stability by now.
Besides grep itself was built on work done by other people before.
GNU grep uses the well-known Boyer-Moore algorithm, which looks
first for the final letter of the target string, and uses a lookup
table to tell it how far ahead it can skip in the input whenever
it finds a non-matching character.
If the idea here is to test if the candidate can come with the Boyer-Moore algorithm in an hour then I doubt something like that is even possible. Things like that are not invented by some one in an hour, the original inventors themselves likely spent a life time studying and working on problems to produce anything novel.
On the other hand memorizing other people's work, which they themselves took years work in discovery, in the current of Google look-up-able knowledge, literally proves nothing. It's the exact opposite of a person capability to produce things.
The whole idea of a take home test is to demonstrate capability. If submitting a working project under a tough deadline doesn't pass that test, then Im not sure what the hiring panels are even trying to do here.
If someone actually told me they'd use 'cat error.log | grep 'ERROR:' | wc -l' to find an error count, they'd have to be gigantic drama queens or asshole for me to not hire them for a position, I'd even look for a different one if it's not quite the right fit for the one they're interviewing for. That is textbook example efficiency.
Dunno, watching people cat something then pipe it to grep drives me up the wall. I'll let piping grep to wc -l instead of just using -c pass this time though.
I prefer cat-then-pipe while using shell interactively. It's easier to add things to the middle of the pipeline. You simply move the cursor the pipe character, and type another command.
I've just finished a job search, and the company I ended up going with (with the best offer, by far) was one of the only ones that didn't want a take-home project.
With several of the companies, I managed to (via either vowing silence to recruiters, or having an inside guy) get feedback on my projects. Nobody volunteered feedback willingly. And honestly, based on what feedback I did get, I see why they didn't want to offer it. It was an unscientific mess.
Generally:
* There was either no rubric or very basic rubric for scoring the assignment
* reviewer gut feel and comments were seemingly more important than the score (if present) anyway
* frequently, reviewers disagreed over whether a cool doodad was indeed cool or over/under engineered.
* frequently, there were "gotchas" where they were either expecting you to notice an "issue" with the prompt, or they gave a vague prompt and wanted you to fish around to discover specific non-obvious things they wanted to see.
Now obviously, it's not like any strategy for interviewing software people is all that great. But at least interviews take nearly an order of magnitude less time than projects, and also have some built-in feedback via facial/verbal cues and such. Instead of just shooting your project tarball into the abyss just to get a boolean back.
I think it speaks to the real point of hazing whiteboard trivia and time-waster takehomes: political gatekeeping.
Engineers in many companies are already given far worse job experience than what is paradoxically required on their resume to get in. Interesting or valuable projects are rare and lots of people fight over them.
Whiteboard hazing tests for fealty or naivety that will let existing engineers remain superior to you a lot of the time. Really smart people who would leapfrog you aren’t going to agree to be infantilized like that.
So it’s a filter on a certain combination of both competence and fealty. The company / department as a whole might have an incentive to hire really good people, but because lower level managers and engineers own the loose rubric of what counts as a good candidate performance, their incentives to hire only a subset of competent people who are also manipulated into being in their control will take precedence.
It’s so bad that we even have things like TripleByte now that are outsourcing options for filtering based on fealty while disingenuously claiming to be objectively filtering on skill assessment.
I don't do unpaid take home projects that are expected to take more than an hour. Even if I "pass", now I work for a company that has already demonstrated a willingness to occupy my time. Ditto if the take-home project does not have clear acceptance criteria: that's how it will be to work there.
I don't know. The problem is that there is almost no way to evaluate software engineers. Have a degree from a decent university? Cool, but how do we know how many actual larger programming assignments that included, and if those were group assignments, how much was your work? Have 10 years of experience? Cool, but how do we know what you actually worked on, and what the quality of your work was?
It's just difficult - and while interviews are decent, whiteboard tasks are usually useless. If you have your own or contributed to open source projects, that's pretty good too for assessing code quality, but not everyone has that.
Ultimately paying for assignments would probably be the best solution, but not everyone can do that either.
I think it's silly to complain about spending a few hours on a take-home assignment without pay. It's legitimate to reject that person as overly entitled.
But the problem is, some places provide a take-home assignment in the beginning, and then override their judgment with the programming test in the interview. Which makes it pointless, which probably leads to candidates rejecting the sort of place that does the take-home.
The lack of feedback makes sense if you think about it; lazy, vaguely expansive requirements that even the interviewer cannot be bothered to figure out.
It is a modern equivalent of an unpaid internship.
I immediately discard such companies (if they don't budge). They have shown, from the get go, they're not respecting their engineers. Why would you work for such a company? You're never going to be treated as an equal there.
I prefer homework over whiteboard or any on-site coding challenges. I'm really bad under pressure.
But I only do homework after the on-site interview, so I know I really want to work there and they have some "skin in the game" too not just shotgunning random candidates that they never actually planning to hire.
I'd rather do homework before the on-site interview - then I can be confident of my skills and their opinion going in. But then if they don't trust that the homework was done without cheating, it was all a waste of time.
Not if it saves the candidate time in commuting to/from interviews and spending time answering pointless boilerplate questions. ("Why did you leave your previous job", "where do you see yourself in five years", etc.)
"Where do you see yourself in five years?"
I usually say some mumbo-jumbo about learning, growth, etc. Then ask the same question back: "Where do you see me in five years?" The look on their faces is usually priceless. The best when they are HR and don't know anything about my job.
Call a spade a spade. Was it Blizzard? They're known in my parts for similar behavior. To the point that I've cautioned local and especially junior folks not to take their take homes too seriously. Even when/if they do pull you in after "passing" a take home, it's not like they take any effort to then talk to you about the literal work you just did for them.
I disagree that it's an automatic red flag. 8 hours? Yeah that's too long. But I would rather do a 2 hour take-home project than a 2 hour whiteboard coding interview.
Edit to add: as far as getting paid, nobody expects to get paid for an onsite interview so I wouldn't expect to get paid for a take home project either. As long as it takes the same amount of time that the coding portion of an onsite interview reasonably would, that is.
Do any of the take-home projects actually only require 2 hours though? Maybe some of them have a recommended time around there, but isn't it basically required to spend longer?
This is one more problem, programmers are really bad at estimating time required for completion. When it comes to these things programmers designing the interview tend under estimate the effort required to finish the projects.
What makes this whole thing complicated is how they go about measuring quality, extensibility, or if they measure feature completion.
Most companies that give you a take home assignment also get you onsite for one or two sessions of code review and feature addition.
If you don't take into account quality or extensibility you fail in the next rounds.
By no means are these 2 hour projects. Most of these projects take at least a few days to do well.
In some cases the person designing the questions just overshoots the measurement. I've heard sometimes they ask you do come up with a feature loaded contacts iOS app in like a weekend.
Programmers are bad at estimating time to completion for their own work, it's true. But to ask them to estimate someone else's time is unfair because that depends heavily on the individual. Some will finish in 2 hours, and that is probably who they'd like to hire.
The difference between a take home project and an on site interview is that a take home costs the hiring company nothing, whereas an on site costs them hours of engineer time. With that being true, they can make a lot more candidates do take home tests then on sites for the same cost, meaning it’s a lot less efficient use of a candidates time.
Sorry, but this isn't true. We take a lot of time going over a candidates test. The point of the take home is so that we can get a feel for the candidates level of coding competence, ability to commit to a deadline, ability to read and follow instructions and it also helps to generate questions for an on-site interview. Not bothering to read the test through properly would be a waste of our own time, as we'd not achieve any of those things.
So please, stop making assumptions about companies and take home tests. Unless you've worked for that company in a hiring capacity you have no idea what their process and motivations are.
What I'm curious about is what this industry thinks makes it unique with respect to practically every other industry with respect to interviewing. Almost every other field actually calls on references and relies on reputation to determine past work performance.
Also, I've conducted a number of interviews in my career and have been responsible for a number of hires and I've never needed to rely on a take home project to access a candidates worthiness of the position. Maybe it's because I was interviewing/hiring for positions which I was intimately familiar of the required tasks and I knew the right questions to ask.
I believe that you put a ton of time into your test, both creating it and reviewing it.
However, as a candidate I have to make assumptions on where to put my time, and if there is a take home test prior to an interview I’m likely to pass- while you are a super diligent company that carefully reviews all the responses to the screener, I’ve definitely seen those that aren’t, including companies kept taking screeners answers despite having no positions actually open.
There is an straight forward answer to this though- don’t send the take home work till after the candidate does the interview loop, or at least has a good conversation with the hiring manager. At that point hiring org has demonstrated a clear interest in the candidate and has put up “earnest money” to prove it. The candidate also knows if the position is something they are interested in. I’ve done enough hiring in the past to be confident that the interviews are more predictive of long term success anyways.
Having been on the hiring side of that, we spent way more time coming up with and testing the take home project than our applicants ever spent on it. Among other things, we'd beta test a proposed "challenge" on each other to see how well it worked out in real life before springing it on candidate.
It would have been a lot cheaper not to have the take home project, but we decided it was worthwhile anyway.
(Disclosure: our project looked a lot like a story you'd be asked to work on in your first week with us. There was none of that "hiring for a Python backend engineer; here's a Scala data engineering project" nonsense.)
You spent that much time over several dev sprints/cycles/months/whatever. Meticulously designing the expected output and quality expectations(yet not sharing any of that in the spec supplied to the candidate). All that automated testing, manual code review checklist was designed after spending that many man hours worth effort to arrive at. You have the benefit of hindsight, and insights from the process that refined over that much time. Plus you have inputs from several candidates you failed your test.
Yet now the candidate has no luxury of that, and has to guess the assumptions required to not just produce all the features, but also the quality metrics the project will be measured against. All in the deadline given by you. And he is at day 1, and that's all the day they have.
This is really like expecting some one to fix a problem in a day, what the other person spent months solving.
Agreed and what your describing actually happens in a lot of work environments. I've seen a trend in the last few years where middle management is attempting to separate "programmers" from "engineers/architects". In these environments the "programmers" don't really have the luxury of sitting with the business or product teams nor the luxury of taking part in the design process.
What ensues is actually comical. During "grooming" sessions the "programmers" are meant to give accurate estimates of how long (I know time is not meant to be the metric but it always is) a story will take to complete. A story which there are many, many person hours of context baked in that the "programmer" is seeing for the first time.
I'd take the whiteboard interview any day of the week. The instant feedback you get and ability to show how I think and attack a problem is, I believe, far more valuable.
Not to me as an interviewer it's not. All I know from that is that you interview well. I come away having no idea what you'd actually produce in a normal working environment. I have no idea about your ability to build anything. All I know is that you can whiteboard well. That's a valuable skill, sure, but it's a long way from the only one, and can be learned pretty quickly with a supportive team.
I rarely need someone that is a master architect. They're going to be in a team of already competent people, and whatever short comings they have, we'll address. But it's my experience that critical thinking and methodical problem solving by breaking the issue at hand down into smaller logical chunks is by far the most difficult to teach. So if you demonstrate that, I'll allocate the resources needed to get you up to speed on other areas.
But it's an indication of the companies value of an employees time, in that it's one sided. If they're paying an existing employee to babysit me, that's a cost to them that demonstrates at least some expended effort.
I'd consider this to be pretty important for a salaried position.
I totally agree. People say that a take home project is terrible, but most people I talk to who aren't recent graduates also dread live coding algorithms that will never be used on the job.
The place I'm at now asked me if I wanted to come in and code as round one of interviews or code up a little something on my own time for a couple engineers to review.
For me, it was a no brainier to code at my comfy desk at home for a few hours. Going into the city would have been an hour each way and about $50 worth of gas and tolls. I would much prefer not to bother with all that unless and until somebody has looked at my work closely enough to decide they are interested.
Yep! If it’s a question about respect as so many people seem to portray it, then the easy solution is to offer candidates a choice. But personally, I will always prefer working at my pace on my time in my style and having people judge the output once I deem it ready. If I really need/want the job I’ll make the time. What is an extra few hours relative to the new position, team, etc., that you're aiming for? For me it feels infinitely worse to not quite get through a difficult algorithmic problem on a whiteboard only to have the solution obviously materialize during later reflection when you have a clear headspace, and to know you were judged solely on that, than to give it a fair shot on your terms and be passed on because your style/work is not what they're interested in. I'd rather be somewhere that values my actual output.
The problem with one or two hour whiteboard interviews is that they're actually one or two hours, while an inexperienced candidate can spend 8 hours on a take home project that's calibrated above their level, as can a scrupulous candidate who puts in more work than is necessary.
And if they complete the challenge it’s a strong indication that they are a good fit for the role where they may otherwise be presumptuously dismissed for not having an expected level of experience. Id rather hire people who put in effort that expect their tenure in an industry to buy them future jobs.
Honestly the non paid take home projects are much better. The three interviews I’ve done them for stand out as the best interview processes I’ve been a part of. They actually check for real software skills.
The time you spend on-site grinding leetcode with some Google engineer is non-paid as well, so let’s not pretend it’s really any different.
Totally agree. I can’t imagine many people enjoy studying for leetcode type interviews, either, unless they are fresh out of a CS program and already practiced with that stuff.
Do people actually accept such interviews? That seems quite disrespectful to me, tbh.
> Oh you've been working in a relevant field for 10 years? Here take this written test first, so we can check how well you can memorize hundreds of random irrelevant algorithms...
I'd walk out, unless it was maybe some simpler algorithm that you can actually figure out yourself by thinking for a few minutes.
> Do people actually accept such interviews? That seems quite disrespectful to me, tbh.
I was under the impression that pretty much any FAANG interviews will have significant data structures and algorithms components and/or whiteboarding over Leetcode-like problems. Maybe I am wrong on this.
Outside of FAANG, I've found it's hit or miss, but the smaller the company the less likely you'll have to deal with bullshit hiring practices, at least that was my experience.
> Oh you've been working in a relevant field for 10 years? Here take this written test first, so we can check how well you can memorize hundreds of random irrelevant algorithms...
Yeah, and it's even worse if you don't have a formal CS degree. People always say that it's important to know data structures or algorithms or Big O-complexity so you "don't do something horribly inefficient in production", but in retrospect, I haven't had many problems with performance in real life. When I did have problems, it was usually fixed by modifying a SQL or ORM query. Once I fixed someone's major performance issues just by recommending installing a different package to generate PDF's.
I seriously doubt anyone needs a computer-science degree and deep low-level data-structures and algorithms knowledge unless they are going to be writing databases or compilers or designing programming languages. Most of the time, some common-sense and a handful of "good practice" coding/software eng. rules will do the job.
Disclaimer: I work on typical web/server applications. I'd probably have a different opinion if I were working on life or death software, e.g. medical device software, airplane control systems software.
I recently got ambushed with one of these types of interviews. I was going for a senior dev role, in the same industry I've been working on for the last 5+ years.
Had done the normal initial phone interview (overview of experience etc), a take home code challenge (only took ~1hr) then I was asked to come in for a final interview that was to be a 15-20min presentation on project I'd worked on (that related to what I would be doing at the new role) then 15-20min of questions on that project and the technical challenges/solutions.
All this sounded great until I got an email the day before informing me the presentation and follow up questions would be ~20 mins total and then there would be a 20 minute whiteboard session on data structures and algorithms.
Absolutely. The one job that offered me a take home project was the best interview I've ever had, and the best working environment I've ever experienced.
I see this a lot but it seems fairly naive to expect. There’s absolutely nothing wrong with refusing to do them, but to get paid? Has anyone in the history of the world been paid for an interview take home project? Curious how it was set up and what the rate was. Did you have to file taxes? Was it 1099?
I’ve done a trial project which was after an initial (much shorter) code test which was non paid. The trial earned me a couple grand and I got a 1099 alongside my w2 at the end of the years since I was hired full time.
How long was the trial ? can you do it while being employed elsewhere? it could be forbidden by contract to be employed in two places, and you could simply don't have the time for a full time, short, project
I got paid as a consultant a lot for short term offsite projects -> then they want to hire you. So the random gigs can sometimes be a take home interview. I liked it because if I didn't enjoy working somewhere I could tell them I was busy with my other projects and we'd end on good terms.
I had one homework assignment where the API keys they provided didn’t work. I spent 2 days playing tag with the hiring manager just to get functional credentials.
I've taken my learnings and rebranded myself as a hands on process and transformation consultant
You'd be amazed how much value a truly agile workflow provides to the client relationship when centered on the principles of knowledge and relationship building and based on mutual investment
What's killing me is how many young minds are devoting years of their lives chasing grades in university only to enter the workforce and fall in line with the false corporate stereotypes when there is a wealth of knowledge and joy to be had with much less stress and way more quality of life
I have so much to write it causes me to choke on my words but I'm telling you people are wasting their lives away and I'm sure not having it
It's cool you've also branched off into something a bit off the beaten path I'd love to compare notes if you'd be up for it
This is how software could be instead it's a joyless endeavour perpetrated by sexless beta humanoids at the behest of busy waiting plate spinners and their poorly invested overlords
We should value our work more than becoming human hamsters in a corporate machine headed nowhere at light speed
I recently interviewed at Google and Facebook. They provided valuable feedback at every stage of the process. It gave me a good impression on the companies culture and the people who work there, and only makes me want to re-apply in the future.
I think not giving candidates any feedback has to do with companies being lazy than fear of being sued.
If you have 50 candidates do a takehome assignment, then you will need an engineer to do code review and write comments on everything. Whereas it's easier to execute the code and have an engineer glance at the code quality. Their time is better spent looking more deeply candidate's who move onto the next round. I'm not saying it's morally right, but it's just more time efficient for companies to do this and that's how the power dynamics unfortunately work.
> I asked them for a couple quick points on what I could have done better.
I feel your pain, but doing this gets them nothing and costs them effort.
It might also be harmful. If the advice is "we needed more experience in X", and your reaction to it was either not apply for jobs asking for X (because you are unlikely to get them), or to get more training in X then that would be wonderful outcome for both you and the company. But as someone who has hired people, the most likely outcome is you are training someone on how to lie better about their expertise in X.
That makes this a win for you, a lose for the company doing the hiring. In my experience that means it ain't going to happen.
I get how the interview experience can be inhumane and all, and I’ve been through my fair share of shitty interview experiences. But feeling disappointed about not getting feedback from your performance?
You’d need to assume interview feedback is constructive and relevant to your professional growth, interviewers are well-trained, interview processes are fair, and candidates receiving feedback are capable and willing to act positively on it. From my experience, having all of these factors be true isn’t all that common, and one of these factors is beyond the company’s control.
> "There's nothing in it for the company but risk".
The issues I have with this point of view is it's very short-sighted. Word travels. If people have a shitty selection experience when they apply to you they'll tell other people about it. That will impact your ability to hire the best talent. It's to companies' benefit to provide a good experience during the selection process, and that includes giving feedback.
Also, as far as the companies bottom line is concerned, having disgruntled rejected applicants can hurt their hiring reputation. Especially considering sites like Glassdoor
I've seen plenty of bad reviews on Glassdoor for companies providing no or vague feedback; usually the negativity of the review is in proportion to the amount of time the candidate invested and the level of feedback given.
I've also seen good reviews on Glassdoor from candidates who weren't hired but were given prompt and appropriate feedback.
I had a guy at Qualcomm Austin tell me to read Advanced Compiler Design and Implementation by Muchnik. I read it and a few months later I was working for Qualcomm San Diego. I've thought about thanking him but I doubt he'd remember me, it was such a small comment.
You know if someone you don't remember from an interaction ages ago emailed you to say "Hey, you probably don't remember this, but you once told me $thing, so I took $action, and now I've achieved $outcome. Thanks you for that, it really helped my career!", it'd make you feel great and would probably be the highlight of your day, right?
As an anecdote. I once received something like this (on Twitter of all places). It was a "you probably don't remember me but..." for someone I'd passed on a decade ago. It really touched me and made me sit down and reflect on my career. The person had gone on to have a successful career being creative. Which honestly, is all we can ever ask.
I remembered the person, but not anything about what I'd said that day. I assume it was just what I normally say. Having that last realization made me feel even better.
The easiest, most rewarding thing you can do daily in your life is appreciate the people around you. We all need that feedback.
A few years ago, through some bizarre corporate scheduling (and turnover) accident I ended up interviewing almost all prospective interns and university hires at $work for a couple of years. I must have talked to a hundred second, third and fourth year students every spring, and at least twenty or thirty other people throughout the year. I definitely don't remember all of them, although I sure wish I did.
Since these were literally people who were still in school, I always gave detailed and constructive ideas for improvement. I always suggested things to read or what projects to look into, even to people who did very well on the interview and ended up being my colleagues. It wasn't some grand gesture -- these were young people who were still in school, so all I had to give were entry-level suggestions (read this chapter in this famous book, try this program, work on your understanding of these concepts) that any experienced professional in my field should be able to give with zero effort.
Lots of these young folks wrote me back after some time (mostly via Linkedin but one of them specifically came at the office to see me when they got hired by a company which had offices in the same building). Every time I see one of these messages I get the happies, even if I have no memory of ever talking to that person.
(Edit: FWIW, I often don't, but I understand the asymmetry here. Lots of us remember the first few interviews of our careers.)
The software industry has fewer and fewer islands of sanity and human decency. If you ended up on one, you should make friends with everyone you can, and if you appreciate something they did for you, you should let them know. The professional climate of our days rewards narcissism, arrogance and pettiness to such a degree that lots of things that would otherwise look tacky are viewed in a very different light. As the great philosopher and musician Sting once put it (maybe he stole it from somewhere though?), at night, a candle's brighter than the sun :-).
Earlier today I was sitting in a presentation by a faculty member who included a slide with an email quote from a former student who did exactly what you said right before the presentation. It absolutely made his day. And I know the former student and have a hunch he reads HackerNews.
This also made my day because I saw the real-world impact of something on HackerNews. And perhaps it will make your day to know your comment has influenced more people than the poster you were replying to.
He doesn’t have to remember your name because your name is besides the point - it’s about him and what he did (for you) and not about you (the beneficiary). What you’re telling him is that something he did/does is good and helpful; one day when he asks himself “should I bother giving (such detailed) feedback?” he’ll have your anecdotal datapoint in mind to help him make his decision!
Thank him! Even if a lot of time has passed. Better late than never totally applies here.
If he didn't remember you before, he'll remember you after. I've given thousands of semi strangers advice in various forms. I remember the two or three who followed up with me and said, "thank you for your advice, I followed it and have since reached my goal," and have kept in touch with them. It makes you feel really good to hear that.
Someone once did do this to me on the off chance I would remember it. I did remember it. And the memory of it is now one of the proudest things I look back on in my professional life.
By not naming and sharing the first company you’re doing the world a disservice. The powerful have convinced the world that being polite is more important than being truthful because politeness furthers the continuation of existing power structures.
One time we gave feedback on request and the candidate contested the feedback, then went out on a social media rampage. So yeah, we stopped after that. It only takes one bad candidate to make it not worth the effort.
Hot take: you could hire someone who did absolutely well in the interview, and they could find a few weeks into the job that they loathe everyone, and go on a social media rampage.
What I’m getting at is, there will always be bad apples, or people who react in a way that damages your organization. But not providing useful feedback to people who ask for it simply because one person went crazy is punishing a lot more people because of that one. Who knows if all of their negative karma ends up being worse in the grand scheme of things?
I personally avoid applying to places that other engineers tell me to avoid because I trust their opinion more than I trust a company selling me the highlight reel in an interview. If a trusted engineer said he got a rejection in an interview, asked for feedback, and none was given, I’d avoid that place too.
which makes it even worse - if you interview 20 people, and 1 in 20 is a media rampager - every time you provide feedback on a hiring cycle you will have a rampage.
This is a tried and true practice in dating, and it translates well to hiring, which is basically the same thing.
Most people, ESPECIALLY people who ask you for feedback, do not want feedback. They want to get in a fight with you.
Edit: I don't remember ghosting anyone personally in either setting, but it's happened to me plenty. Getting upset about it just means you're new to the experience.
> Most people, ESPECIALLY people who ask you for feedback, do not want feedback.
The data I've seen suggests you're totally wrong about this.
I work at a company in the recruiting space. My primary role is interviewing technical candidates, and we provide very detailed feedback to candidates of all levels, regardless of whether or not we move forward with them.
People consistently tell us they love the feedback that we provide - in fact, people say the feedback we provide is one of the best parts of their experience with us.
Does your company actually hire programmers directly? I'm a bit confused by what you mean with working at a company in the recruiting space.
Detailed feedback can mean a lot of different things. Recruiters always think they're giving people detailed feedback. That's nothing compared to an honest code review.
Bearing in mind that code reviews often cause tension even in fully employed people, it's hard to imagine they're always well received by job seekers.
Probably. Our feedback doesn't contain question-by-question breakdowns or numerical scoring. Instead we try to make it actionable, practical and specific. It looks roughly like this:
"Based on our interview we think you would really benefit from studying up on data structures and algorithms. If you want to study this stuff on your own, many people find (link) and (link) useful. But there's also (link) or (link) books available on amazon that we've had people recommend."
Or: "We were impressed by your spoken communication skills, but sometimes you seemed to struggle to remember specific technical terms for some of the concepts and areas we discussed...."
The feedback emails themselves are assembled from a mix of interviewer notes and reused snippets for comments we give frequently. This sort of stuff has been very time consuming for us to prepare. At the volume of candidates we interact with, we think its definitely worth it. But its possible that no feedback is better than bad feedback, and most organizations might not have the time to write good feedback to candidates.
But I can say with confidence that almost everyone really appreciates the feedback we send. While its easy for senior people to find work at the moment, there's lots of junior people out there sending dozens of resumes for every call back. Receiving rejection after rejection from companies (or worse, being ghosted) without even being told what you're doing wrong is a really awful experience.
Constructive feedback is the key. No one is going to feel good about getting back a score card that says "Communication: 6/10, Technical Ability: 5/10..." etc. That just leaves you with more questions and no actionable feedback. "6/10? I'm at least 7/10!" or "I'm mostly 6-7s, why was I not given an offer".
Honestly as someone who is looking for a junior role this could not be further from the truth. I just want to know how to improve so I can stop being unhappy at my current job and get a new one.
This has the implicit right answer: A job interview is the worst moment/place for feedback. There is just too much heart/animosity at stake on both sides.
I've been interviewing candidates for more than 15 years (for PhD /RA positions and then for Engineering) and every time I've given honest feedback, candidates just get into an argument on why they think the feedback does not apply to them...
It is just not worth it. If I want to know how am I at certain skills... I test myself in a less "charged" environment.
This could be true, and people probably believe it, but my experience stepping in towards the end of an interview and guiding candidates towards the solution was nearly always immediate counter arguments. "I was going to do that next!"
They want to explain themselves. There is a difference. What you consider an argument or fight is just a Hail Mary, almost an involuntary recovery attempt, for some.
Accepting feedback without trying to dig your way out of a hole or justify your actions is a sign of maturity.
This. It took me one single experience of being threatened after sharing feedback to never want to do it again. Lesson learned.
Once you've been a hiring manager and reviewer long enough, it becomes obvious that, while the intent behind giving feedback is good, the reality of it is messy, and provides no consistent upside to the company.
A couple of years ago, I was ghosted by a company after being interviewed. A few weeks later, I realized that the guy that interviewed me was just hired as a consultant by the company, and convinced the boss to hire him instead of me for my job.
How did I find all of this out? Over A month later, they called me back.
This was after I had been strung along by the business owner and the guy that interviewed me for over a week where they were going to make a final decision about hiring me..and then nothing. They couldn't be bothered to return my phone call or respond to any emails.
They left a message that I had to schedule an appointment with the guy that interviewed me to basically interview me again.
I, of course, never called them back, but sent both of them a nasty email telling them to fuck off in so many words.
I never thought I would be ghosted like this from a potential employer.
> I never thought I would be ghosted like this from a potential employer.
Get used to it. It sucks but if I got upset like I used to when a company ghosts me (I'm not just talking about after initial phone screens but even after lengthy on-site interviews), I'd be dead from the stress by now. It happens so often these days. Some companies behave decently but it seems that many more companies are following the lead of recruiters and behaving like jerks.
If they blab their mouth on social media and it goes viral they've already done the damage before you could serve court papers. Why even bother with the risk?
Because that’s allowing risk adverse mentalities to prevent companies from innovating in their hiring processes to build a more transparent and improved culture of hiring, and a chance to differentiate themselves from competitors with a reputation of good interviewing practices?
> Then maybe there can be a system that provides a disclaimer where they waive all ability to sue or otherwise get into a fight with you.
This ain't gonna help though, because it's not particularly useful at preventing the damage that these companies are afraid of, so it's not really going to tilt the existing balance.
I just think companies don’t nearly take anonymous social media backlash as seriously as this discussion alleges they do. Anecdotally, companies barely take customer/client complaints on social media seriously, unless it goes viral- but how would that happen in the case of giving feedback to an applicant? Hard for it to be big news unless actual discriminatory practices emerged- in which the current system already fails to protect against.
Perhaps companies are just behaving too conservatively, and there is room for interviewing platforms to improving the hiring process by giving the helpful feedback that applicants crave.
This is the sad truth of it. As a candidate I greatly appreciate feedback but I know there are others who will try to paint their not getting hired as due to bias (classism, racism, sexism, etc) without any evidence. I don't blame those who have been burned and ended the practice. An accusation might as well be a conviction in some situations.
So that we can all work together to improve the hiring process. Seriously. I could get hit by car because I stopped to pick up some trash on the side of the road. But it's still a decent thing to do.
What right does someone have to sue before they’ve been hired, anyways, unless it’s on a discrimination basis (in which this case, it is clearly not)?
Here in Texas, at least, that sort of thing does not seem like something that would ever be a real legal risk. This is a right-to-work state; I figured it’s pretty hard to get sued here.
Hiring bias litigation is common and expensive in other states.
The advice you will get on HR side is because no binding arb. agreement is in place you are exposed to full litigation efforts including attorney fees.
These can involve disparate effect or implicit bias - which can be difficult to defend against.
Are you serious? Imagine the first HN headline that reads "Company X requires you to waive your ability to sue if you apply to them". Come on, man. Apply some tests to your ideas.
That's already how most EULA click-through NDAs are, and no one blinks an eye. People are just numb to legal disclaimers now. One outrage article will not go viral, and will not sink any companies.
And deal with all the blowback for yet another NDA? Plus the inevitable decision where you need to decide to enforce it and come across as even more of an asshole? For what benefit again?
In our case, it's not an iron-clad no feedback allowed policy. We're just much more careful about giving it, approval is given on a case-by-case basis.
A good typical whiteboard interview naturally includes hints, feedback, and collaboration. After several hours of it, we have a very good idea of how well they may respond to feedback from members of our organization.
Honestly, I love giving feedback. I love helping candidates be better at interviewing. Bad interviews are painful to the interviewer too. I'm out of a small market so people and word gets around.
If it really isn't their fault they didn't get the job, we try to make that very very clear. It really sucks when we have to pass up on someone who absolutely killed the interview because someone else did better.
The harsh reality is, many people that don't pass on the interview are people we do not want in the industry. The good ones we give every hint and help we can.
There's also more tactical ways of extracting feedback from companies rather than directly asking for it. We can't tell you about how you did well after rejection, but we can talk about what our expectations are during the interview; put two and two together. I've noticed the good candidates that are serious about improving their interviewing do it, and from the company side, it's a strong signal they're not trying to contest a decision.
Food for thought, when was the last time you gave a company feedback on their interview process? I've traded feedback for feedback quite successfully many times when I was interviewing.
I try to give interview feedback on every interview I go on, where I am the person being interviewed. Obviously, companies who provide me with actionable or useful feedback get actionable and useful feedback from me in return:
Interviewer: you have great interpersonal communication but I think you need a bit more knowledge in python techniques XYZ. I like being up front and transparent, and the python stuff is a big deal to us, so although you had a great set of traits, we want someone stronger in python.
Me: Thank you for giving me a clear indication on what was important, where I was strong, and most importantly, for not giving me a “we’ll call you if we want to move forward” response. I highly respect you for not wasting my time unnecessarily.
>The harsh reality is, many people that don't pass on the interview are people we do not want in the industry. The good ones we give every hint and help we can.
It's pretty bold of you to claim your interview can accurately qualify candidates across the entire industry.
Maybe you have found an interview that works for most companies? There's chests of gold waiting for you if you have.
I can pretty boldly claim that I can filter out "definitely not". I'd say most interviews can too. There are a handful of companies that do this for you.
These are the candidates that can't FizzBuzz or even write a line of code and/or are humongous asshats.
> If a trusted engineer said he got a rejection in an interview, asked for feedback, and none was given, I’d avoid that place too.
So, your employer does give feedback to candidates on request? It must be difficult for you to find places that are acceptable to you to work, since very few companies typically give feedback. Or do your friends just not usually ask for feedback and as a result that clause on your criteria never trips (i.e. the company wouldn't have given feedback, but since your friend didn't ask, you don't strike it off your list)?
I think a big part of it is also most companies hiring decisions are a lot more subjective than they’d like to admit. I suspect in many cases the interviewers aren’t able to provide specific feedback that won’t immediately sound strange.
Hot take: you could hire someone who did absolutely well in the interview, and they could find a few weeks into the job that they loathe everyone, and go on a social media rampage.
Nearly every company has a policy regarding social media usage with regard to company-related content. If the negative comments get back to the company, that individual will likely face consequences. The "no interviewee feedback" is just another part of a communications policy.
I get what you are saying, but sometimes there may not be any useful feedback to give. Lets say you just don't like the candidate personally or think they aren't a good culture fit, feedback might be hard to give without just hurting someone's feelings.
Social media rampage after an interview is a bad look for anyone. Tell your friends about it sure if they're thinking about going in but no reason to burn a bridge.
And even in places where it does, like Texas, I've never heard of it being applied to software. Like Dell doesn't require a degree for their engineer positions.
I disagree with this. I've had two companies contact me and offer legitimate feedback after interviews, and I always left feeling happy and with good feelings about them.
I applied to one company and got a response back which was effectively "we really like you as a candidate, but it doesn't seem like you would be the right fit for this job / it doesn't seem like the interests you expressed in your interviews [which they correctly restated] matched up well with the duties we would have you perform. We will likely have jobs opening up which would align with what you like and you will be on the shortlist of candidates if you apply for those". Was it truthful? Who knows, but it left me feeling happy about how things went and I would consider applying there again.
Similarly, earlier on in my career after taking a few CS classes I applied for a different job, and the response was effectively "You are smart but you don't have the skills we require yet which are [x, y, z]. Come back when you do". What they said was true and I appreciated the feedback.
Contrast that with the myriad companies I applied to and never heard a response back from or didn't get a response back for many months from. I will never apply to these places again because it is clear that they don't respect prospective employees enough to even send a perfunctory email. Boiler plate rejections aren't as irritating but they are definitely still irritating. If you don't provide reasons for not hiring then employees will construct their own reasons, and they may not be true and / or favorable towards your company.
They didn't hire you now, but might be able to hire you in the future because you would maybe apply again (assuming you get passed the "we already didn't hire this person" filter)?
With all the risk, that doesn't seem like much of a payoff to the company, to me.
(Though I am glad you got feedback you considered valuable, and I think it's cool that the companies did that)
They gain the goodwill of a prospective employee who might cycle back and be a great fit later on in their career (and who has more skills then). It's also about what they don't lose, which is not only me but potentially other prospective candidates. Know what happens when someone mentions they are considering applying to a place that never got back to me? I tell them don't apply there, they waste your time / they don't care about candidates / their interview process sucks. How many people does that person then go tell? I've absolutely punted on applying to places which my friends have said similar things about.
And providing feedback is very likely to hurt your reputation. One major company did give me feedback, and I've made fun of them endlessly for it - they explained that the manager loved me, I did great on systems design and architecture, but I couldn't pass the hiring committee because I didn't do well enough on tree traversal tricks.
Even that in a way is useful to them. If they are constantly getting confused, bemused, or angry responses to what they think is honest feedback, it is a red flag about their hiring process.
Every hiring process under the sun has a large, vocal group of people who think it's shit-tier. (Some people like me are equal opportunity haters - I've never seen a process that didn't have stupid flaws.) If you give feedback, eventually the group for your hiring process is going to find you.
Reputation only matters if your candidate pipeline isn't full enough. For example, Google is notorious for their awful hiring gauntlet, but people still line up around the block to work for them. If your pipeline is fine, reputation and goodwill from people you rejected are worthless.
Most companies are not Google, so their (local) reputation matters a lot.
I'm a .Net developer. In my area there is a well known company that hires a lot of .Net devs. I heard from 2 people that .Net devs are basically treated as 2nd class citizens (after Delphi devs). So now I will not consider applying there. I don't know if they would want to hire me, but I have nothing to gain finding out.
It’s not clear what you disagree with, since everything you mention is entirely a personal benefit. The company itself only increases its risk with feedback simply by exposing a larger surface area to potentially contest.
If a candidate has given my company their time and energy to interview with us I think we owe them a chance to understand why we didn't hire them. We're not obliged to but, if requested, offering feedback is quite clearly beneficial. There's an obvious benefit for the candidate and the subsequent companies they interview with. There's also an indirect benefit to my company - if everyone else behaves like this it means that we'd be much more likely to find our next hire.
I suppose if you're thinking exclusively about a short-term benefit to the company alone without considering the impact to the candidate, the wider ecosystem and culture in general then it wouldn't make sense to take the risk.
When I've been on the other side of this -- ie, as a candidate rejecting a decent offer -- I've made a point of writing a personal non-boilerplate "letter" (email, but tone and format of a traditional letter) -- thanking those on the hiring side and giving some context for my decision. Relationship-building and mutual respect are only ever full of win.
If you want the candidate to be more likely to reapply feedback would help.
In fairness I received feedback I didn't get the position because I was too chatty from a hr person who told me to act more chatty because qualified candidates on paper were failing for being too quiet. I kinda wished they didn't provide feedback because I have an opinion on the internal culture that would make me avoid them in the future.
> "You were barely beat out by another candidate, we hope you apply again next time!"
If this is true and if the company is half competent they'll be reaching out to you proactively next time, not hoping you might see the position and think to apply :)
Sounds like you met a very particular HR archetype and they likely took delight in the games they played with you. You're better off knowing about those sort of HR depts than not.
> If you want the candidate to be more likely to reapply feedback would help.
Do companies really want that? Presumably they didn't hire the candidate because they believe better candidates exist. Why invest in someone if there are better candidates readily available?
usually there's only a few open positions. after a long process of phone screens and on-sites, you might have five viable candidates but only two slots at that particular time. if you would have been happy to hire any of the remaining three if the first two didn't accept your offer, you might encourage them to apply again later.
I've always considered it just a professional courtesy, within reason. Just like it would be nice, but not required, for an applicant to say why they turned down a job offer. It can help us understand what's lacking to determine whether or not it's worth improving upon.
Professional courtesy doesn't matter much when it's now the norm not to be curteous, and thought to be unprofitable (in all the ways benefit is measured, not just in monetary terms) if the company is curteous. There is no professionalism above the level requried to maintain an increasing rate of profit. Workers in all industries since the beginning of waged labour have learned this fact the hard way.
Strong disagree. Eroding standards of civility are no excuse for lowering the bar on how you behave. I'd urge you to set an example, honor yourself and contribute to the solution, rather than compounding the problem by sinking to the lowest common denominator.
I do think we should be curteous, far from it (and employers doubly so); I'm not excusing their beahviour, but I am saying it many cases it pays to not be curteous (note, not being curteous isn't the same as being definitely uncurteous). It is the sort of behaviour interviewees have grown to expect.
The pursuit of protit over courteousness is bound to happen when positive courteousness has a negligible and potentially negative impact on profit.
In my experience, they often like to give feedback on subsequent interviews about the past interviews. Google has some pretty detailed feedback on a interview I did years ago, which they were happy to reveal over the phone on a subsequent onsite invitation.
What are they losing in this case? I don't see how a company is actually harmed by someone complaining about an interview. Unless you're trying to attract people who subscribe to cancel culture, I don't see a problem.
Employee hours. Someone has to collect, document, sanitize, and explain the feedback. Then respond to the response to the feedback. In the time it takes our recruiter to provide feedback to a candidate, they could have sourced 20 more candidates.
edit: I'll argue instant feedback is even more expensive and risky. It's not coordinated, potentially duplicative, may impact/contaminate later rounds, and may not be complete or representative of the interview as a whole. Engineers aren't known for being naturally HR/legal-compliant, and having multiple expensive engineers spend time doing things not in their typical skillset that's typically done by a single resource that specializes in said skillset doesn't sound cheaper at all.
> Someone has to collect, document, sanitize, and explain the feedback.
Either something like this is being up collected and articulated up through the decision points in the hiring process, or the decisions are being made on a fuzzy basis that can't even be explained internally, which presumably represents a risk that decisions couldn't be properly justified should a candidate suspect discrimination and pursue a claim.
(This is especially true for any kind of exercises, btw. If an employer asks me to do some, I am going to screen them on whether they have (a) complete reference solutions with (b) numbers on how long it took to complete each and why they're confident those numbers are reliable(c) a written rubric for evaluating candidate solutions that (d) they'll agree to share with me when we're done.)
On the other hand, by giving good feedback, your company engenders goodwill and brownie points ratings on Glassdoor and elsewhere. Shouldn’t good PR be worth a little work from a company?
They've only disrupted their day to talk to you, in many cases having done these increasingly-prevalent and always-bullshit 4+-hour "exercises", and they have way less time to be allocating than you do. That's all they've done. Their time isn't deserving of respect and it's just downright ridiculous to think that it's the decent thing to do to tell them something that might, just might, not make it a waste for them to have spent it.
...Or, you know. Don't be that guy. Candidate, candidate, candidate--depersonalizing language for depersonalized processes. How about person? These are people you're talking about. They matter more than your recruiter's cattle-call throughput, each and every one of them.
Have some empathy, my dude. Or at least some enlightened self-interest, for someday will be your day in the barrel.
Interviewing is a business transaction, not social services. They'll min-max their time just like you'll mix-max your compensation.
I'll happily give advice, feedback, mock interviews, and other sorts of help on my own time in more appropriate environments. When it's company time, it's just business.
It's interesting how "it's business" has become catch-all for absolving every breach of previously accepted social norm.
As a hiring manager, you're unlikely to be on the clock. And even if, I am somewhat certain that you could come up with good justifications for giving feedback if anybody asks, which nobody will.
It seems to be a specific disease of middle management to feel the need to demonstrate their "professionalism" by going out of their way to deny their humanity. At Wall Street, they buy ugly but expensive clothes for this purpose. But I guess on the West Coast you only have the Gordon Gecko playbook to fall back on.
I used to work at a branding agency, and it was interesting to see how risk averse middle management was: ideas for product names tend to only be good if they evoke some sort of not entirely pure concept. Think of "Plan B", "Virgin", or "CockroachDB". These would always get shot down by middle management as "unprofessional". Go a level up and people are far more open to be human. I don't know if they are just more self-assured and therefore willing to trust their instincts, or if the selection process for higher management actually works quite well.
I feel like the reason that is, because middle managers believe they need to be better by not making mistakes, and things without mistakes are bland and inhumane, also some of them maybe have a some kind of complex. I might be wrong tho?
They're getting a prompt, professional, inoffensive response in exchange for their time. That is decency.
You can't expect a business to feed the hungry, cure the sick, and house the poor out of the goodness of their hearts because these are people that spent a couple hours of their day with you. There are more appropriate institutions for charity.
Uh. I can certainly expect a business to be responsible in it's treatment of others. They exist at the sufferance of the society that grants their charter. Why should shitty behavior be normalized, ever?
And why are you stanning so hard for a process whose bloodless mind would bleed you dry and kick you to the curb for a nickel? Was Steinbeck really that right?
Perhaps the easiest business-oriented solution to this mess is to simply comp applicants for investing their time in interviews with a company. At least then there isn’t the sentiment of having wasted time.
This is an excellent suggestion that treats people as people and as professionals whose time is valuable. It would, of course, never happen, because those same employers fear of what might happen if they granted the same respect they demand, but I admire your lateral thinking.
Sure, and as a business transaction, what do you think will happen if you treat potential business partners poorly?
The answer is that they'll leave negative reviews, tell people to avoid your company or decimate any goodwill your company might have. I have in the past left scathing reviews on Glassdoor and was on some occasions the first one to drop my experience. Because after long projects or a company promising to get back in touch, they decided to instead ghost me or make me do ridiculous tricks for the application process.
If you view something as a business transaction, then you should know one of the worst things you can do in business is spurn the person you're working with.
I had someone ghost me right before a christmas holiday once, after the hiring manager (a VP) told me they'd for sure give me a call the next day. It was right before a major storm went through the area, and because I had waited for their call at home I had to drive 10 hours through the storm to see my folks as the storm had arrived the following day.
I naturally left a scathing review for that place, but Glassdoor removed it (of course).
You have it exactly right. Companies are protecting themselves from more than just legal action - Glassdoor reviews have a huge influence on how candidates view your company (especially true for startups).
I once left a bad review on Glassdoor after a truly awful interview experience for a startup. The next day they called me up and threatened legal action.
Edit: Just for context on the interview—they had me do a take home assignment in Django, which I had never worked in. Was desperate, so I learned Django and completed it in a week. Went onsite and their whole office was a one tiny, dated swelteringly hot room. The interview was mostly around a bunch of basic syntax stuff, and had me implement merge sort. Didn’t hear from them at all for a month so I wrote on Glassdoor about it.
A day after I wrote the review, they tried to email me and offer me the job. I was pretty desperate, but not THAT desperate knowing they had only done so because of the review. So I replied, saying I wasn’t interested. The day after that is when the CEO called me to threaten me. They probably couldn’t have done much to me, but still nothing for me to gain from the situation, so I took it down and moved on with my life.
I think this is the main problem. People just don’t take rejection well, or it’s taken too personally.
Sometimes it’s no one’s fault and it’s simply a bad fit.
And of course like you say, people aren’t taught how to evaluate feedback and they may actually contest what is a courtesy in an adversarial manner and thus make things so much worse.
Does providing feedback make this effect worse, or better? How do we know? N=1 isn't exactly a significant sample size.
It used to be common knowledge that doctors should never say they're sorry, for the same reason (fear of lawsuit). Then research showed that apologizing actually reduced the number and severity of malpractice lawsuits.
I see plenty of people attacking tech company interview processes on social media already, without being provoked by honest feedback. I'm having trouble imagining how feedback could make a person more angry.
Engineers can't even go through a code review without getting butt hurt. And that's when you're on the same team with mostly the same goal.
Usually the blowback to the company hits marketing/legal/HR. Gathering and delivering feedback takes work. It's really politically expensive to explain why you're going out of your way to do work to cause other departments to do work for the sake of tech community altruism, especially right after it just burnt you. Giving career advice to strangers after an interview isn't the norm in any other field.
I don't really care if the candidate tries to sue the company. I don't work in legal, that's mostly not my problem. But if legal doesn't want to deal with it and ends up being a pain in my ass, yeah, I'm dropping the practice.
My personal data point is that I received feedback that was negative on specifically my base level of concept understanding on one out of ~7 short sections I did for a company, and it made me skeptical that it was the actually the real reason.
It was a whiteboard session on how to manage scheduling and reporting progress/success/failure information for long-running jobs to a frontend UI... which is something I had been specifically doing at my previous company for a year, and have done many times in many ways before. I took some lessons about communication and focus from it, but in my mind it showed that either that section's interviewer was not very good at evaluating candidates, or some other reason was the real reason and they chose to voluntarily tell me something else as a cover instead.
I'm assuming the former, because I never asked nor expected a specific reason for rejection - no cover was necessary. Finding out just frustrated me further - I really wanted that job, and of course you can't go back saying "Maybe someone else should give that section? I think I'm really good, trust me, the guy you just rejected!"
This is only one side of the equation. What’s the cost of not providing the feedback? Either similar negative feedback on social media, which is maybe less intense but more numerous, or the negative feeling the candidate gets from the experience, which can impede future applications or applications from friends.
I don’t know which way it tips, but looking at just the potential damage of providing feedback seems insufficient.
The cost is that you further the misery of the application experience for candidates. Keep in mind for every candidate you interview, they may have applied for anywhere between 10 to 100 other jobs. If you were in their position, you would want to have a way to improve for the next interview too.
Fear of the occasional keyboard ninja is not a rational reason for giving every single job applicant a worse experience.
Not to mention that generally they end up looking worse than you do, and you've probably done the rest of us a favour by outing them as an asshole (I'm assuming you were respectful and constructive in the feedback that you gave).
The challenge isn't figuring out how you or I personally would deliver feedback, given time to plan it out and a good set of feedback to deliver. The challenge is establishing a process that ensures everyone at the company will always do it, even when the real reason is something like "meh I'm not sure the candidate quite clears our bar".
> even when the real reason is something like "meh I'm not sure the candidate quite clears our bar".
That's the problem, though - you're trying to make a hiring decision on hopelessly incomplete information, and so it will come down in large part to gut feeling. And the moment you admit to using some non-quantifiable feeling as a basis for not hiring someone, you open yourself up to claims of some form of discrimination.
I am not afraid of getting sued, but experience makes me afraid of getting dragged into an argument about my conclusions and judgement, the last thing I need when managing a hiring process. I do still provide feedback when it is politely requested, though.
Sympathies. On the flip, side, though, if the interview process was horrible, and the company doesn't provide some sort of mitigating feedback on what happened, I tend to assume the worst. And yeah, I don't necessarily keep it a secret.
It goes both ways. I have had a couple of interviews go south and have no interest in continuing the conversation even in a constructive way. Best to say thank you for your time and move on.
Anyway, the way to avoid negative reactions and defensiveness from candidates is to practice giving feedback in a way that’s constructive. We’ll cover this next.
I appreciate what you're saying, and I realize that social media is a cesspool, but isn't your stance condescending toward candidates that you do want to hire?
Surely a reasonable person with good critical thinking skills can look at one of those "rampages" and recognize it for what it is.
A more charitable (and probably likely) scenario is that the company monitors mentions of its brand name on social media and saw public posts by the candidate, or the candidate tagged/posted to their social channels.
I got verbal feedback exactly one time (at Microsoft) during my attempt to land a post-1-year of university internship. I had solved the algorithm in a few minutes, but when trying to code it up, I struggled a fair amount before figuring it out. The feedback I got was "You seem like a smart person, who hasn't done very much coding. That makes you a bad risk. Go practice programming and come back next year". It was incredibly valuable advice that I got no where else, and it resulted in me coming back to MS a couple of years later once I graduated (I'm not there anymore).
I wish more people would give real, actionable feedback on interviews.
> You seem like a smart person, who hasn't done very much coding. That makes you a bad risk,
Assuming Microsoft actually measures this stuff, that's kind of surprising to me. I've never placed much weight on being able to write a program on the spot.
>I've never placed much weight on being able to write a program on the spot.
I don't disagree, and personally I hate in person coding exercises, but if you keep the question simple and allow the candidate to code in their native language, something fizz-buzz like will go a long way in weeding out the people who have languages on their resume but can't code.
At our company we offer two simple coderpad tasks to be done in advance with no supervision or pressure - write a linked list in CPP and solve a simple puzzle in Python. You pay attention to the candidates who use templates, destructors, smart pointers, even if they make mistakes those are the ones you probably want to hire.
> You pay attention to the candidates who use templates, destructors, smart pointers, even if they make mistakes those are the ones you probably want to hire.
Maybe I don't know enough C++ to understand this, but I don't understand why using fancier features would make you like the candidate more when they are making mistakes. Unless you ask them to write a templated linked list, why would you grade them for automatically deciding to write one (and then making a mistake while doing so)?
Trying to understand the thought process here since I have been on the receiving side of some of these "Look I used the cool feature!" candidate programs in Python, and they often make pretty bad mistakes while using said advanced features. That personally marks them down slightly in my estimation, but curious to know your view is the opposite.
Meta: Maybe the problem with hiring via takehomes/code samples is precisely exemplified by the above discussion.
>Maybe I don't know enough C++ to understand this, but I don't understand why using fancier features would make you like the candidate more when they are making mistakes.
It's not about cool features. It's about using the correct modern features which make the code safer and easier to follow.
Templates are a relatively advanced feature but trivial to write for such a case and I'm looking for a candidate who understands containers are typically generic and knows how to add the two lines. I take it as a marker of experience.
There's no excuse other than inexperience or old fashionedness to not use smart pointers.
Destructors are also a sort of minimal knowledge because they show that a candidate thinks correctly about memory management.
There isn't really a score to what we do. And in all honesty the first few times we gave the test I didn't really know what to look for, this is my first time from the other side. But it isn't too much to expect a competent cpp programmer to know these things and I'm looking for candidates who are willing to use the open ended opportunity to flex their muscles, provided their code is well structured and doesn't have severe, obvious bugs. I don't claim that this is perfect but it seems suited to screen for the basic kind of knowledge we look for. These are not entry level positions either.
It's been awhile since I last interviewed at Microsoft, but the only coding I did was on a whiteboard.
The best part about it? I was already a full time employee at Microsoft. I just wanted to switch teams. I still had to do a full interview loop with the team and well... I didn't get the job.
I interviewed several people who wanted internal transfers. People who took 30 minutes to write a function like "write a function that takes an array of ints and returns the largest value". I have no idea how they got hired in the first place.
Yeah, the space of things I can do quickly on the spot from practice, and the space of things I can get really good at after a few hours of re-calibrating, research, and trial and error are worlds apart. If I were hiring, I'd 100% look for people who can self-teach above all other technical qualifications (above and beyond whatever the basic competency level for the position is).
I only get an hour together or a bit more if I'm lucky.
In terms of people I've hired, if they can solve and code things in real time on a white board, then they can definitely do even better with more time and research.
Everyone does better with research, trial, and error. That's not unique. What's unique is problem solving on your feet in a foreign environment. I want those people.
All my info is old on this point, but I doubt that there was company wide measurement here. This was an individual giving their own personal opinion/reasoning.
It's possible the other guy being interviewed seemed like a smart person and had no trouble with the code. If they had to hire one, they hired the one that was less risky.
Oddly, I had the exact opposite experience interviewing at Microsoft.
I blazed through all the questions the manager asked, and the manager told me I was the most talented person he'd ever interviewed and would definitely get the job, and then I didn't get the job, and got no further feedback. It was the most confusing interview process I'd ever been in.
I sent him to ask him if there was some sort of mistake, and he didn't even reply directly, just sent me back a message through the recruiter saying no, it wasn't a mistake.
Yeah, big company, lots of variation in the interview process. Ultimately, the hiring manager has final authority, but if someone came out strong against you for some reason, they might be loathe to override. But it does sound like a strange experience. Just consider it an anti-loop. (https://steve-yegge.blogspot.com/2008/03/get-that-job-at-goo...)
Luke Hohmann, author of The Journey of the Software Professional, advises to give such feedback. I've endeavored to do so.
FWIW, though I've been insulted and hazed and ghosted many times, I've yet to be given constructive criticism.
A few times I've been told why I didn't "pass". One guy was upset that I didn't favor aspects (a la Spring). Another was disappointed by my answer for how to resolve a hypothetical impasse ("try both").
That sort of thing.
Job interviewing is just dating. I accept that most people can't articulate why it's a "No." But I can't abide by the tortured rationalizations of poorly socialized geeks and accompanying general purpose meanness used to mask their own inadequacies.
Said more kindly, most people, and especially geeks, shouldn't be allowed to conduct interviews unsupervised. It's a teachable professional skill like any other. Asking the unprepared and unsuited is just cruel to all parties.
I find I'm much more comfortable giving feedback to new college graduates. Often times there is glaring weaknesses they can work on improving to get the best job possible.
It’s actually kind of a bit risk for the applicant, which makes it a big risk for the interviewer if you have half a heart.
If you get fired four weeks in to your internship, because no amount of coaching from the senior employees is worth the investment by the company.... that’s a tough situation to be in. It’s pretty late at that point to start looking for another internship for the summer.
And if you’re the kid’s supervisor... that’s not a fun conversation to have.
Oddly, I had a slightly opposite reaction to a similar experience. But, to be fair, it was mostly because of red tape.
I interviewed at Microsoft, got feedback something like, "you did pretty good, but you dont understand low level code enough for this team, you could do great somewhere else at the company."
Microsoft has a policy that you can interview only once per year. I didn't get to pick the team I interviewed for, and apparently they only interview for their own team.
So, I was basically told that I was good enough, but because of HR, I won't be hired.
That, for me, felt significantly worse than "sorry but you didn't get the job" generic feedback would have been.
If an interviewer googled the question - why do I need to know the answer?
I recently had an interview and I spent _literally_ over an hour trying to figure out the algorithm or a mathematical function to solve it and I finally got to the point that I gave up.
I asked the person what algorithm they used to solve it and they said “brute force” and were expecting nested loops that under real world load would have been O(n^2).
I definitely don’t consider myself an algorithm expert, but my feedback was, and I shit you not, that I didn’t know ruby. I’ve been developing in ruby since 2006.
Anecdotes and all. Our industry’s interview process is flawed AF.
Same here, but from IBM--and it's burnished my impression of the company ever since. It was polite, actionable and a nice recognition that I had /also/ given up an entire day for their interview.
So many comments in the vein of "who has time to waste on candidates we aren't going to make an offer to?" - You are damaging your companies brand thinking this way. You want people who you reject to say to themselves "I can't wait to study up and interview here again, they said no, but I still want to work here!"
I agree that being helpful and giving feedback to candidates you don't hire can be beneficial to the company and to the interviewer. However, I would argue an even stronger reason is that it is good to help other people grow, even if it doesn't directly benefit you.
If on the way to work you see someone trip and they can't get up, you should offer them help even if doing so will make you late for an important meeting.
Surely if a rejection was for a reason that a couple weeks of study could "fix," it wasn't worth a rejection, right? Are hirers out there really being THAT picky?
I'm going through resumes right now and rejecting people if I think they need a year or more experience under their belt than what they're presenting. If it's because they know react and not vue, that's not reject worthy at all...
Why can't this be on the scale of 3 or 5 years? I'm reminded of the Maya Angelou quote: "I've learned that people will forget what you said, people will forget what you did, but people will never forget how you made them feel."
I don't remember 99.9% of what recruiters have said to me, but I do remember the two companies (Hulu and LinkedIn) that made me feel like crap and jerked me around. It was 2 years ago and I'm sure most of the people who were a part of that are gone, but I still kind of have that grudge.
Where I work is an agency, so essentially a collection of already experienced designers, engineers, etc that need to be building quality products pretty much day 1. Any of our time we aren't billing to clients is just coming out of our cut.
It's a somewhat ruthless calculation, but we already skim billed time to do things like give ourselves 20% freetime to work on libre projects, train ourselves on new tech, etc. Some of us use that 20% to mentor bootcamp grads (me) which is the kind of help I want to give to green engineers - I'm a selfish boi and don't wanna lump a billable hour cut on top of that. We absolutely don't have time to be pulling someone in that needs 3 more years before they're engineering at the level we need.
Hiring is definitely more art than science. I’d argue that now one has really figured out how to do it well.
Some companies do actually hire people fresh out of college/coding boot camp, and for those people, some feedback and a few weeks studying might make a world of difference.
Done it. Worked really well (got great people, which got more great people, virtuous cycle etc). Struggled to convince a couple of other companies to adopt the mindset. Hoping to do it again some day.
Yeah, life's hard. But isn't that why it's worth it to fight for a better life? I get it though, "better" is relative.
This is so true! The best interview I ever had was at Netflix. They sent a takehome and we actually discussed it in the interview. I got a ton of useful feedback on my code which made me feel I was getting something worthwhile for my time. In the end, I didn't get the offer but was told why (not enough experience building UI's which were a large part of the position) but I was stoked as it was advice I could choose to work on or not.
> I can't wait to study up and interview here again
If the decision to reject was purely objective then sure, but isn't a big part of it if not most of it subjective? And even when the reasons could be objective, I imagine people are deciding in part through gut-feeling and might not be able to articulate the reasons for rejection in an objective enough manner. That's why I imagine people are inclined to fight when given the reasons for rejection.
I mostly disagree. I really can't think of a case where I would want to interview the same person twice. That said, I'm happy to provide feedback if they ask, and when it comes to interviewing, I personally appreciate feedback ONLY when I ask.
I've definitely interviewed green candidates and would be very happy to interview them again in a few years. (This is going to be more true in companies with more selective hiring bars)
Regardless, brand matters as well. You want candidates to have good experiences even if they are rejected as they will talk to peers about company x
Lol, yeah, like when I applied again at the same company after 3 years and they rejected me out of hand before even giving me a chance at an interview because they rejected me before.
Obviously my skills and experience are still exactly the same, so this makes perfect sense.
I don’t know, but I personally think this is a terrible signal.
Minds are made up. I interviewed with the same company in the beginning of my career then again 3-4 years later. I realized they probably didn't know how to interview a dev and were more interested in someone amazing with clients and charming. I would have been prepared to bullshit my five year plan better on the second go-around.
Do you only ask candidates 1 question/only look for 1 attribute? And only hire for one level? Cause otherwise, they could've done great on 8 things but missed on another. Or they did well but not quite well enough for the seniority that was desired. I've gotten feedback like this in the past - "your technical answers were great, but we thought you were a bit too green collaboration- and project-ownership-wise" and it was super useful because in my head before that, it was the places where my technical question answers could've been even better that I'd been beating myself up over.
You can find plenty of competent people to fill a position that you have no room to hire. Its also possible to give an accidentally weak interview.
Treating people like disposable garbage because they didn't check the checkboxes the best is a great way to be a shitty manager and a shitty human being.
The hiring process is a black box for a reason. The HR department's role is to protect the company first, not the employees, and certainly not prospective employees. If feedback can be interpreted as being discriminatory, or reflective of bad company culture in general, well, word gets around.
For much of the time, the reason people don't get the job is that there was someone marginally more qualified/attractive/likeable, or some combination of the three; the classic "there were many qualified candidates and we could only choose one" line in the rejection email.
That doesn't help the interviewee beyond telling them that it's a numbers game, but that's the truth.
After the interview is done and the answer is a solid NO, as a company we have NO BUSINESS RELATIONSHIP with you. Any iota of effort we put towards you is essentially wasted effort, even if very minor.
What changes that discussion further is that there is a small, but still quite real, possibility of lawsuit, social media rant (as another comment mentioned), or even a disgruntled applicant shooting up the place.
(I believe Pres. William McKinley was shot by a disgruntled would-be bureaucrat who didn't get a job...)
A perfunctory if generic rejection is a safer choice. Short-list candidates who made it to a 3rd interview, or folks who we reached out and headhunted (but didn't choose) may be a different story, but those are rare edge cases.
In a vacuum that might be true, but software engineers know other software engineers, and there are plenty of forums for discussing hiring experiences, including HN. If a company systematically treats people they don't intend to go further with like crap, their reputation with other candidates will suffer. You'd like failed candidates to not talk shit about your company when their friend considers applying.
Not giving feedback though is not "treating them like crap" in fact the opposite is far more likely to be true (as interpreted by the non-hired candidate). You literally can't go wrong doing nothing.
You can do wrong - I do not reinterview with startups that do not give feedback at the end of the interview process. So, if you're a startup that's struggling to hire - good luck getting that candidate to come back in 6 months to a year when you're struggling. (Plenty of companies flip-flop on hire/no-hire as time goes on)
That's not doing wrong as far as the company is concerned, though. Harsh as it may sound, this is just another version of a customer going "I will take my business elsewhere!" and walking out of a store: the store couldn't care less, because your business is irrelevant. In the same way, "your" interviewing is entirely irrelevant, the only thing the company cares about is that they get applications from qualified folks, whether that's repeat applications or not. You not coming back in 6 months doesn't stop them from getting new applications from other folks with just as good a skill set as you.
Of course for you, personally, it sucks and you want to know how to improve, but for the company the very act of talking to you after your temporary relationship is over does come with the potential for incredible harm. It's unlikely, but a liability they have zero responsibility to take on. As far as companies are concerned, not interacting with anyone they don't have a business relationship with is solid business practice, and while applying, you're just an application; you're not someone whose education and growth path they are responsible for. You would be, if you got hired, but until then you are not their responsibility in the slightest and any unpaid, no-contract interaction between them and you is a liability to them.
Doing nothing is by far the smartest thing the company can insist on. Even if it sucks for us applicants.
Giving detailed feedback takes more time, and is inherently more risky than a timely, somewhat bland rejection letter. Candidates are much more likely to feel slighted when they are given specific criticism, which they may or may not agree with.
> as a company we have NO BUSINESS RELATIONSHIP with you
I think this could be phrased as "we have the choice to have no business relationship with you." But it's not a good idea to straight up cut off candidates. We've had plenty of cases where we just didn't think we had the capacity to help a candidate get up to speed and thought if they worked somewhere else that could provide that to them then we could hire them 6 months to a year down the line. It's not the standard, but it's happened before.
You have a business relationship with everyone you have a relationship with - you're a business. You're burning bridges with people in your industry - why?
> After the interview is done and the answer is a solid NO, as a company we have NO BUSINESS RELATIONSHIP with you.
And plenty of companies don't even feel a candidate is owed that answer after they've made their determination. Of course it's a two way street and candidates will - and have been - doing the same thing to companies.
I have done hundreds of interviews, and I used to do a very easy, basic comp sci test. The last question I would ask was, "Tell me about a book, cd or movie that you've read/listened to/watched that was interesting or excited you."
The point was to see if the person was engaging with the universe, not to judge their taste or anything else. You'd be surprised how many people get tripped up by this.
The worst answer I ever got was a guy who said the last album he bought was "Free Bird" (which is not an album), and was 40 years old at the time of that utterance. This person could honestly not think of one thing that excited him since then. He also ranted about Object Oriented Programming like it was a brand new thing.
The best answer I ever got, was a gentleman who was not the strongest candidate but was clearly intelligent. His answer was, "I know this is not a recent author, but I love Bukowski." And he spoke at length about his novels and poetry, and even was aware that our office was only a few blocks from where one of the pivotal scenes in one of his novels was set, and that after the interview he had actually scheduled some time away from his job to go there.
perfect answer
In my report to HR, I mentioned that he probably needed to study a little but was quite intelligent, but had fantastic enthusiasm for literature and that he was very engaging.
Of course, HR put an immediate stop to the thing with the reasoning that someone could say that their favorite book was the bible, and that could form the basis for a religious discrimination case.
This scenario of an interviewee answering with the name of a religious text is an interesting point; transparency in interviewing is a two-way street.
In a way, I can understand why people get tripped up on the "casual/lifestyle" question. Interviewees may not think of it as a casual question, but rather another question to weed out the desirables from the undesirables. So people may censor themselves or their honest beliefs because they want the job. Which is a position I totally understand.
Throwaway here, for obvious reasons, but I have to ask: is this a pisstake?
I've read this comment about half a dozen times over the past 12 hours or so and I just can't get over it.
Did you seriously grade whether people were "engaging with the universe" (WTF?) based on what their favourite book/CD/movie is and how much they enjoyed it?
Did you seriously dock points from a candidate who obviously didn't care about CDs, movies or books - because he couldn't remember the name of the last record he bought?
Has the thought ever crossed your mind that maybe he engaged with the world in other ways? Perhaps he would hike, or take his kids to soccer, or even play pool and darts on the pub on a Friday. Did you even bother to ask before dismissing this guy as some sort of sub-human degenerate?
Did you actually go home that night and Google Free Bird to see whether or not it was, in fact, an album, and felt a smug sense of superiority when you found out it was actually a longer-than-average single?
More importantly, did you seriously try to convince HR to hire a candidate who was, by your own admission, "not the strongest", because he had "fantastic enthusiasm for literature" and was "quite intelligent" (I'm guessing you based this assertion off of the fact that he read the poetry of Charles Bukowski, and therefore must, like you, be an intellectual).
Mate, I've got some news for you: the reason HR wanted you to stop asking that question most likely had nothing do with the possibility of a religious discrimination case - they either wanted you to stop basing your hiring decisions on batshit insane notions, or stop you making hiring decisions altogether.
I'm sorry mister or miss throwaway. You have (purposefully?) misinterpreted almost everything I've said in the weird, most twisted and evil way possible. You've made wild accusations without any knowledge of the situation and as such, this shall be our last interaction.
The point was to see if the person was engaging with the universe, not to judge their taste or anything else. You'd be surprised how many people get tripped up by this.
Not surprised at all. You know your motivation; they don't. It probably causes lots of candidates to mildly panic as they try to decide what they can say that won't make them come across as too weird/boring/old/etc.
> Tell me about a book, cd or movie that you've read/listened to/watched that was interesting or excited you. [...] You'd be surprised how many people get tripped up by this.
Yeah, because they'd rather be shown to freeze up rather than have the conversation go like this:
Them: I actually really liked the album Mouth Moods. It's an album full of remixed songs and mash-ups, kind of like what Weird Al does.
You: Oh? I've never heard of that. Tell me about your favorite song on that album.
Them: Oh... uh.... it's a song called Bustin.
You: Bustin?
Them: Yeah it's... well, it's the song from Ghostbusters but chopped up and remixed.
You: So it's about busting ghosts?
Them: Uh... well... no. It's about how bustin... makes me feel good.
You: I'm sorry? What are you busting that makes you feel good?
You're right, but it's also not difficult for genuine, high-quality feedback to be taken poorly. You can tell someone that they're not as good at data structures or database design or scalable systems or whatever core job skill you needed them to be. That can be highly useful, actionable feedback.
It can also readily feed into a very different framing. It's rarely difficult for a candidate to decide that whatever core reason is a fig leaf and something more ego-preserving is the real reason. I think we've all had coworkers who didn't take feedback well. I've definitely known people to whom all feedback is personal attacks. It's also, unfortunately, well-known and well-documented that people share negative thoughts more often and more readily than positive thoughts.
So, you're absolutely right. The good word can get around! There may be more risk to trying than is obvious, though.
Why not formalize the process and include non-disparagement clauses that applicants must sign to receive feedback? Then risk of retaliation is reduced.
There are definitely options, but it's worth bearing in mind that contracts are for when for things go wrong. Are you willing to sue someone for saying something bad after getting post-interview feedback? Seems unlikely to help with bad PR, but I'm not an expert.
Legal might not be the right tools for this. Some industries (consulting, as mentioned by others) seem to have standardized ways to give feedback.
It would at least deter most people from acting on anger over feedback. Those who aren't dissuaded by the contract would have acted in anger even if they didn't receive feedback.
Not to be disagreeable, but have you considered that now a person would have two things to react angrily to - feedback they don't like and a contract attempting to silence them?
This seems to my rather inexpert evaluation like the sort of situation that, if possible, people and companies might consider avoiding. But obviously YMMV.
I agree. Looking back at my comment, I did phrase it in a way that made it sound like "the company has no choice but to do this"; that wasn't my intention.
Discrimination on the basis of the school you attended, your nationality/race/ethnicity, even what you choose to do in your free time, is likely to be behind more than a few rejections. "Culture fit" is a polite fig leaf to hide that.
Because giving good feedback is hard work, and candidates won't always take it well (even if they don't sue). If the employer has already decided not to hire you, there's just not that much in it for them.
For what it's worth, as an interviewer I'm happy to give feedback in person, at the end of the interview, if the candidate asks for it. It's much easier to do when you're both in the same room, and asking e.g. "is there anything you think I could improve on?" makes a positive impression either way.
I hate it when candidates put me on the spot at the end of the interview, because it feels like they're trying to get me to tell them (or at least hint to them) if they're going to get an offer or not. Even if that decision were wholly within my hands (it rarely is), I'm not ready to discuss it with them at that point. The other way it sometimes goes, if I do cave and give some feedback, is that they try to disprove me or show that they actually can do the thing I said they need to work on. It just ends up creating awkwardness, and doesn't benefit either of us.
When I interviewed at a FAANG company, I had multiple candidates do this to me after it was clear that their performance wasn't great. One person even asked me if they could interview with another team. This usually happened after it was clear that the candidate didn't perform very well. It was extremely frustrating for the reasons you mentioned. These were candidates that should have gone through multiple hiring cycles and known what the process is like, that I'm only doing the coding interview and recruiters and potentially hiring managers have final say based on my feedback.
It probably depends on the candidate pool, but I've had a few interviews where the candidate can tell they missed the bar, and genuinely just wants advice on how to work on it.
Definitely if they start trying to haggle, or pressure you into something, that's a hard pass, I'll say whatever bullshit it takes to get them out the door. I'm happy to help out the former at the expense of fielding the latter, though I can understand why not everyone is!
I haven't read the article, but it is off-point to say no-one sues. History has no effect on what someone will do tomorrow - exposure is what companies try to limit.
The sueing angle kicks in when you do stuff like give feedback for folks who you think will take it well Vs keep it away from folks who give you a bad feeling or whatever. It is all exposure.
Almost in all the companies I have been at, there has been a big push to keep the interview experience uniform for all candidates. So you can't have hugely different loops setup for the same level for different candidates for example.
Fun fact: This is a main reason why as a company grows, you aren't able to get in with a wink and a nod anymore, even if you know 100% of the folks already there.
If noone has sued about feedback in the past 10 years, over probably millions of interviews, it’s a fairly safe bet that nobody will sue in the next 10.
That is not how expected utility works... theres a probability of being sued a d there's an impact of the event of being sued or bad mouthed in social media... even if the probability is low, the negative expected utility (expected loss) is still high because of the impact value ...
Not worth it.
If it's hard work, then that's a symptom of the reasoning behind a no-hire not being sound to begin with.
And there is plenty in it for them, as the candidate may want to apply a second time at a later point, having been made aware of and improved on the areas that were identified as needing improvement. They'll be more likely to re-apply to a company that gave the feedback than to a company that didn't.
It's hard work because then you'll have to explain and document the hiring proceedings, then sanitize it before sending out, with content that's actually actionable by the interviewee. What we put in internal candidate notes is very different than what should be sent out, and someone has to do that translation.
There's also plenty of reasons a candidate didn't get hired that not really immediately correctable or not even their fault. For the latter, we do provide feedback/explanations and try to keep in touch in hopes they apply again in a couple of years. But 80% of the time we really just don't want to see the candidate again. I'd say 10% of the time, we see the candidate again, but so far, even on reappearance years later, they get the same feedback from completely different interviewing committees.
As an anecdote, the major consulting firms (McKinsey, BCG, Bain), all provide constructive interview feedback after interviews. They do this regardless of if the candidate is moving on to the next level of not.
It's strange that other industries haven't followed suit.
Noticed the same thing with some finance companies too (mostly those that are known to be tech-strong, however). Got some of the most detailed and useful feedback throughout my years of interviewing from those.
This must be a newish thing. Back when I interviewed with Bain in college the only feedback after multiple interview rounds and social events was "sorry, you weren't as strong as other candidates". McKinsey sent a blanket "no thanks" email.
No industry's interviewing is as awful as ours. The mythical 10x programmer has ruined our interviews. All these companies have it in their heads that you either need a rubicks cube champion or someone with 15 years of Rust experience.
You generally don't get technical interview performance feedback because technical interviews are constrained by the interviewer to put themselves in a technically confident light against the candidate. The interview is as much a crapshoot for the interviewer, because they might be less/more/similarly skilled to the candidate, but they absolutely cannot reveal themselves to be less skilled because they would undermine their status if the candidate gets hired. So interviewers stick to the same random technical question that they feel very confident of, answers to it are studied. The myth is that this posed problem is a general test of skill for the candidate, but the primary motivation is for the interviewer to maintain the appearance of professional dominance. Hence the technical discussion is kept to a narrow problem domain. Obviously there is a spectrum here, and it's more true when the interviewer feels insecure. Only when the interviewer is very skilled/confident relative to the candidate do people go off script and give advice. I confess this is how I have seen it from both sides of the interview, I'm no saint either.
My favorite interview question is a real life issue I faced where a short sighted database design wound biting us in a pretty serious way. It's a good technical problem to talk through, and provides a lot of useful information about the candidate, but it's also an excuse to set very clear expectations that I'm not looking for the "right" answer (in real life it took half a dozen smart people a couple hours to come up with a right-ish answer).
I try to use it early in the interview, and I find it sets a helpful tone, avoiding a lot of that posturing you describe.
Ah so a good interview question for a candidate is something that YOU have experience in.
Does that seem odd?
Do you think you would be an expert in something the candidate had experience in? Probably not. Should you find out how they speak about something THEY are experts in? Probably.
But like the OP said, tech interviews are about posturing so that the interviewer feels better about themselves.
does that seem odd? Not at all! How can anyone evaluate a someone else's performance in a domain if they don't know the domain? You ask the question many times over so you can judge performance relative to others. Yes, the interviewer should be familiar with the topic of the interview.
This does seem logical: here is a hard problem we actually faced and solved; we want to hire people who, faced with that sort of problem could solve it; let's see whether the candidate can solve that sort of problem.
You're also right that sharing the problem does place you in a position of vulnerability. It's perfectly possible that a candidate will think 'what a bunch of idiots to have gotten themselves in that mess in the first place'. Or worse, when they realise how you solved the problem, 'wow, they think they solved their problems? They're in an even worse spot now'. So I appreciate that you see this as being humble and exposing the candidate to an opportunity to know more than you.
But the reality is, when you solved that problem, you:
1) knew all of the context and constraints, spoken and unspoken
2) had a team of folks around you to bounce ideas off and collaborate on the solution
3) had access to google, stackoverflow, etc.
4) did not have to come up with a solution inside a small interview room, within a few minutes, while being judged by someone who has decision rights over your future employment
5) crucially, had found yourself in a position where you needed to know how to solve this problem. If you hadn't had that need, you would never have acquired that knowledge. So unless the candidate had also faced this exact problem, why would they know how to solve it? You work here, and you didn't...
And while it might be nice to hire someone who can, under interview conditions, jump right to the right solution shortcutting all of those processes - it would obviously fill in a knowledge gap your team demonstrably had - looking for a candidate who has already learned something that came as a hard-won lesson for your team is like a general building up an army to better fight the last war.
You can do better: Use the problem as an example of the sort of thing your team has struggled with, and ask the candidate to give examples of similar problems they have solved in their own career. You are hiring them for their hard-won lessons, and adding them to your own, not looking for someone who happens to have also won the same lessons you already have.
I thought I made it clear in my initial description that I do not expect the candidate to come up with the "right" answer, and that I definitely didn't come up with the right answer in the given timeframe. Perhaps I didn't make it clear in my post that I am very upfront about those things with the candidate.
Another nice aspect is that the "solution" is contained in a 6 line git diff, and consists of standard "intermediate" level Python/Django. After talking through the problem for a few minutes, getting a sense of their instincts for approaching the problem, I give them the solution we came up with and we talk through that. Their ability to understand the solution is equally important (and not hard... it's a standard diff, standard code, nothing tricky).
To address some of your concerns:
1) The bulk of the context is easily communicated in a dozen or so lines of very standard Python/Django code.
2) Absolutely. That's partly why it's a good question. The candidate and I are acting in those roles (as much as possible, given the setting)
3) Candidates can certainly do that if they want (though for the sake of time, I generally shortcut the answer for them)
4) The circumstances under which I did come up with the solution were similarly stressful, and again, I _didn't_ come up with the solution in the timeframe of an interview, I would be shocked if the candidate did, and they know that going into the conversation.
5) Do you think we're hiring someone specifically to solve a problem we solved a couple years ago...? The question is about critical thinking, approaches to debugging/troubleshooting, collaboration, etc. These are all skills that will be very important for the _next_ unforeseen problem we're going to face.
Talking about similar problems (or problem of a similar scale) that they have faced in their career is generally where the conversation heads next (depending on their experience).
For what it's worth, in my experience it's pretty rare to get feedback from candidates (obviously for different reasons), but this particular question has resulted in several cases of someone reaching out later to speak positively about it.
I have given it and will continue to give it. Some people do initially react badly to it. Heck, I've reacted badly to it sometimes. But that doesn't mean that it isn't helpful in the long run. My responsibility isn't just to my employers. It's also to my profession and my society, and to the extent I can help well-meaning people to improve, I'm glad to do it.
if it’s a phone screen i always tell then right at the end how i’m going to score them. in person i don’t because they have other ones to get through.
people here say no feedback because they had a bad experience once. meh. of course you’re going to get pushback some times. that’s part of it, not a thing to avoid at all costs.
> While researching this piece, I spoke to a few labor lawyers and ran some Lexis Nexis searches to see just how often a company’s constructive feedback (i.e. not “durrrr we didn’t hire you because you’re a woman”) to a rejected eng candidate has resulted in litigation.
This is confirmation bias at its finest.
1. "speaking to a few labor lawyers and ran some Lexis Nexis searches" is hardly what I would call conclusive.
2. Companies have been generally instructed not to give feedback in the last few decades, so yes the chances of it happening are now quite low.
3. People don't sue for "they gave me constructive feedback", they use constructive feedback as evidence for some other more legitimate legal reason.
4. Many of these cases get settled (no employer wants to fight them), so you won't find them in public records.
The point isn't that people get sued for providing feedback, it's that the feedback can be used as evidence to build a case.
Look, NO ONE in an org wants to be the person that brought on a lawsuit to the company, so even if orgs don't want to do it, an individual person doesn't want to be that person even if the risk is technically low.
The key word in the title seems to be "engineer". I can't find a specific lawsuit relating to an engineer but there are plenty of lawsuits to be found.
When you do a google search for lawsuits related to hiring discrimination, you are far far more likely to find the cases that became publicized because they have merit. Journalists and other organizations don't tend to write headlines along the lines of "Google got sued by candidate for baseless claim of discrimination, but suit was quickly tossed out". It doesn't mean these lawsuits don't happen.
In fact, it's a huge PITA to defend youself when someone accuses you of discrimination. Imagine an engineer who isn't very bright, but doesn't think that of themselves. So you tell them that they didn't do well, but they disagree. And then they sue on grounds of discrimination. Now, you have to prove that you don't discriminate, which can be pretty hard to do.
It cuts both ways. Imagine you tell someone of a protected class "Hey, you did really well" and they don't get hired. What's worse, what if some non-minority gets hired.
You've just opened yourself to a mess proving that the reason you didn't hire one vs the other was because of experience.
Ain't nobody got time for that. When I was hiring developers, I was conducting dozens of interviews based off of hundreds of applications. My goal is to hire people who can help me solve problems. Running an interview improvement service isn't something I have time for.
No, I'm not. They've invested their time, which is significantly more limited than yours at any company that's at a scale to be hiring, in jumping through your hoops. The least a decent person does is provide them with why it was for nothing.
And if your employer thinks you shouldn't be decent, quit.
You would probably find it easier to hire if your company gained a better reputation with prospective applicants. Having the courteous culture to give feedback is the sort of differentiator that applicants would value.
I think the comments that feedback is hard to write are very surprising. Do you not have to write notes about why you are rejecting or approving a candidate? I have never been in a role where interviews are ended with a simple boolean of whether the candidate passed or not. Every company should be keeping detailed notes on the reasons a candidate did well or poorly, even just to be able to compare if the candidate applies again in the future (or makes a claim that they were treated unfairly). Candidates should be rejected or hired for documented, justifiable reasons.
Additionally, in a medium to large org, it's impossible to evaluate the efficacy of interviewers if there are no notes. If the recruiting team can't look at the output of an interview and say "Huh, X keeps rejecting candidates because they use tabs instead of spaces in their Python code," how is the company supposed to maintain any hiring bar?
The effort to write comments in a way that can be shared externally should not be a huge amount of extra effort. Even if feedback is only shared on request, it should not take a monumental effort to distill some high-level bullet points from interview notes.
There's nothing in the company's interest to give feedback. It takes working time to compile this feedback and give it to the candidate. The candidate isn't going to interview at the company again until probably a year or more - if ever. And the company has a reputation risk if the candidate decides to revel this feedback and allege bias or ineffective interviewing.
The upside as others have mentioned is that good feedback means you may get to hire that person later (maybe not even at the same company, people remember you if you give good feedback, because it is so uncommon)
I’ve seen this and done this as a hiring manager at multiple companies.
If you are honest, clear, and direct, and your interview (key point) does a good job quantifying the candidate’s performance, and their expectations are well set before the interview, there’s little risk of a reputation hit.
I’ve had folks push back or disagree, but it’s pretty rare and I’ve never been worried about someone dragging the company into a spat.
Because it would take time to write up the feedback and it would have to be reviewed by HR to ensure it is not phrased in a way that in violation of local laws. This is a large investment for a candidate that is not going to work for your company and from a business point of view, this time is better spend else where.
Meh. I've been told in a few cases that I'm "too old", which is legally actionable in my country. But suing is time-consuming and rarely productive--I suspect most of us just let it slide.
I agree on both counts. In fact, the examples of constructive feedback the article provides seem fairly worthless. If your advice is that the candidate should try doing some problems on leetcode in order to be successful in your interview process, then that's something you'd ideally mention prior to the interview, as a suggestion on how they should prepare.
I think FAANG do a really good job of preparing you for exactly what kinds of questions to expect as well as resources to study for them. That also generally reduces the need for feedback afterwards.
What you can get out of an interview is a lot of information about the competence and culture of the company. Did the interview feel like a real attempt by good people to hire someone like you into a company you'd like to work for? If not, put them on your ban list and never look back.
I have a handful of times. They we're quite insightful and entertaining, though mostly not helpful since most of time they were commenting on things that just weren't meant to be. "It is possible to commit no mistakes and still lose. That is not a weakness; that is ~life~ interviewing."
Definitely a few times where I raised an eyebrow at obviously-not-HR-approved comments that made it through.
Only benefit these companies got from providing feedback was some word-of-mouth to my friends to interview there.
I used to give feedback. Until one day when I gave feedback to a desperate alcoholic. They showed drunk up in the lobby of the office demanding a 2nd chance & I had to explain what the heck was going on.
Got feedback, "you didn't really know anything about Ruby on Rails". I was a Rails developer at the time, but no questions were asked about Rails during the interview (asked me nothing but JavaScript). I mentioned that to the recruiter, but when a recruiter is calling you to tell you that you didn't get the job, that's not the time to lodge a protest. Since this was an internal recruiter for the company, I thanked him kindly for actually calling me instead of sending an email. That was a solid move in my opinion.
I applied and interviewed for an Angular position a few years ago. I was interviewed by a consultant doing work for the company while they built up their engineering team. He absolutely grilled me about .NET intricacies, including some of my favorites, "Where is the .NET GAC stored on the filesystem?" and "Why is n-tier better than MVC?".
Not surprising, they declined to move forward citing my inexperience working with .NET enterprise architecture. I could have told you them that from beginning and saved everyone a few hours.
.net + angular seems to be popular around here and I've been on the other side of that, knowing .net but rejected for not knowing angular (but plenty of experience with other frameworks).
The only time I've received real feedback was for a ruby job with a small project interview. Apparently I wasn't doing TDD because the tests and fixes were in the same commit. At least that kind of feedback let's you know you've dodged a bullet.
People get rejected for reasons like that everyday. I have been part of several interviews where a co-interviewer would say something at least as stupid as that.
This is the real problem with giving feedback in our industry's interviews. The interviews are usually random circuses.
I can't believe nobody else pointed this out. And the 2-sum algorithm that one of the responses is clearly mentioning is something you would only know if you had seen the problem before, and it isn't something you would ever use unless you were writing some sort of obscure discrete optimization code.
I just went through interviews with several companies, and a few of the rejections I got was that I was either too senior or too junior for what they were looking for! I think they may have just been letting me down politely though. They must have known how much experience I had ahead of time!
Don't be too harsh on your interviewers here. There are many cases where HR gets some vague idea of the open position and then forwards seemingly qualified resumes, which the recipients are then obligated to interview regardless of whether HR understood the need or not.
I think the article generalizes the author's experience with first line interviews of wholly unqualified people to all post-interview feedback, and definitely shouldn't. People who literally can't Fizz Buzz are not going to argue with you about how no they are actually great devs. People who are borderline candidates who didn't quite get there in a final interview on fuzzier attributes (too slow, spaghetti code, etc.) are a lot more likely to take feedback poorly.
I tried giving post-full interview feedback for a while, but I stopped based on low cost/benefit.
> While researching this piece, I spoke to a few labor lawyers and ran some Lexis Nexis searches to see just how often a company’s constructive feedback (i.e. not “durrrr we didn’t hire you because you’re a woman”) to a rejected eng candidate has resulted in litigation.
> Hey, guess what? IT’S ZERO! THIS HAS NEVER HAPPENED. EVER.
> As some of my lawyer contacts pointed out, a lot of cases get settled out of court, and that data is much harder to get.
It seems like this is the best possible methodology (Lexis Nexis + survey of labor lawyers) that one can ask for.
As some of my lawyer contacts pointed out, a lot of cases get settled out of court, and that data is much harder to get.
Anecdotally I've heard of and worked for companies that have been sued due to bias or perceived bias in the interview process. I have not heard of anyone suing or getting sued for feedback on technical interview performance, but in most cases there would be no basis for a candidate to sue.
That said I think the feedback suggestions are really off base unless the person writing the feedback personally knows the candidate. All of the suggestions are in the vein of "you clearly don't know X, you should learn it", which is fine if a candidate is actually completely unfamiliar with a topic. But the more common case, especially with basic CS stuff like Big O notation as used in the example article, is the candidate is familiar and got it wrong due to nerves, being rusty or interview time pressure. The same goes with the suggestion to recommend or buy a book for the candidate. Unless you are completely sure the candidate does not own the book already this is a terrible idea. Imagine how demoralizing buying, or even recommending, the candidate a book that they already owned and studied pre-interview could be.
I'm pro no feedback, but if the candidate absolutely insists I think feedback should be direct and based on the candidates interview performance, not perceived judgement of their skillset or knowledge (even if this is what most employers are trying to get from interviews). For example...
"You reached a working brute-force solution but did not solve the problem optimally. Here is a link on leetcode or hackerrank and a geeks for geeks solution to help you practice the problem."
"You did not come up with complete solutions to 2 out of 5 questions, even if given more time you were on the right track. Leetcode more and come back in 6 months"
But no one is that direct with interview feedback because the same set of leetcode questions that everyone asks are "company trade secrets". The feedback suggestions I gave are also not particularly tactful, but they are more useful given the current state of most tech interview process. I've learned a lot more about becoming a good interviewee from Blind and Hackernews than from any employer feedback. Richard Geldreich also has good insight into how the process works for senior candidates, and some of the political games that happen during the interview process that make any feedback even more of a joke.
If it went to court it is public knowledge by the US constitution. If someone settled out of court that is not easy to find (as the article points out)
You don’t have to file any court documents to inform somebody that you believe they have wronged you, and that you believe you are entitled to compensation for the resulting damages. The civil court system is there to handle things if you can’t work it out among yourselves.
If you haven’t filed any documents, you haven’t sued anyone, either. I find it really hard to believe that every single case of an engineer suing over post-interview feedback has settled out of court, too.
That’s getting a little bit nit-picky over the definition of “sue”. In this context the risk people are talking about is that a candidate will make some sort of legal claim against them. Whether that claim ends up in court really only changes the potential impact of that risk. Especially considering most HR related legal complaints end up with an out of court settlement (even a lot of the frivolous ones), because the cost of litigation (including potential reputations damages) usually outweighs the cost settlement.
There’s no legal definition of “sue”. You can’t go to court and file “suing documents”. If you define “sue” as to make a legal claim against somebody, then it’s immaterial whether they do that via a letter from a lawyer, or by serving them documents to appear in court.
So you think the phrase “I’m worried I’ll get sued” would commonly be understood to mean “I’m worried that formal legal proceedings will be initiated against me, but I’m not at all worried that legal proceedings might be threatened in an attempt to leverage me into a settlement”?
If somebody hired lawyers to negotiate with another party to pay them damages, under threat of a lawsuit, I’d say that would commonly be described as “suing” or “getting sued”.
If an employer says “I don’t provide feedback to candidates for risk of getting sued over it”, they are absolutely referring to the risk associated with providing that candidate said feedback. Which includes both lawsuits and out of court settlements. So regardless of what you think the common usage is, that’s certainly how it’s used in this situation. Otherwise you could just tell said employers “you never have to worry about getting sued, because you can just pay the settlement lol...”.
> So you think the phrase “I’m worried I’ll get sued” would commonly be understood to mean “I’m worried that formal legal proceedings will be initiated against me, but I’m not at all worried that legal proceedings might be threatened in an attempt to leverage me into a settlement”?
Yes, that is what that means in the English language.
Definitely. The fact that there are no known cases at least demonstrates the risk is very low. Much less risky than the kinds of things people do all the time in interviews.
It could just as likely demonstrate that very few companies provide feedback to rejected candidates, or at least that when companies do, that they legally vet the feedback first (which would make you question the value and candidness of it). I have personally never heard of anybody giving or receiving it myself. So I’m not surprised that you would fail to find cases of disputes originating over it.
I give it whenever asked. Last I was interviewed, I got it at about half the places I talked to.
It's a very natural thing for people to ask about. And answering questions is also pretty natural. The notion that it happens approximately never strikes me as something that needs a lot more evidence than your personal experience.
The entire premise of the OP is that candidates are “rarely told why they got the outcome that they did”. The author claims to have a survey supporting this, but they didn’t publish any of those details. I did a bit of googling and found this[0] article citing a report that claims:
* 69.7% of rejected candidates receive no feedback
* Of those that did, 77.3% said the feedback wasn’t useful
That leaves 6.8% of rejected candidates receiving useful feedback, which sounds quite plausible to me. In reality “risk of getting sued” is over simplified. If you want to give feedback to candidates, you can choose between two options. Just do it (and risk getting sued), or have your feedback legally vetted. The number of people receiving useful feedback is so small that it’s entirely plausible that those cases mostly represent the employers who choose to accept such an expense when rejecting candidates. The author makes no attempt to explain why they think such risk aversive behaviour is not the cause of the lack of lawsuits, instead jumping to the conclusion that the aversion is unnecessary.
The other half of the headline claim (regardless of any debate about its technical accuracy) is spurious at best. Any plaintiff would know that the threat of filing a discrimination case is leverage in a settlement negotiation. Without knowing how many settlements of that nature take place, it’s not possible to draw such a conclusion.
Finally, the authors methodology is questionable. A survey (especially one that doesn’t report its sample, or methodology) is not sufficient to draw the conclusion “never”. Putting aside the matter of out of court settlements, you’d need to perform a rather extensive study of case law to draw such a conclusion. Certainly something more than “had a quick look, didn’t find anything”.
I don't understand how you reconcile "It could just as likely demonstrate that very few companies provide feedback to rejected candidates" and "69.7% of rejected candidates receive no feedback".
It doesn't have to be useful feedback for somebody to sue over it. But even if it were, I still don't see how your point makes sense. Let's say there are a million software developers in the US. Let's assume they change jobs every 3 years and do 3 interviews when they do change. That's 68,000 things that people could sue over. Even if one in a thousand actually reaches the lawsuit stage, that's over a thousand lawsuits over the last 20 years.
I agree "never" is too strong, but I think this search puts a plausible upper bound on the rate of lawsuits.
I interviewed recently and didn’t get the job. I thought I did well enough so I wasn’t sure what went wrong. The recruiter told me exact detailed results for each interview including the hire / no hire outcome and why no hire for the no hire ones.
While I was disappointed to not get the job, it really gave me a sense of peace to know what went wrong and what I can do to improve.
I think it's common courtesy to offer some feedback in exchange for the amount of time that these interviews often take. It's the consolation prize that helps you have a better chance of winning the real prize next time.
I've only been turned down once after interviewing so I don't have a lot of data on who does and who does not provide feedback. The time that I was turned down, I spent a day working on a programming assessment and 6 hours on-site interviewing with 4-5 different groups of people. I felt like everything went really well. I left and heard in a week or so that they were "pursuing other candidates". I asked about feedback, they said they don't give it.
Cool, then where's the ~$600 for my time? It's a Fortune 500 company (in the top 50). I'll never interview there again and I'll recommend to everyone that I know to vote with their talent and stay away from big, soulless companies that have forgone basic respect.
I am in a somewhat unique position of interviewing and hiring for two completely different industries. Whether it’s true or not that no engineer has sued for constructive post-interview feedback, it’s unfortunately absolutely not possible to make the same claim for teachers/adjunct faculty.
That said and for both industries, it’s usually pretty clear who’s the litigious type (heck, they oftentimes go out of their way to make sure you know) and who’s not, and I feel like if someone came to interview in earnest and put an honest effort, they at least deserve some return of the gesture. But my time is worth something too, so I only bother if the person is within an order of magnitude of the skill set we are looking for (or clearly has the potential to be). If they can’t write a proper conditional statement, they’re not going to benefit from an explanation of how their code will also run into a pathological edge case in the GC.
It is funny for companies to expect candidates to spend time to give feedback about their hiring process, but to spend an iota of time to give candidates feedback about performance: Risky! Lawsuit! Rant! You've more chance of damage by rogue employees than a candidate that's looking at multiple companies.
I interviewed at a startup here in NYC. It was one of my very first interviews as I interviewed for my first job.
In the final thank you email thread I asked:
Hi [redacted],
I really appreciated the speed of this entire process. I must admit, I'm bummed but understand; I also really do appreciate the feedback, both positive and negative. If you have any specifics on where I was specifically lacking, I would appreciate knowing but if Tempest's policy limits you from going much deeper, I understand that too.
I wish you the best at building your team; You'll find the person you're looking for. :)
Till next time!
Best,
lgregg
So, I then got direct actionable feedback. They’re not long explanations (I.e. on X you should have considered Y) but we’re very specific and super helpful.
I now have told this story many times and pointed people to try that company.
I think startups are more inclined to do this than companies after their Series C.
I write a form letter. If someone asks for feedback, I give it to them. Nothing's ever happened to me, but one of my colleagues once had a guy get very angry and say that he had, in fact, solved the problem and yell at him and then go write this angry Glassdoor review.
I guess I've got to thank this guy for any mild resistance to giving feedback that I have.
The sad answer for why my feedback isn't great, though, is that I can't bring myself to care about someone who is so far outside my Dunbar number. At the point where we've decided not to work with this person, they're just some rando. It's like if someone walked up on the street and asked me for feedback.
I mean, I try anyway, but I know I'm not doing the best job.
That's not necessarily true. If the reason that the person is turned down is that they are massively over-reaching their experience then there is a good chance that they will experience the same rejection elsewhere.
If they want to take that on board, it's up to them and it might well be helpful moving forwards.
I will personally give people feedback if its tangible and reasonably objective but if someone just feels wrong, I think it is easier to say they were not a good fit and leave it at that.
My wife used to work with students to help them get through interviews, and one of her pieces of advice when interviewing is to ask near the end of the interview is if they have any concerns about them as a candidate. It gives the interviewer a chance to address the concerns and gives them a chance to get feedback to make future changes. I’m not sure how well this would work for a technical interview loop, since my wife was working with law students, and the interviews aren’t the same kind of technical, but it might sidestep/short circuit typical lack of feedback technical people complain about.
I witnessed a candidate ask a question along these lines in a group interview and I found it extremely awkward, because there was huge potential for disagreement amongst the interviewers, and also because this group consisted of people who had a stake in the hire as future coworkers for the role, but were not members of the search committee making the final hire decision, we were just providing feedback to the search committee. One person answered no, but at least two of us in the room were no-hire on the candidate. This question and some of the others the candidate asked also struck me as inauthentic, they sounded like they came straight out of an interview skills book. So I would be cautious with implementing this advice... at minimum, reserve it for 1:1 interview contexts.
Don't ever interview at an academic library, then. It seems to be the only way we do interviews at mine, and I gather it's not an unusual practice in this field.
That said, I have participated in group interviews when I still worked in the tech industry, and I have found I prefer it to 1:1 interviews. As an interviewer, it feels more conducive to behavioral interviewing, and more people get to weigh in on the hire. As an interviewee, I found it makes the interview more conversational and sets me more at ease. I wish it was more common.
Real, genuine, useful feedback takes time and effort to think about, summarize, and deliver in the right way. It takes thinking about what you observed about the person, when you observed it, and what you would like them to change to improve. Think about how long that takes to do correctly.
We take the time and effort to do this for people we care about, and not those we're never going to see again (unless you're just letting off steam yelling at someone in traffic). That's why at work, if someone gives you feedback, you should value it as they see you as someone worth correcting / giving feedback to. If you're getting no feedback, you might start to worry that you're not someone worth taking the time to give feedback to.
That's why companies and people don't bother giving feedback. Until you turn into someone they care about, what benefit would there be to them to spend resources to do this? And with uncertain reaction from the person (as pointed out by many stories here)?
So that's why, if you really want meaningful feedback it's a challenge to find -- you have to pay someone to do it (which is hard, because casual acquaintances don't know your deeper job-related behavior or performance), someone close to you (which is hard, because it's not easy to give friends honesty), or someone who has the time and interest to do it (rare to find). Or you have to be in a company where this is part of the culture (rare).
I WISH I even got those... durring my last job hunt most of the time the company just goes dark and stops contacting me or doesn't respond.
I say this and other recruiers tell me they're shocked and yet getting ghosted seemed to be the rule rather than exception durring that time.
Maybe I'm such a bad canidae that they don't even want to bother with a form letter.
Strangely one company who ghosted me contacted me recently about some opportunities. I told them I wasn't interested and about being ghosted previously.
Don't take it personally. As someone who's hired a lot of people, the unfortunate times when I "ghosted" people were mostly due to internal company problems, not candidate problems.
Anecdotally, these were always situations when I wanted to pass someone but received weird resistance from other stakeholders and it ended up being a situation of stalemate. So, you could have faced similar things.
At a very large company, I was involved in hiring something like programmers for a particular niche department. Over years we developed a good set of battle-tested questions, and had a clear process for evaluating candidates.
But all of this feedback was just an input for management and HR. Regardless of how much we liked a candidate, only HR was trusted to communicate and negotiate with them.
We later found out that candidates were routinely ghosted if the company had chosen not to hire them. We raised a stink about this, but ain't nobody got time to fight that fight.
Anyway, the TLDR: especially with big organizations, never attribute to malice what can be explained by incompetence.
My experience is similar. I'm currently job hunting again, and this week I spent hours reading through this month's "Who's Hiring" post, making my best effort to write cover letters addressing what each company needs and how my skills and experience can assist them.
I got 2 responses. Both were impressed by my resume so I don't believe that's the issue.
Its really hard not to take it personal when it's such a common experience. If someone sends you an email, you reply. It's basic decency.
I've found that unless you use some of the big-name e-mail providers, there's a high chance your letter wasn't even seen.
Companies tend to use some providers e-mail solutions and some of them are way too trigger-happy for spam.
It's gotten so bad, that before applying, I look at their MX records and if it's gmail, I won't even bother unless i really-really want the job. In that case I follow up with a phone-call.
No. most job offers are liberally padded to seek a massively overqualified candidate in the unrealistic hope of attaining one that hasnt gone to work for a much nicer competitor, or in order to give the interviewer and HR ample reasons to reject an applicant that arent pertanent to their manner or person (which would get them sued.) the latter is also effective in ensuring jobs that require an outside posting will always favor an inside candidate, or a nepotist's ringer.
Accurate time-sensitive communication is very hard in my experience. I've heard thru the grapevine on a few interviews over the years, that often the interviewer gets the wrong impression on some subject. Due to the fact there are say ten+ candidates for a position, one wrong impression is often enough to torpedo your chances.
For example, I'm good at what I do, but not the kind of person to brag about it (hah). In fact I instinctively tend to downplay things I've done as no big deal. In some sense true, but in an interview it's enough to lose the offer. Trying to correct this but it is not easy.
Once I was referred to a position by a colleague, but didn't get it. Weeks later I heard, "not enough db experience." What? While I don't write SQL every day, I've used dbs consistently over decades, know the theories, etc. Sure, I might need to hit the manual for a week to get up to speed, but that is incredibly common and no hurdle whatsoever.
So, post-interview feedback is good, but asking questions/feedback during the interview itself would have been a lot better. I wonder if (when there are so many candidates), interviewers don't want to revisit past assumptions and prefer to just get on to "the next one."
Bizarre. I had a similar experience. I was told "I didn't seem comfortable in language X". I'd been writing it for ~10 years, and have written a handful of native extensions, with lots of open source examples. It was strange and very, very upsetting. Triplebyte gave me this feedback. I won't be using their platform again (or any interviewing platform), but unfortunately, I'm sure they have sold my data and told everyone I suck. I had a bad day.
There's no real affordance for engineers to sue or censure the process.
I once did some interviewing with a broken wrist that dragged on me two ways:
1) I basically couldn't speed-code at all. Typing was inhibited for sure, but the friction point threw off my whole thought process.
2) Whiteboard coding was easier, but due to swelling, I usually had to have my arm atop my head or hold it in weird positions.
So by law companies are supposed to provide an accommodation, and what I often asked for was to minimize or skip keyboard-based coding since the injury clearly prejudiced my completion time.
Did companies oblige? A couple did, but several, including one who you could say was doing a "hiring spree" did not. At said company, I was shoved a laptop to code upon, which I told them I couldn't use without hurting my wrist, but the recruiter was like "IDK." After that interviewer I had a lot of swelling and the next guy was outright mean and made fun of me for having to raise my hand. At the end of that interview, I asked him "what are you looking for in candidates?" and he said "people who can complete their jobs on time" and gestured towards my arm.
So, what could one do here, file an EEOC complaint? Write bad reviews? EEOC complaints get basically zero consideration without tons of documented evidence, and if you lose your initial complaint then lawyers usually will decline to take up your case. I did write the recruiters and agency who connected me with this company and guess what? Nothing happened; the agency continues to make money feeding this company candidates.
So to be clear, candidates have in reality zero leverage individually. Even in egregious cases like these.
Yeesh. Sorry you had to experience anything remotely close to that.
The industry is shifting AFAICT. Callousness seems to be in and empathy seems to be out. Unfortunately though I think the same thing happened to pretty much every industry that came before software as well.
Hope you found something good so that you don't have to waste time with shitty people anymore.
I bet ones view on this really depends on personal experiences both as an interviewee and an interviewer.
I work for a small start-up and recently went through hiring another developer to our team. I know how awful it is as a candidate to get little or no feedback of what is happening, so my goal was for our process to be more humane.
At first I answered all rejected submissions with a reason why that happened. There was rarely just one, but I would pick those were they clearly did not meet one of few inflexible requirements.
Because of a huge volume applications, vast majority of which poorly matching our requirements, that was almost all I was doing for the first few days, having difficulties finding time to move successful ones further, let alone do any other kind of work. I also quickly learned that many applicants see these feedbacks as an invitation to argue with often the only way to end it is by just not responding any longer.
So, I stopped doing this and resigned myself to sending generic rejection promptly unless I was asked for feedback explicitly. In my opinion candidates still quickly learn where they are at and have opportunity to learn more which is better than with most companies.
Few asked and I send feedback to all of them, but since I am not paid to persuade candidates that my decision is the right one for my company, these feedbacks admittedly were not as detailed as they would have been without that previous experience.
I am not happy with how the whole thing transpired, but I am comfortable with my decisions even though many here are telling "me" how I failed as a human being because I did not spend more of my off-clock time providing detailed feedback to people who mostly seemed to have keyword match our job ad and skipped reading it.
I wonder if a good middle ground between the two opinions expressed here would be to have an interview rubric with clear descriptions of each metric. So that receiving the feedback is more like getting results of a test back. Less prone to individual nuances of specific wording and still gives some directional guidance to the candidate for improvement.
A lot of the time hiring decisions are more or less arbitrary. It makes me sad how unsystematic the approach to hiring is, but it often comes down to one person that you talk to liking you enough after an hour of talking that they're willing to go to bat for you. The fact is there often is not any good feedback to give.
I was once asked in a web development interview how to asynchronously fetch a resource. I answered something to the effect of "you just add a `true` parameter in the xhr.open() call somewhere, probably the second or third parameter" without being too specific about it since I did not have it memorized.
The interviewer did not accept this response and after every rebuttal of mine he just responded with "no" each time without elaboration or clarification. He eventually gave up trying to coax me toward his accepted answer, apparently thinking he had outwitted me, and revealed to me that the correct answer he was looking for was to use "dollar q". I asked for a clarification on what he meant by "dollar q" but he was unable to clarify.
It was only after the interview was over that I realized he was referencing angularjs and its built-in "$q" service that handles asynchronous fetching. I had not used angularjs before this interview (still haven't) and nowhere during the interview was angularjs mentioned by name. The question was also in no way leading to an answer assuming usage of angularjs either.
I'm left to conclude that he thought angularjs was synonymous with web development and that "dollar q" was the one and only way to fetch resources asynchronously.
TL;DR: how confident are we in these interviewer evaluation scores? Do we always presume superior competency of interviewers over interviewees?
Ha. As far as I know, in their first HR screen, Google still asks a question that requires a wrong answer. The answer depends on the cache characteristics of the CPU and (shock) these have changed over the years.
Getting a 402 from an embedded https://plot.ly graph right at the top of the article. Given that article about 402 I read here a few days ago, it's cool to see 402 in the wild for the first time.
At my current company we do a full Pull Request review of the take-home assignment. After the interview, the review comments are shared with the candidate. We're based in Europe, so that might make a difference in terms of expectations around litigation.
Being a full-time musician is a job too, with the equivalent of interviewing. If someone prefers software, let them.
And you can't quit your job to live minimally if you have zero or less net worth. Expenses only go so low.
Saying it's "easy to be free" is massively condescending to every person that struggles to get over the poverty line. Not everyone can just "get" gigs whenever they want.
Buddy I have has been homeless, in jail, never finished school, etc, etc, etc and this year he hopes to break the 7 figure income mark after more than a decade of mid-six figure income.
To be fair to Google, I once got some decent feedback from one of the recruiters. I did fairly well, and made it through to the hiring committee. The recruiter told me that although I did well, my scores weren't home runs and that he's seen people with my scores have about a 50/50 chance of getting in. If I had other offers on the table, he suggested I take those instead and maybe reconsider Google in the future. I took that to heart and took the other job.
Of course, the next time I interviewed at Google a few years later, I absolutely bombed it so badly, I talked to the recruiter midway and told them I wanted to end things early and left after 3 interviews.
Sounds like managers are risk averse because they'll get the blame if something goes wrong but not the credit if it goes right.
But I don't think the risk has to be so big. By the end of an interview process, candidates I talk to already know where I think they should improve because that's part of the back and forth discussion in the interview itself. I also like to actually get to know the person a little bit which helps me judge how they'll respond. I'm also not afraid to make an offer on the low side instead of rejecting outright, etc.
I sometimes give feedback, but only if requested and, to be honest, only if the feedback request actually makes it through HR and to me.
What feels like a lifetime ago I went for an interview at Monzo, I think it'd recently renamed from Mondo. I thoroughly enjoyed the process - a kind yet thorough and revealing interview format. I didn't get the job - but it's not an exaggeration to say their feedback and the process changed my career. If somebody from there spots this; thanks :) (and I'm still sad I didn't get to work with you!)
It really seems like there needs to be a widely adopted social protocol for engineers to basically say "Hey, if you're expecting this much from me, I expect a reciprocal amount from you at stages 1,2,3,4 etc.."
I interviewed last year at a company that had me do some homework first, then a first long interview where they went through that work—refreshing because almost no companies do—which went well, then a 2nd and 3rd interview. Felt pretty locked in, didn't get it. Ton of time wasted no doubt, but at least it felt balanced.
At a former job we ended technical interviews with the question: "So, how do you think you did?". It allowed candidates to raise points and what they'd want to do different. Some candidates used the chance to ask for feedback at which point I could choose to agree with the candidate or elaborate on solutions.
It avoids some of the defensive stances candidates may take when given feedback (because they go first) although it doesn't tell a candidate how they did badly if they weren't already slightly aware.
The article and many of these comments assume that hiring decisions are made entirely based on talent. But hiring decisions are equally if not more influenced on the vague and often problematic "culture-fit".
If the company is being completely honest, half the time, the feedback would sound like "You're a talented engineer but you're not a great culture fit", which can open the company up to litigation. Especially if the culture-fit reasons are specifically based on demographics.
Giving feedback is bad for the companies initially as a lot of biases are exposed when the feedback is reviewed. As in some engineer thinks something a candidate doesnt know makes him dumb. Just because the engineer has worked a lot on that problem and the candidate never saw it. In the longer term, I think its good as even constructing the feedback makes you look at your biases in an objective way and evaluate candidates better. I wish every company I interviewed for would give me feedback.
When people ask me how they did, I try to frame it more general, like instead of here's what you should do better, here's what I would do if I were interviewing that would allow me to be more impactful. I've always got good responses. And I've been told I'm in the clear legally.
The industry is too small to treat people like you will never run into them again. There are many reasons why someone might not be right for the role today, but will be a rockstar tomorrow.
> No engineer has ever sued a company because of constructive post-interview feedback. So why don’t employers do it?
Because there's only risk and zero benefit in it for the employer.
Note: the risk isn't mythical 'lawsuits', the risk is in bad PR that disgruntled rejected candidates generate. Even if one in 10 get offended and start spreading shit-talk on the Internet, that 10% is still too much.
Without a post-interview explanation, there is no ammunition for internet discussion.
The only company I've ever receive constructive post-interview feedback from was a company in California that ships out patterns and materials for people to make their own clothes. They said my code wasn't something they could drop into their product. Of course, it wasn't! I intentionally wrote it so they couldn't use my interview for free labor. I've worked at two companies that did that and I find it highly unethical.
Why can't companies provide feedback iff the candidate agrees that the feedback is subject to NDA? Interview candidates already sign NDAs for the coding questions asked.
Granted those NDAs are always ignored (based on coding interview sites) but the NDA would at least provide the "protection" that these companies want. Then the companies benefit from having candidates actually improving and potentially coming back hirable.
Companies who don't give feedback because they believe there is no upside are building a team that lacks empathy, with all that implies regarding technical debt and final product. If the company is successful, it is despite the team, not because of it. This is tantamount to a mathematical certainty.
I will always reject an offer from any company that I know does not give feedback to their rejected candidates, and have done.
I've been on both sides, interviewer and interviewee. I always give feedback if asked, and endeavor to be scrupulously fair.
My take is that it's all pretty arbitrary, at the end of the day. Most interviewers do not 1) spend time putting the candidate at ease, 2) ask the same interview questions across candidates for the same position, 3) really introspect about whether they are doing it well.
Interviews are a notoriously terrible way to get a good grasp of how someone will do on the job, and most interviewers in my experience do not recognize that. The more an interviewer is convinced they are good at it, the more they really just suffer from Dunning-Kruger. No interviewer ever feels like they have failed when they reject a candidate, although it's very well possible that they did, and badly.
If the interview task is objective (come up with an algorithm for this problem and derive its big-O complexity), then feedback is less required, because the candidate knows exactly what skills they should improve. Unfortunately, many people today think objective interview tasks are "brain teasers", "toy problems", "instead ask me how I can add value to business" and so on.
Interestingly the only time I've had any meaningful feedback is when I've gone thru an agency and the feedback was given to me post interview by the recruiter.
The feedback was fair and accurate and extremely unlikely to be made up by the recruiter given the content.
I suppose that at once removed they could be more willing to provide feedback as they can always claim that it was the recruiter
they’re rarely told why they got the outcome that they did.
Well then it makes sense that no one has been sued or otherwise retaliated against for something that rarely happens.
My company once gave honest feedback to a candidate that kept asking for it - he used glassdoor to detail everything that was wrong with our evaluation of him and the entire interview process.
Using a throwaway for obvious reasons. I just got rejected by Netlify after a coding assignment, but the last thing in the rejection email was an offer to set up a call to discuss feedback on the assignment and interviews. Other startups, take note. (The rest of their hiring process was equally impressive--no hard feelings at all.)
One company in particular, gave me fairly useful feedback. For a design question, I was going all over the place not taking hints from the interviewer. I did not realize that I was trying to cram everything into one hour. Anyways, I will consider them in the future. Usually other companies do not bother.
Remember to thank your Lawmaker friends as to why we can't do this.
In other parts of life, all of us would gladly do this to benefit a person when it doesn't directly benefit us. But threatened with civil fines and ultimately jail time, most of us choose the sensible 'ghost em' route.
No, not in dating, the term "ghosting" came from dating. Friendships, too, doesn't come with honest actionable feedback, you know if you get invited back you "passed," but if you didn't get invited back there's no feedback mechanism.
People aren't afraid of of "lawsuits" so much (that's a red herring).
Personally I'd rather not know, unless I do. Process of receiving feedback can be awful. In a hiring role (done that too) I'd rather save people the embarrassment of a dressing-down. I wouldn't want for them to bear more resentment towards the company than necessary.
If you equate constructive feedback with a dressing down, I can only feel sad for you.
"We noticed you used an unsorted list, where a dictionary/map would've been a natural fit. Based on this we don't feel confident that you have the mastery of algorithms that we require for this job. We suggest you take time to brush up on your algorithms by reading the first volume of The Art of Computer Programming by Donald Knuth or the first three chapters of Algoritms by Robert Sedgewick. We believe this will also help you in your future career at other companies. We wish you good luck in you job search."
If someone gets mad by that, that says a lot about their character and how much you never want to have them in your team. Also other people will either know their character and discount their opinion or will not, which means they will self-select themselves out of your candidate pool, which I see as a positive.
I had the most amusing realization at work the other day: most software engineers “hate” how their coworkers write software. I took it a step further and realized I hate software I wrote a year ago. Giving objective feedback should be a cherished skill.
This reminds of restaurants throwing out food because the risk of giving it away is too great, but as far as I know no one has ever gotten in trouble because of it.
I wonder if one has ever been successful in using the data access and protection laws (such as GDPR) to request access to his file and interview feedback.
I’m not sure if it’s ever been tested, but I’ve been told that the company I work for does require notes and such to be recorded in a way to make this possible and the company lawyers have said that he’s a candidate can do GDPR data requests to get their interview data and that it must be honoured. So it’s my understanding, at least if it’s a company in the EU, that they just legally comply.
I think I've taken around 50 interviews in the last year or so. I always end the interview with "do you have any questions for me?" No one asks what they could have done better, but if they did I'd tell them.
I would have worded this as "given around 50 interviews" because "taken" sounds (to my ears) like you were the candidate, which I don't think is the case here.
I would not ask an interviewer what I could have done better before I knew the outcome, because I'd prefer to be a confident candidate not second-guessing myself. But I'd like to know after the decision was made not to proceed. (or even if the decision was made to hire me!)
Glassdoor is absolutely filled to the brim with reviews clearly written by HR, marketing firms or by current employees who were told to write reviews.
If a review's only advice to management are: "Continue doing what you're doing!", "keep up the good work!" or "make sure our awesome culture isn't diluted as we grow!", then they're fake.
If a review's only cons are reframing the cons left my legitimate reviewers as sour grapes by someone who can't handle fast-paced environments, startups, or responsibilities that aren't clearly defined, they're fake.
But the biggest red flag is positive reviews left in succession over the period of a few days to a month.
Much like Amazon reviews, it seems that the only reviews you can glean worthwhile information from are the bad reviews.
In 2014, Glassdoor was a goldmine and it saved me from several very toxic companies. Once companies began to catch on, it became a cesspool of corporate cheerleaders softballing points to make their reviews sound convincing. Things like, "Sure, work/life balance could use some tweaking but, overall, it's not too bad". It's pretty easy to scope out the fake reviews.
I left a poor review for an employer only one time in the 10 years or so I've been on Glassdoor (there were only a couple other reviews). And almost immediately after, there were about 20 or 30 5 star reviews posted in a short amount of time. The company only had about that many employees, which proves that the CEO (or someone at the top) either told everyone to write a good review, or some of them were fake, both clearly 'incentivized' by any sane definition of the term. I reported this to Glassdoor and they refused to do anything about it, and I even had the report escalated and re-reviewed, without any effect.
It’s also filled with reviews from disgruntled former employees who write massively exaggerated reviews, or complete works of fiction. I also have no reason to believe that people don’t write poor reviews for their competitors. It’s an anonymous review system that has many incentives in place that competing with “write thoughtful, honest reviews for you employers” along with all the typical review system biases (like a strong selection bias).
It also doesn’t mean that it is. How many times have you read a review on Glassdoor that said “great company, but I was fired for being a completely toxic bully”? The lack of credibility in the reviews cuts both ways.
Maybe. I suspect there might be some value hidden in the aggregate data on Glassdoor (but that really is just as susceptible to the same type of manipulation). The number 5 may also be significant or insignificant depending entirely upon the size of the organisation.
But really, if your reasoning was robust, it would work in both directions. I don’t think you’d agree with the statement “if five people say that their work environment is great, there may be something to it”. The system can be (and is) gamed in both directions, and there are people who have incentives to do so in either direction, for both “justified” and “unjustified” reasons. Any reason you come up with to be skeptical of a good review also applies to a bad one.
Steer clear of what? Almost all companies have this “no feedback” policy in some form. I’ve gotten rejection calls (a sadistic practice, if you’re not going to offer feedback IMO), where I’ve explicitly asked for feedback and literally been told “no.” If I limited myself to companies that provide feedback, I’m pretty sure I wouldn’t have a career right now.
> rejection calls (a sadistic practice, if you’re not going to offer feedback IMO)
Perhaps you're referring to other channels of communication, but I'd much rather have a rejection call than no contact at all. Corporate ghosting is much more sadistic.
Ouch. Talk about adding insult to injury (or, at least, mild inconvenience). At least in my case, they scheduled the call, which avoids being woken up or otherwise interrupted, but prolongs the agony a little.
People are not very good at giving critical feedback. People are not very good at receiving critical feedback. In the middle you have lawyers who must protect the company from liability.
In the UK I've heard it said you can make a subject access request (SAR) for any information a company holds on you. This would include interview notes for example.
I assume something similar applies in the rest of europe due to GDPR?
I think you could tell them a little something about why you decided not to make an offer. But this is riddled with problems, sadly. For example, candidates often take it as an invitation to a debate. You can agree with the feedback or not, but you're not going to talk your way into an offer.
In sum, it's all downside with little upside. The lawsuit thing is a red herring, imo.
> While researching this piece, I spoke to a few labor lawyers and ran some Lexis Nexis searches to see just how often a company’s constructive feedback (i.e. not “durrrr we didn’t hire you because you’re a woman”) to a rejected eng candidate has resulted in litigation.
It's not "durrrr" and this is why feedback is not given, this immaturity is why people get sued.
Many non obvious statements can have implications about illegal discrimination.
It is probably very rare, this is a quite valid point people get wrong. But benefits are also probably rare, so it equals out.
About ~10 years ago, before the Facebook IPO, Facebook was famous for recruiting alumni from other AANG companies, who re-did their old projects at Facebook. For a few years, everyone from industry who interviewed at Facebook got a vibe of "wow, this is like my old company but you fixed the crap that annoyed me!"
One of those things they fixed was that they gave feedback on interviews.
The tale of the tape says that this strategy worked very well for Facebook hiring and business growth.
Early in my life I would get asked questions about this sort of thing when applying for jobs: "Dave wants to steal from the cash register. Should you encourage him?"
It mystifies me that anyone would give the bad answers to these questions, especially those who steal lab equipment.
Everyone thinks they are the good guys. I recently interviewed with a properly progressive woman, who went on to tell me that she doesn't have a good track record interacting with old dudes, and I have no reason to doubt her good faith.
Why would you mention her major instead of mentioning that other candidates had more relevant skills? It seems to me that you're grinding an axe for that women's study degree instead of giving her useful feedback.
you would be wrong. it does not sound like her women’s study major was any problem. but her lack of technical skills made would not prepare her for the job. this is exactly the kind of feedback that can screw you over
Because America is a very litigious society and there will always be that ...one. Corporate protectionism will dictate to simply not say anything than take the risk.
This is caused simply and merely by the absurd infringement of freedom of association that prevails nowadays.
The fact is, you're never ever ever going to stop racists and sexists from not hiring people outside their race and sex because of your laws. All that will happen is precisely this: absurd levels of secrecy, which hurt those weakest in society: those just trying to get a job so they can afford to eat and not sleep under a bridge.
Even if they literally say "we don't want to hire you because you're white, and we want to hire an asian", at least you now know it wasn't because of your skills, so you don't lose confidence, and instead know it was just because they were racist assholes. Under the current regime, they're still racist assholes, but you'll never know.
What we need is a bonfire of 90% of the statutes on the books, which will never happen, so this treatment of candidates will continue, while our respective countries wait for others to overtake them.
What we need is a massive renovation, resurgence, and uptake of unions, across the board, not only to remove these matters from statutes and move them into contracts (forced fair by force of numbers), but to enforce an organic defence of workers, everything from a war against noncompetes and similar oppression, through to clauses like "you'll tell our members specifically why you rejected them on interviews, or else you'll really really regret it...".
Alright, but at the same time, HN is letting through fundamentally political articles, such as the "How ‘big law’ makes big money" one, which isn't even tangentially related to tech.
When HN does so, and concurrently says that's not OK material because it baits flames, how are we supposed to know the limits of our public participation as commenters, with those conflicting messages?
If an article is technical, people will tend to respond technically; if the article is political (in this case, at its root: industrial relations), people will tend to respond politically.
Inevitably, there is political overlap in many of the articles that get posted here—some more, some less. But when there's more, it's particularly important that people stay within the spirit of the site and avoid posting in the flamewar style. Note this rule: "Comments should get more thoughtful and substantive, not less, as a topic gets more divisive."
You're right that it's a tricky situation to navigate when some political topics are allowed, and yet we're still trying to have discussion that doesn't degenerate. I've written a lot in the past about how we approach this. Maybe take a look? If you have questions that I haven't already answered in there somewhere, I'd like to know what they are.
I once put in about 8 hours on a take home project at a company (well known in these parts) that I had tremendous respect for, only to get an email back with "sorry, not up to par. We need someone with more experience".
I asked them for a couple quick points on what I could have done better. I had zero intention of fighting them on it. No response
The whole experience made me feel very ill, especially after putting in as much effort as I did, and obviously I feel quite differently about that company now.
On the other hand, 5 years ago when looking for my first tech job, a virtually unknown startup that rejected me after a take home project and day long onsite gave me very thorough and specific feedback, encouragement, and even a bunch of reading suggestions. Even though I didn't get hired, I have very fond memories of that interview and reached out to them when I did land my first job to thank them again.
Did it have any tangible implications for their bottom line to give me that feedback? Not really. But they treated me with compassion rather than like garbage. I have never named and shamed the first company and never intend to, but I personally think there's more risk involved in habitually treating people like garbage than like human beings.