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 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 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.
The annual number of 18yos who have done genuinely remarkable things is less than the size of the Ivy league freshman list.
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.
* 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.
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.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.
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.
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.
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.
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.
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.
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.
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.
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?
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.
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.
It's probably an axiom of some sort.
"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.
Companies have recruiters, other recruiters pitch you to them, there were times when I had an agent.
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?
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.