That's funny. I don't know a single person who enjoyed interviewing at Amazon, and the one guy that did who got in quit a few weeks later and still won't stop talking about how bad it was until he's blue in the face. It was such a bad experience it seems to have partially fused with his identity!
Seems like every once in awhile there's some article taking a crap on Amazon, and then these types of green comments coming to the rescue.
Addressing your experience directly - I really enjoyed my Amazon interview in Edinburgh eight years ago. Lots of interesting free-form problem solving, with the whiteboard there to jot down notes rather than to produce working code.
I'm guessing there are teams or entire orgs which just don't take interviewing as seriously, though - again, with Amazon's scale, it's not surprising.
I think every company has a mix of horribleness and goodness, and based on the data I have, it seems like the mix at Amazon is more skewed towards horrible than other major companies.
I've made the same observation as you, but I think there are other factors at play. It seems that Amazon has become the new "cool" company to hate, just like Microsoft was a few years ago. I've personally heard a mix of positive and negative stories from all the big 3, but Amazon seems to be the only one that makes headlines.
I'm not trying to say that Amazon is perfect, or even better than Microsoft or Google, I'm just saying that maybe it is better to trust the opinions you hear from people you know rather than what makes the front page of HN, wherever that happens to take you.
During my Microsoft internship, I watched a male coworker verbally harass a female coworker to tears while she was giving a presentation and no one batted an eye. A friend told me to come check out Amazon, and I've never looked back. I would never go back to Microsoft, but I don't fault people for going there because I know that it is a huge company and that my experience isn't representative of the whole.
Anyways the difference here is HR/recruitment was too "ambitious".
The SDEs have found out and we have put a stop to it.
My wife recently went through the hiring process at Amazon. She completed an online programing test, then went through an interview where a recruiter asked basic CS questions over the phone, and was then invited for an onsite interview. She took a day off from work, and spent about 4 hours doing the interview at Amazon's SF office. The interviewers had come from Seattle. This happened over 3 months ago, but she has not heard anything from her Amazon recruiter about the interview outcome. The recruiter had earlier promised to get back no later than 2 days after the onsite. My wife's emails to the recruiter were unanswered.
We understand why things are this way - the recruiter wants to utilize her time on candidates who convert; any time spent on a rejected candidate is time "wasted". But when a candidate takes a day off from their current place of work to attend an onsite to get treated without common courtesy is sad state of affairs. Imagine if the situation was reversed - once the interview was arranged, and my wife agreed to do it, how would all those interviewers who flew in from Seattle have felt had she not turned up?
You seem to be interested in fixing things at Amazon. I mentioned this incident to point out that recruiting at Amazon can do with much course correction. Take time to look in the mirror and understand why it is that only Amazon among large tech employers attracts such negative attention. Sweeping all of that under the "we are now the cool company to hate" category is dishonest. Again, I am glad that this particular incident posted by the OP has caused a positive change in the recruiting practices.
Presumably so that said PR team can create throw-away accounts and defend Amazon.
That's really the problem with the social media policy. On the one hand, it protects the company from the worst possible outcomes of letting untrained employees loose on social media - and given the size of the company and the diverse views held by its employees, I could imagine those outcomes being pretty dire! But on the other hand there's a chilling effect on positive impressions of the company.
[0] that was a lye[1]
[1] removing the stain on my reputation
So, they are wading into discussions of Amazon, just in a way that's not directly linked with an existing nym? Following neither the letter nor the spirit of the rule?
I worked at Amazon for many years and enjoyed it. Nice to meet you.
It's a huge company with a wide variety of teams and experiences. It's not for everyone. But I am still friends with lots of my former co-workers. Lots of them liked it and, believe it or not, many of them are still there. Some for over 10 years.
Given that Amazon interviews by team, I think it depends on what team you end up interviewing with...
I didn't take the offer because it was like $20k or more less than another offer, but the process was fine.
There's also going to be selection bias, in that most people who have reasonable interview process aren't going to write blog posts about it...
To be fair I interview poorly, but I would would have much preferred for the person managing the interviews to cut off the process as soon as they were sure that I wasn't a fit. By failing to do so it just created an awkward and frustrating situation.
I ask because elsewhere on this thread you have people bitching that they were asked some low level CS questions about inverting binary trees and the like, and how insulting they found that.
While I sympathize, it's not going to change the fact that the company does want to hire engineers that are equally competent at contributing to some sexy new high-scale AWS services as some boring business reporting features. Google, Facebook, and Microsoft all do exactly the same thing.
On the other hand, if you had people that were actively rude, did not give you hints when you got stuck, and made you feel unwelcome, that would definitely warrant feedback. Though, as you said, it's too late since it's 2013.
I advise anyone in the future who runs into this kind of situation to contact your recruiter with feedback, and be very clear if you had a bad experience. Amazon takes customer feedback super seriously, and when we interview, the candidates are customers.
I do recall the last pair asked me to re-implement a java standard library functionality that was rather complex. It seemed out of place for an interview question.
While there are valid reasons to ask such questions they need to be framed carefully as to indicate why the developer would want to do so. Failing to do that causes frustration because in general the first rule is don't re-implement the standard library.
EX of good question: Facebook has their own COW C++ string with small string optimization because libstdc++ didn't used to have that. It can also provide massive speed improvements on multi-threaded code, what are some ways to implement this?
Ex of bad question: Implement a stringbuilder.
Seriously, you're bothered because someone asked you to solve a toy problem? Most interview problems are things one wouldn't do in the real job; that's because all real job problems take more than an hour to solve.
Implementing a stringbuilder is a bad question because there's not much depth to it (after you get the basic implementation down, where do you take the question next?), not because there's a stringbuilder in the stdlib.
Allow me to respectfully disagree.
Even if they ask you something you or they don't think you can do, it's not just about really solving it but at looking at how you approach such a problem.
No one can really solve important, long term problems in an interview but you sure can reason about them and talk/try toy solutions.
> Ex of bad question: Implement a stringbuilder.
You can always say "I probably wouldn't do this unless I had a good reason but, If i had to roll my own, I'd approach it this way:"
The point is to have a discussion. Why? What are the benefits of a string builder? When is it necessary? What performance characteristics should it have. What kind of questions do you ask, what kind of edge cases do you consider?
It's an interview - if you are not sure why the interviewer is asking you to re implement a standard library, ASK.
This is not unusual for Amazon - most tech companies these days ask these kinds of questions
We used to ask people to implement standard date-related functions. "That's stupid, all the date functions are already written, and they handle all the weird edge cases for you!" That's right - we want to see if you can think about all the weird edge cases.
It's not about the obvious functions, it's about whether or not you can plan reasonable interfaces and think about edge cases.
Was that not in the mandatory one?
We are taught in an internal interviewing class (which is not mandatory unfortunately) that making sure the candidate has a great experience is just as important as getting good data on the candidate.