As a non-CS graduate looking for my first full-time job as a Junior Developer I can only ask one thing of prospective employers. Please give clear feedback that will help give direction to the candidate if you reject them.
I have done a number of code challenges and while I don't mind doing the challenges (I look at them as training) and I can always create a working solution there is nothing worse than receiving a simple 'we won't be continuing with your application' email with no other feedback. If you are going to take up a candidates time with a code challenge the least you can do is help the candidate become a better developer by providing constructive feedback. You owe it to the applicant and also to the community at large.
I have had about a 50/50 experience in this regard. Of all the companies that reject me with good feedback I am left feeling content that I have improved as a candidate throughout the process. The others who don't provide feedback leave me feeling like I've wasted some time that would be better spent reading about best practices and techniques or developing my own software.
Some companies are loath to exposing themselves to any kind of litigation. And to some extent, it's understandable. Some people can feel deserving and that someone turned them down because something about them personally rather than their direct abilities. And there is truth to both sides. Some employers discriminate on irrelevant things, and some employees have bad attitudes (personalities) or are simply incompetent.
Still, as an individual, I am resistant to the current tend where employers look for "someone we'd like to hang out with". I have a life, I don't share the same interests of a recent grad. When I was a recent grad I didn't like the collegiate attitude anyway. So, it's off-putting, but it's a big filter nowadays. It's let's have lunch with the team so you can get to know them....
Others have replied and given you the legal and logistical reasons why non-employers will not tell you why you were rejected, but there's another one: it's not their job.
If I run a web development studio, it is not my job to assist in the personal development of people I've decided (for whatever reason) are not a good fit. Yes, logistically that's a pain in the ass if I send 1 offer letter and 12 explanations about various issues ranging from employment history to experience to skill set to education to interview skills to "I got the distinct impression you would rob us blind the first time you were in the office alone." But most importantly (for me as someone who assists but does not make final determination on new hires), my job is to find the best candidate for a given position and it's only a hindrance to spend time with those who are not.
I'm going to play devil's advocate here. Likewise, it is not the job of your prospective clients (the scenario in which you run a web shop) to give you feedback over why they chose a competitor over you. Perhaps you don't even know why. Wouldn't it be great though to have constructive feedback that would help you win future pitches?
Agree 100%, however when is the last time you saw a business owner say something about how much they wished the candidates who passed would just tell them why and explain what they could have done to get them, etc?
It seems like a fairly common complaint from rejected candidates that they want the company to continue investing in them after a decision has been made not to move forward. And in the rare instances when I've offered this advice or help after one or more requests, it has been invariably met with an attitude either that I am wrong/stupid for coming to such a conclusion (e.g. not enough education, or no experience with something we want someone to have experience in) or a flat out request to give them another shot.
>in the rare instances when I've offered this advice or help after one or more requests, it has been invariably met with an attitude either that I am wrong/stupid for coming to such a conclusion... or a flat out request to give them another shot.
Yeah, I've hit this and it really is annoying to deal with. I have one candidate we rejected 4 or 5 years ago because his resume was questionable, and once a year he still emails me asking for a position (and I'm not a hiring manager!).
I have had it go the other way, too, though. I had a candidate who didn't meet some criteria. He asked why, and I told him. A year later he had done a bunch of work to improve himself and we hired him.
So it can work both ways. But I definitely agree that the more common case is for the candidate to rationalize away why the company is wrong.
And I think companies that got feedback from candidates would do the same thing: "He said we didn't offer a big enough salary, but our pay is exactly the median of other companies around here. He's just a prima donna!"
> Please give clear feedback that will help give direction to the candidate if you reject them.
Beyond the logistics of communicating to dozens of candidates for a single position, legally speaking, telling people why you rejected them gives you ammunition in court to say the process was discriminatory, and a violation of one of the many civil rights act. Simply saying 'we decided to go with a different candidate' gives you a courteous brush off, without giving you reasonable cause to go fishing with during discovery.
The purpose of an interview is not to get better at interviewing. The place for this is mock interviews. Honest feedback is expected to be given without the risk of employment discrimination lawsuits. I figure to the extent that constructive feedback is owed, mock interviewing is the way to provide it.
This is a big problem for the industry. A developer essentially takes exams, under stressful conditions, every time he or she applies for a new job. However, the developer rarely gets any feedback whatsoever, and often gets a one-line brush off.
I completely understand why. Two very good reasons have been identified in the comments here: 1) it opens the company to litigation, and 2) the company's goal isn't to provide feedback, it's to find good candidates.
Here's the problem, though - none of this makes things any better for a candidate who spent weeks or even months studying, took hours of in person exams, and is brushed off with a one line "not a match at this time". And after a few of these experiences, the candidate starts to give up on trying. Tech interview exams may deter people from interviewing, and may play a role in why developers with potential give up on the field entirely.
High tech employers almost universally claim that there is a severe shortage of candidates, and yet here we have a process that may be deterring developers from interviewing or even remaining in the field. There are solutions out there, but we're not going to get to them by saying "oh well, it would open us up to litigation, and that's not my job anyway". Well, true, you don't owe anyone a job or feedback, but the world sure doesn't owe high tech employers all the developers they want to hire either.
So far, I really don't get the sense that the high tech industry has come to terms with the depth of its own role in why they are having so much trouble hiring.
I typically give smaller challenges and review with candidate in real time via google docs. There's no type ahead but the challenges are more about understanding the approach to solving rather than if it compiles. One can argue the value of arbitrary tasks, but I've found that it certainly gives me good feedback to how someone writes software from self refactoring, following a perceived coding standard, and if they attempt to test there code. Just my take
I do think that if a company is going to have an arduous interview process they should try to make it positive one if only for their own benefit because people talk.
Having reviewed code samples I can say that it can be exhausting trying to write constructive feedback to the person who wrote it. It is much easier to give a more dispassionate summary to the recruiter than one that would be appropriate to give to the person who wrote the code.
The downsides of doing this as an interviewer should be easy: if the person disagrees with your comments/ideas, then what? Do you spend the 15-45 minutes crafting the perfect reply email ("I have to defend myself!"), or does the candidate get upset and email your boss with a nasty message like "That guy Scott - he's loony. Know nothing jerk. His comments were wrong - see this MSFT article from 2004 that shows why he is wrong, wrong, wrong!"?
I have always replied with an honestly grateful thank you mail. It's a shame a few insufferable idiots would have the power to change the behaviour of well meaning persons.
I'm thinking of taking this approach in future. I might not be the perfect dev yet but I have taught myself to build reasonably complex apps in 18 months and already have a track record of developing tech solutions to business problems. As a Junior dev I expect to be taught best practices and to be continually learning on a very steep curve for the foreseeable future. The fact that I have gotten this far on my own steam should say enough about who I am. The interview is useful purely from a cultural fit perspective.
Only do a code challenge if it takes a <=4 hrs. If it takes longer than that, then make sure it's a substitute for the onsite whiteboard portion. If they're using a code challenge, in addition to the whiteboard interview, and as a first pass filter, walk away.
Neither party owes the other anything, but giving some sort of feedback, besides being polite, is a simple and useful positive contribution the other part's life, namely because the candidate has invested time on the process.
Much for the same reason, competent HR professionals appreciate if you give them a reason for leaving a recruitment process or a job, it helps them identify areas of improvement.
The reason I believe the community benefits from feedback is because, and I say this from the perspective of a Junior, it improves the overall quality of the entry level talent pool. Done on a consistent basis across all firms it will have a long lasting effect in speeding up the development of Juniors into competent and productive developers. This will benefit the community as a whole.
When you leave an interview do you have at least a rough idea of what parts didn't go well? Those are the areas you need to improve. Could be technical, could be something else.
I interviewed for a jr dev position and was not asked one technical question. I am sure that the reason why I didn't get an offer was because I did not wear socks. Seriously. I made sure I always wore socks after that.
I have done a number of code challenges and while I don't mind doing the challenges (I look at them as training) and I can always create a working solution there is nothing worse than receiving a simple 'we won't be continuing with your application' email with no other feedback. If you are going to take up a candidates time with a code challenge the least you can do is help the candidate become a better developer by providing constructive feedback. You owe it to the applicant and also to the community at large.
I have had about a 50/50 experience in this regard. Of all the companies that reject me with good feedback I am left feeling content that I have improved as a candidate throughout the process. The others who don't provide feedback leave me feeling like I've wasted some time that would be better spent reading about best practices and techniques or developing my own software.