Ask HN: Am I right to be angry about the interview process?
I was given seven problems to submit via an online coding service called remoteinterview.io. Three problems included HackerRank style challenges. I was able to solve everything within an hour (though, it take me closer to two hours to code the edge cases for the third one), and the time limit was eight hours. Everything was green; all tests cases were solved, minus any hidden cases I didn't know about. Next day, auto rejection.
How common is this? It's not my first time dealing with this. I find the interview process such bull crap, at the moment.
Note: I did document my entire code, which included my plan of action before writing anything and any necessary comments. I had 4.0 GPA, valedictorian, 2400 SAT, 800 on three SAT II tests, a varsity letter, awards in chemistry and math competitions, and 5s on 14 AP tests. I got turned down by MIT. Yeah, it sucks but anger will hardly help. And there are always upsides. In my case I went to state U on full-ride and saved myself $170k in tuition. In your case, you avoided being hired by a less-than-competent company. >I had 4.0 GPA, valedictorian, 2400 SAT, 800 on three SAT II tests, a varsity letter, awards in chemistry and math competitions, and 5s on 14 AP tests. I used to work with students polishing admissions essays for colleges like MIT. The one thing I learned is that a resume like you listed isn't what gets you into a school like MIT. It's those things + something that makes you a uniquely appealing candidate. Sure, you can get into MIT with your resume, but it's also very possible to be passed over. But the kid with that resume + something special is very very unlikely to get overlooked. MIT, Harvard, etc. can fill an entire class with outstanding academic records. But they want people who are going to be truly special in the future and the best way to do that is select people who are already there. And they have their pick. In practice the "something very special" thing comes down to how well you can bullshit admissions. If you helped kids polish their essays, you know this. The annual number of 18yos who have done genuinely remarkable things is less than the size of the Ivy league freshman list. If a company wants me to write code, they need to pay me for it. I came across a similar situation where a prospective employer sent me the requirements for a complex routine and gave me 7 days to return functioning and commented code. My estimate was that it would take me 2 days to do it, so it would probably have taken 6 days. I can envision an unscrupulous business model whereby you do the top level design and break it into routines, advertise for a programing position, and send the specifications for a routine to each applicant. You reject each applicant after they have submitted their code, take the best implementation of each routine, pack it all together and now you have a product. I don't know that that's what they were doing but nobody will do it to me. I hope that's not what happened to you. You may call me cynical but I've been around enough that I come by it honestly. This is only a practice because people are being tricked into doing it. Also, I'm not too sure you're being cynical. This is the obvious next step to an interview puzzel, isn't it? There is one proviso (as usual). I'm completely fine with coming in and doing a pair exercise with people if the job requires pair work. I mean, that's not really about the programming at that point (maybe just write a simple web scraper) together with someone you'll actually be working with to see if you can all get along. Crack a few jokes, get some work done, leave with a better understanding of the enviroment. I'd be fine with that but nothing that would take more then 1-2 hr. Got three examples like this: First happened to me with Australian Department of Defence - invited to do online testing which took between 4 and 6 hours (4-6 online tests on computer theory, mathematics, logic, verbal deduction etc.) - never spoke to a person and was rejected within the week. I interviewed for an analyst position for an ASX20 company through a recruiter which involved giving a 30 minute presentation on the results of their marketing campaigns. Never heard back from the company, the recruiter said that they decided not to hire anyone for the position. Most recently I did 7 hours of code for a startup (100 lines SQL, 100 lines JS, 200 lines python, 20 lines R, fair bit of excel and powerpoint) for a junior manager role - got rejected from that too with a one line "you looked good on paper but no thanks" type email (mind you I put in a lot less polish than I would have if that was my job, didn't ask the reason why as I felt like they were asking too much of someone at that pay grade anyway.) The last two cases weren't even through HR (went straight to hiring manager) - HR makes things even more difficult. I went through a bunch of standardised testing for one job interview and ended up being asked to fly 8 hours return for a 1 hour interview. When I declined, I was told by HR that this showed them I wasn't serious about the role. Of course once I told them that I already had a job offer from one their competitors they rushed me through a skype interview and gave me an offer straight afterwards. All of this stuff really irritates me, I don't even bother writing cover letters anymore (will include a short paragraph at the most) - its much more respectful for the company to meet me in person. I was rejected for by one for not doing TDD because I checked in the new test and code in the same commit. I suspect some of it is part of their "we can't find any Australians to fill the role" 457 requirement. Also, if a code test takes 7 hours (some take days) then they are limiting themselves to the already unemployed, so probably not paying well. I would never take a test before talking to the hiring manager. It's a two way street, how would I know if you want to work for them? That said, it's a great signal: the fact that they aren't willing to put in the work to talk to you first lets you know that they don't respect potential employees and can't compete with companies who do. Thus they have to go for volume. You don't want to work for a "minimum effort" kind of outfit. Yes you have a right, and a duty, to be angry. I say duty because it's our fault for not massively speaking up and demanding a radical change. We let companies get away with this, and it's not going to stop until we do something about it. >Am I right to be angry about the interview process? You have the right to be angry about it. But ask yourself if that anger is doing you any good? If not, why bother getting worked up? Are you in a position that allows you to decline interviews? Do you feel strongly that interviews should be conducted in a certain way? Feel free to turn down any that don't meet your requirements. But don't expect any company to accommodate your desires in their interview process. It's just the way it is. >It's just the way it is. And if we don't take a stand then it's going to be like that forever. We can't let companies continue to get away with this. In the end they need devs more than we need them. Being angry in terms of raising your voice againat these practicies is doing a lot of good for sure, it's pretty obvious. And of course people should not only start to expect companies to accommodate their desires in the hiring processes, but also actively advocate for it and insist on changing current practices of disrespectful candidate's time wasting. Very obvious, no? I've had a similar experience. I will now decline all online take-home coding evaluations. I want the process to require a symmetric amount of effort from both sides. Are you angry about wasting 2 hours of your time or not getting the job? Keep in mind that a lot of companies use automated tests to filter candidates, not necessarily in the most fair way.
They're simply not able to do a whole interview with everyone as it's extremely time consuming. I'd say don't worry about it too much. If you have the skills you'll find plenty of good companies that will want to work with you. Unfortunately, job interviews are not as predictable as how code works. Even the best devs I know get rejected once in a while. :) Think about it - there's 2-3 people (interviewers) trying to asses whether a person has the skills for a job and is a cultural fit for the company.
All of these during an 1-2 hour long chat. That's virtually impossible to do right, they can only guess. I don't like the zero feedback loop. I passed the test, yet I failed it and don't know why. I was on the job market recently and similar things happened to me. It's worse when you don't get feedback after you go to an interview. Two days ago I thought of making a job site that requires the employer to provide feedback, and the candidate to sign a form that says they won't sue the employer over the interview process. This way the employer has no excuse for not giving feedback. Would you use this? I see very little value for the company in agreeing to something like this. A user could still sue (even after signing the form) by claiming the given feedback is discriminatory or something similar. No company would voluntarily take on that sort of liability when there are countless alternatives. The form will not be legally binding, so the premise of your site is broken. Could show stats on companies that did not provide feedback, would deter some people from applying. Why would the form not be legally binding? I've had things like this happen more than once:
1. HR/recruiter-ish Phone screening
2. Engineer-ish phone screening, sometimes with a coding session
3. Another phonecall as a prep for further rounds of interviews
4. Travel that requires me to take at least one day off of work and travel to another city for an in-person interview
5. Rejection with no reason, and "We have a policy of not providing that information to candidates" if you ask why
6. Questionnaire from the company, asking for feedback on their interview process (snerk) In your case, with one guess, I'd say that the test cases that were provided were just examples of things you'd have to do to pass. It's like the homework assignment where the professor gives you a problem to solve and some test inputs. You know that they'll run some "acid test" on your code after you've submitted it. Maybe it caught some corner cases that they considered essential. That, or they didn't like something about your coding style (style is subjective, and you'll never have feedback on how they judged it). Or, or, or...you can come up with speculative lists all day. 4. This in some ways is worse than greyostrich's situation (because it cost you more), but in another way, it's better. It cost the company, too - the cost of the flight, hotel, and time for their people to interview you. They didn't just waste your time to try to spare themselves any effort; they had skin in the game too. 5. In the current legal climate, if they tell you why, they may be exposing themselves to a lawsuit. They therefore impose a company-wide policy of never saying why they reject anyone. It stinks for the rejected applicant, but it's not because they're being jerks to the rejected applicant. It's because of lawyers. If you want to fix it, you're going to have to fix the law. It's not your problem if a company doesn't have a correct respectful hiring process. requirements for potential employees on the market are crazy, companies definitely should live up themselves to the professional and cultural quality they demand from other participants. Companies tend to never excuse even slightest fails of generally well prepped candidates, no reason for candidates to excuse pure disrespect of their time and effort. I think personally they should provide feedback for rejections on request, I personally want feedback so I can improve and better myself during a failure often times companies won't tell me so it makes it hard to understand what went wrong in their eyes. Very common. I no longer do these tests. Basically, I refuse any interview that has me invest disproportionately more time than the interviewer. You're interviewing the company as much as they are interviewing you. Right now, the job market is super over crowded. There are a lot of jobs out there but too many people applying... You get a rejection on a 99/100 score (one tiny mistake and you're out), actually, even a 100/100 score sometimes will lead you to a rejection because other candidates were stronger than you. Too many people are applying from everywhere at the moment. This is the opposite of my experience, both as a candidate and a hiring manager over the past couple of years. There are many openings, not enough competent people to fill them. We are essentially at peak employment for tech. It's funny how companies / hiring managers always say they have trouble finding good candidates, and the people looking for jobs always say they are no jobs. It's probably an axiom of some sort. I have talked to hiring managers who complain about the lack of candidates. Then I ask to see their positions and what they are willing to pay and it's way too low. No wonder they can't find an experienced C++ developer for $70k/year. The companies complaining about the lack of qualified people would have no problem if they paid more. On the other hand I've talked to an unemployed Java developer who didn't seem to want to learn anything new beyond what he learned at college 15 years ago complaining about the job market. In my 25+ years of experience, I think that demand for software engineers has always been high. But what's in demand keeps changing. I saw COBOL and RPG IV programmers in 1992 complaining about the lack of software jobs. It'll always be hard to keep up with the jobs that are in demand unless you look at what's in demand and work on the side to stay relevant. It's a combination of two things: 1. We're bad at hiring, as an industry. We just aren't very good at identifying good candidates. 2. We're an industry where the average skill level is below the minimum threshold of competence for even low-level roles. I.E. there are lots of people looking for jobs, but most of them either couldn't code their way out of a wet paper bag -- and identifying the good candidates is time consuming and error prone. Exactly. I think companies are looking for great candidates and great candidates are looking for jobs. Problem is - Interviewers are screwing things up! big time! One single person (an engineer of the hiring team, sometimes fresh out of college) is responsible for evaluating a candidate. That is extremely wrong. It's like a bottle neck, how can you evaluate a candidate in 45 minutes when you only have 1-2 years of experience working for the exact same employer on the same project? This just doesn't make any sense. Interviewers end up asking very specific details they've been exposed to, or they simply google for the "hardest XXX interview questions" an hour before the phone call. You, as a candidate, get judged and often eliminated based on something completely worthless. I bet you %50 of the rejected candidates would do the job better than their interviewers as soon as they would get up to speed at work. Solution - They should create a new role in every engineering organizations and hire (or should I say - pick internally) extremely skilled software engineers who would interview candidates. That would be their full time job. Staying up to date with the latest technologies as well as learning how to evaluate a candidate properly. Right now it's completely random because interviewers aren't interviewers, they are resources allocated to projects and don't have time for that stuff. Crazy to see in 2017 that the actual hiring process is still at the very bottom of the priority list. I think it's the biggest problem in 2017. > I.E. there are lots of people looking for jobs, but most of them either couldn't code their way out of a wet paper bag I wonder if the average skill is that low (kind of) or if it seems that way because only the most desperate are willing to jump through the elaborate hoops we create for hiring. i suspect that even without the ridiculous hoops, the incompetent will always spend a disproportionate percentage of their time job hunting, and thus making the hiring process challenging. >1. We're bad at hiring, as an industry. We just aren't very good at identifying good candidates How do we fix this? It seems that everyone who claims to be actively working to fix hiring in tech is only exacerbating the issue (see hacker rank, codility, etc). I've now worked at two companies in that space -- a startup I cofounder in 97, and a much later-stage startup I recently joined -- and all I can say is... shrug The company I'm currently at is certainly making things better for a subset of candidates, but what we do is largely orthogonal to these issues. Unfortunately, I've been trying to find my first job of university. I wish I knew how to be competent enough. What do you look for? Send me a link to your resume/LI profile and I'll be happy to try and give you some pointers (I'm a PM and I work with devs and have hired devs before). If you're looking for a job, where do you live, and why don't you have your email in your profile? If you're in Seattle, send me an email; my email's in my profile. I don't like associating the posts I make on this account with my name. I'm in NYC. I sent you an email, in case you're interested in finding out more about me. I'm not looking for a job, but if you're looking for employees, why do you limit your search to a small, expensive city like Seattle? What are the downsides of remote work that are keeping you away from it? I am not my employer, and that policy is not mine to set. Have you actually asked them about the specific reasons for rejection? FWIW, there's a multitude of reasons why one could get rejected, ranging from automated systems to the position just getting filled to being too good for the job to bad references to human error. Until you ask and get an actual human response, you're completely in the dark. It's a no-reply email. Here's what the actual email said: "Thank you for your interest in Company. We have reviewed your resume, experience, and responses to the Code Challenge. At this time, we have decided to move forward with other candidates in the process. We wish you success in your job search." Sounds to me like they read my resume AFTER I passed the coding challenge. Seems to me like a waste of terrible time if I'm spending my time just to get rejected by my resume. It seems really strange that you are applying to a position and get challenges, yet you have no-one to talk to. Companies have recruiters, other recruiters pitch you to them, there were times when I had an agent. Was it definitely "auto rejection" or did a human read your code? I ask because we have a coding test that most people solve (that we invite to do it) but we reject most on code quality. The purpose might not have been to solve the task, but maybe to do it in a good way? Why do you expect clean code from a code test? It's going to be thrown away anyway and there are time pressures. It reads like an "auto rejection" but the email says they read it. I wish I knew what kind of code quality they looked for. I already read Clean Code, so I'm aware of certain things. Never ever take any kind of test before talking to a person, preferably the hiring manager. Not even for fun or practice. With big companies, it's pretty common. There is probably something about your contact info or education/experience that was auto-flagged as a rejection. It was a small company you never heard of. But yeah, probably something else. The rejection said based on my experience, answers, and resume. If so, it's disturbing that I had to do this challenge in order to get them to read my resume. > If so, it's disturbing that I had to do this challenge in order to get them to read my resume. I'd read that more like "after considering all data points...". I'm sure they read your resume beforehand. Maybe the discussion on their hiring team was "Well, if he pulls out some magic in the coding challenge..." You never know. It's not helpful to be angry about it, although it's natural and understandable. It's not even necessarily your fault. Maybe they just found someone that would slot into the position easier, just because of differences in their experience, education, or personality. >Maybe the discussion on their hiring team was "Well, if he pulls out some magic in the coding challenge..." This is an unreasonable expectation. If it gets to that point then it should be a no-hire, don't waste the candidates time. People often don't act reasonably, and "should" isn't "will". That was part of my point. OP is looking for a reason, and sometimes there isn't a reason that could be supported logically. You are absolutely right. I guess the point I was trying to make is that companies are not considerate when it comes to a candidate's time. IF after making a candidate go through a coding test or several interviews you still have doubts then don't hire him, simple as that. Nowadays companies/hiring managers/interviewers are used to treating us like crap, sometimes for their own amusement.Expecting candidates to pull out magic in a coding challenge is becoming more and more common, even when they know that a candidate won't be able to pull it off, it's almost as if interviewers enjoy turning people down and watching people struggle during interviews has become a (sadistic)leisure activity for them. I take your point, and I agree with it.
This is pretty stupid. I've just barely started in the working market and I think my resume is solid enough that I won't mess around with any BS like this and if no one else does then they will finally stop. * I need to test my employee so I give them a test
* A test isn't code so I give them a coding HW
* The coding HW isn't representative of our work, so...
* I give them a small chunk of my real work.