The first step - before speaking to anyone about my background or interest - was going to be an intensive, one-hour coding session. It looked like it would be more "independent proof of competence" than "friendly programming task to evaluate you". I was expected to be on webcam the entire time to verify identity and prevent cheating. No joke about the entire time part - there was a reminder to get any water or office supplies I would need before sitting down, because the interview would be terminated if I left the frame of the cam.
Between the blind hostility of that opener and the meat-grinder rep, I passed without interviewing (and passed with the next Amazon recruiter shortly after, who had no idea they'd pinged me before). I'm sure this routine is reserved for new grads, and the weird "don't lean out of frame" stuff seemed to be from some interview-management third party, but it was still the most stilted process I've seen from an actual software company.
What you experienced is part of their experiment in figuring out how to make this work. They've got a number of variations of interviews going on right now. I believe this is so that they can scale up as rapidly as they need to.
Apologies for the lack of citation but I don't believe this is something Amazon has spoken publicly about.
Somehow I saw "fully automated hiring" and couldn't believe it - I just assumed it would be automated until the onsite part. If you're hiring 100% automated, I can definitely see why you'd be paranoid about cheating, but you'd better have an answer to memorization!
That would be one way to remove bias from the process.
I've often thought college admissions should be done in a blind manner. Applications go to a subcommittee that removes all race/gender clues from it, then the scrubbed applications go to the admissions committee.
Sure, you can compromise and take lower quality people, or pay more than anyone in your city, but if you want great people for top 20% of the market pay, it's a lot of work on the hiring side.
A little break to talk to humans is good. Shouldn't be your main job, unless you work in HR or something...
Reflects their attitude of treating ppl as mere 'resources' , I would work for amazon if I have no self-respect.
That's pretty common recently for companies. I'm not sure why.
I have no idea how a commission-based business manages to do something like that.
Which makes this utterly weird - it was literally a matter of giving up (potentially) several grand by not forwarding an email.
I understand that, but when it's a purely technical decision they could easily enough give you constructive feedback.
You missed these two edge cases. Your code crashes on certain inputs. This is very inefficient, you could have done XYZ.
You could automate chunks of this, and protect yourself from any discrimination lawsuits by just making any engineer who reviews the code have zero knowledge of the candidate.
Because as a culture, we stop thinking of candidates as human beings the moment we decide we aren't hiring them?
Not saying anything about YOU... experience is important... but 15 years experience doesn't mean 15 years of good experience or lack of bad habits.
Last week, I interviewed someone about to complete a master's degree from Georgia Tech who also could barely do FizzBuzz.
What should we be doing to identify people who fail FizzBuzz but we should actually be hiring? Honestly the bar for our initial phone screens is very low, and yet experienced and well-educated people still manage to fail, sometimes spectacularly. FizzBuzz is one of the most important questions we ask because of this phenomenon.
Based on my experience as an air traffic controller which requires more tests than I care to state, when we would transfer facilities we were given oral tests to gauge our experience. We would mark down the areas deficient that needed review and check areas off where knowledge was deemed satisfactory. There would be zero air traffic controllers if we dismissed candidates answering one question wrong regardless of simplicity.
Necessary, but not sufficient. If you can't code you're worthless as a developer. You can be a great coder, but if your other skills are poor you aren't worth a senior engineer salary.
But, separately from programming, I absolutely love teaching/mentoring. I found that, if I was helping someone with a programming problem, I could code just fine while burnt out. As long as someone else was doing "the programming"—the part involving wanting to create something and actually typing it—I was fine with them "borrowing" my knowledge and expertise in the form of doing all their design work, finding libraries and API functions for them, correcting their syntax errors, doing all their debugging, and basically every other part of programming that isn't typing words.
If someone handed me a college intern—or, hell, even a really passionate and patient elementary schooler—to serve as my "assistant", then I could make them appear to be a great programmer. If you hired me to wander around a team and pair-program with everyone, I could have a multiplicative effect on that team's productivity. But, by myself, I wouldn't be able to code for beans.
What do you call me?
You might still need someone above you to function as the team's abstraction layer to the company at large, but it sounds like you'd be a great leader among the actual workers.
I can't hand you an important task and expect it to get done unless I give you a second resource?
You are talking about burnout. Would you really walk into an interview and respond to a coding question with "Oh, you'll have to write with me directing because I only pair program"?
I'm going to stand by my earlier statement. Being able to code is a necessary skill for a senior developer. Or any developer really.
2. Why hand me the task? Why not hand someone else the task, and I'll wander in and make sure they get it done twice as quickly? Why does everyone need to be modellable as a task-queue that atomic problem-statements can be dropped into?
You don't expect, say, your office manager to program; but you do expect that, by hiring an office manager, more programming will get done, because now your programmers aren't running out to buy drinks for the fridge and toilet paper.
3. Remember that I did say that I could get work done by pair-programming with an intern, not an employee. The phrase "second resource" implies that you're imagining yourself handing me someone who you could get Hard Problems done on their own. My point was that, with a few people like me around, you could mostly just "hire" people (often for free!) who have no idea how to get Hard Problems—or even Regular Problems—done, and me and my type of person would guide them and the work would get done in the process.
This is usually known, in the trades, as an apprentice system. Apprentices do all the "work", you know. They're the hands that build most things that get built. Masters just stand there guiding those hands.
Because that's what this entire conversation is about.
But it still seems weird to push heavy coding sessions without even speaking to the candidate, and that seems weirder the more experienced people are. You might assume that a new grad doesn't care what work they're doing and can just be interviewed for a job in "software", but why throw somebody with 15 years behind them into a funnel without even talking about what it's a funnel for?
Two coders that each had "silos" with wedges to keep the two sides communicating together. One did web side - ordering, registration, etc on a Webform MVC customized hybrid. The other did floor applications.
New customer? New database, website, etc. Sql statements? "If company a then select * from blah where field like '{text}';" everywhere. Why select *? Because the different code bases diverged... why like/text? Because sql injection doesn't exist. Almost everything text fields... 2 wide inventory fields that house more than 99 items... 10 wide inventory fields that house 2 items...
I will have some posts for TheDailyWTF once I get my feet a bit more wet...
As to why it took so long? They were able to keep it running with duck tape and bubble gum... once the company started expanding, the better of the two programmers knew they couldn't keep up and left earlier this year. The other is due gone soon... Good guy, but... unwilling to accept that his code is shit.
* No separation of UI/Code. WinForms in all it's glory.
* SELECT * in code behind. Never anything else.
* WHERE field LIKE '{}' - never 'where field ='. Always like.
* {} is a from text entry fields. Sql Injection? Sanitation? Boundaries? What's that?
* Separate code paths for different companies because each customer had their own unique stack that diverged - Database tables, Winforms, processes. IF Company A then SELECT * FROM DBA.dbo.TblA WHERE FieldA = '{}' ELSEIF Company B then SELECT * FROM DBD.dbo.TblB WHERE FieldB = '{}'... etc.
* Copy Pasta all the way down.
* Never used source control until New Guard arrived (me being newest developer).
* Test environment? Waste of time... Everything done against production. I saw the old programmer jack up a sql query resulting in a data restore, and I've been here less than two weeks.
You can argue that what they did "works"... but you can fix a car with duct tape... then wonder why the door flies off at 65mph.Trust me (as much as you can trust a random guy on the interwebz)... Their code is shit. Not "I'm an artist and think your artistry is shit" shit... but every bad idea you can consider in coding shit.
For comparison's sake I'm an experienced dev and have been hacking on embedded Linux stuff for more than a decade, though I have doubts that's the trigger for "webcam or not."
Was there any data retention period mentioned regarding your interview? Do they keep those videos forever, or are they discarded as soon as they're reviewed (assuming they're not live)?
My complaint was that it seemed both ineffective (imagine candidates with the Big-O cheatsheet taped above their monitor) and obnoxious (I wasn't even going to talk to an employee until I jumped through a bunch of hoops). If you're going to be demanding (and uncommonly so), then security theater with no engagement with the candidate is a bad way to go.
You need some interesting mental gymnastics to explain why this is even a problem, given that they could easily have the same cheatsheet taped on their cubicle wall after getting the job.
That's new and stupid.
I'd tell them to get fucked.
With Amazon, however, there's something qualitatively different. The anecdotes and evidence of it being a terrible place to work far outweigh the positive. Its bad reputation is confirmed by things you read about their policies, quotes from Jeff Bezos, etc. Poor treatment of employees is consistent across both the corporate and warehouse contexts. This reputation has persisted since at least 2007, the first time I considered working there and did some research on it.
Even in Seattle my pay definitely puts me in the upper middle class. I can afford Seattle property reasonably well ($600k range).
Interviewing at Amazon is kind of weird. They keep trying out new ideas to see how they work and includes things like: standard phone screen, coding test (don't know a better word for it), on site all day interviews, group interviews, etc... Chances are that if you had a weird interview process it was probably because you were trialing some different interview format.
I guess I don't really have a point in this post but I didn't see one positive post about Amazon and thought I'd share (at least anecdotally) that it's not all bad.
I got a random email saying they were coming to my hometown, so I did the "2hr" coding test everyone is complaining about... which was actually really easy and more like 1hr.
then the day of, I biked down the river for coffee and lunch, then spent the afternoon coding on paper/laptop, and talking about past tech things I've done and why/how I did them. It was mostly a half and half split between the discussion and problem solving, then me trying to code one of my solutions in the last 10min of each interview, and mostly running out of time:P
The next day they invited me to move to seattle, and out for beers that evening.
People don't live in the national average, they live in limited geographic areas, and the salaries that make people try to characterize tech workers as rich tend to come in - you guessed it - SF, NY, and DC.
I love it, and I don't know anyone that left disgruntled or unhappy due to being burnt out. (A couple of people I know left because they didn't want to do any oncall at all anymore, but noone was misled, and as far as I know they are not bitter about it)
But, the key is that there is no one "Amazon". A lot of freedom is given to each individual team and org, and as a result wild variations in work culture and expectations. I know teams that are great, and I know teams that are tougher. But, my reasoning for why those teams might be difficult to work with is because they are working on new bleeding-edge services (AWS, Echo/Alexa), and as a result there is a lot of pressure to stay ahead of our competitors. Which is completely understandable when Google and Microsoft are either just behind or just ahead on everything.
Maybe I've just been lucky? But I work with a lot of teams in a lot of countries, and generally by and large people are challenged and content.
I'm not saying there are no problems. And I'm sure all the people in the NYT article are not lying. But at a huge company of 200,000 employees, there's always going to be some unhappy and disgruntled people.
I don't think I'll be able to convince you otherwise - I am a city-dweller through and through, so I sense we have probably quite different personalities.
edit: I should acknowledge that I don't have direct experience with American work culture. Y'all work way too many hours, but that's not just at Amazon. And Silicon Valley is even worse.
I'm a hiring manager at Amazon (in natural language on Alexa). One thing I can say about Amazon culture is that teams can vary quite a bit. This is because Amazon gives a huge amount of ownership to each team, which naturally means each team's leadership has a lot of control on their culture.
Amazon does try to instill certain cultural elements across the company, but despite that, things can vary based on the leadership and the part of the company you're in. Prior to Alexa, I was in supply chain systems and I would say the culture there was quite different there.
Personally speaking, I really enjoy this team. It's definitely not a meat grinder; on the contrary, I think our team has great work-life balance while providing sufficient challenges to keep us motivated.
By the way, I'm sorry to hear some of the negative stories from others about their interviews. That's certainly not deliberate; our goal is to create a positive experience for every candidate irrespective of whether or not they successfully clear the interview. I personally work with some very professional and courteous recruiters on Alexa, but if anyone has had a negative experience interviewing for Alexa, I'd be happy to follow up and see if I can take some action on your feedback.
In Amazon it can vary quite a lot across countries, cities, teams.
> I love it, and I don't know anyone that left disgruntled or unhappy due to being burnt out.
I met plenty. Heavy on-call rotations being the primary reason. Many people were quite bitter about the real VS claimed on-call load.
But again, I agree that this varies a lot.
Big companies do really big thing. Google is literally changing the world. But if you get a job there, you are employee #145,231. Maybe if you work hard for 5 years you can rise to the rank of middle manager, and attend a meeting with someone that reports to the CEO, and maybe you can try to get a project you want done scheduled. More likely you will just do the work you are assigned until you quit.
Now a startup is the opposite. Blank startup has no power to change anything. But within that startup, you have 100% voice. If you work really hard, in 5 years maybe your startup will be big and you can change the world. Or more likely, they will go under or get bought out and you have not changed the world.
My experience at Amazon has been great. I don't know anyone who cries at their desk, works 80 hours per week, or feels like they're being pushed through a meat grinder. I worked for Microsoft before Amazon, and that was brutal. You'll find bad teams at every large company. One of my friends was on one at Google.
I've had two coding challenges within that last year. One for an internship and one for a full time position (earlier today no reply yet don't expect one). The problem for me is I freeze. As soon as the "testing" type pressure gets put on I go cold and freeze. Then as soon as the test is over I can pull alllllll the information forward. It sucks because I struggle with CS exams too. Every time I have a test I freeze until I'm out of time and as soon as I leave a room it all comes back.
I kept getting calls from Amazon (Seattle number) claiming I had not done the test (which I had already done) and the HR folks mentioning I was not selected - and to try 6 months later.
I would definitely like to have another go at it, if possible.
Also, maybe I haven't been an Enterprise Fizzbuzz Java Developer for 6 years, but I've been keeping busy by having personal projects that most enterprise developers would probably not be able to understand.
I think that was understood (at least, that's how I read it). In a good environment at any company, your ideas will be fairly weighed against other options. Most environments aren't "good", by that definition. Don't be surprised if ideas that don't support the status quo are thrown aside.
> I'm sorry you think it is funny that I actually want to participate in the development process.
They weren't making fun of you because you'd like to take part in the process. They were making fun of you because you think it would be that simple.
> I've been keeping busy by having personal projects that most enterprise developers would probably not be able to understand.
Condescending statements like this make me glad not to know you. I've done things that some of my coworkers don't understand, and they've sometimes done things that I never have. Personal projects are fine, but there's a difference between the short+sharp bits of brilliance that you might put in a personal project of a few thousand lines and introducing a major feature into a project that has a whole file for every line that your personal project has.
> When did I ever presume it would be simple?
Your tone implies a process like this: 1. Get a job at Amazon 2. Never be bored, and have a good chance for input.
You may be lucky and have an experience like that, but the general consensus seems to be that it isn't the most likely outcome. #1 is the easy part. The parts of #2 will be false to varying degrees, separately and together, as time goes on (every job has boring parts, for example).
And anyhow, you wrote a post that was easy to make fun of, with the tempting mix of inexperience and confidence. You can't set yourself up for ridicule and expect that no one will take you up on the offer.
Try a startup?
Knowing what I know now, if I had gone to a startup straight out of college I would have been worse than useless.
I worked on some really cool stuff there, and learned a lot. But then after a while AWS grew rapidly and I ended up spending most of my time on pretty boring stuff, such as operational firefighting, endless deployments, config updates, and of course that oncall thing.
That said, in my experience, Amazon was still a bit of meat-grinder. I've come to realise though that its just part of an extremely long interview process, with the goal of weeding out those who just aren't thriving in Amazon's environment of "organised chaos". New grads who don't make SDE2 within a certain amount of time will eventually be PIP'ed, which is basically a signal that its time to find greener pastures.
On the other hand it is only a handful people who get to flesh out interesting products for AWS.
I had a fantastic team to work with - they were all either ex-tech-sector CTOs or equivalent or they had that level of potential. So as the team manager I had permanent case of imposter syndrome. My manager was the kind of engineering leader you want to be, a listener first and foremost, smart and principled and demanding but not harsh. The technology is all the more mind-blowing when you look under the bonnet. The culture and corporate structure is remarkable and in my opinion a major strategic factor in the Amazon success story. We were always hiring, all the time. When you have such strong ICs, they don't want anything less than A-list peers. As an AWS manager I allocated roughly a third of my time to hiring and promotion, and more during certain internal cycles.
So it was hard work in a demanding environment but I loved it, and that made stepping away all the more difficult. Would I return? If my startup tanked, in a heartbeat, if they'd have me back.
I also think that those who loathed it are far more vocal than those who loved it. Part of the culture is a strong sense of nondisclosure, and if you have positive memories of the place, that's going to carry over.
I will say, the hiring process described may differ between teams. There are consistencies that the recruitment folks systematically enforce, but as a hiring manager (at least in my region) we had latitude to vary screening steps and the mix of the in-person interviews. I didn't futz with it much though, to avoid screwing up procedural fairness.
I am not surprised this author got an offer, they seem bright enough, and engaging with the process and the company with genuine interest and an open mind (without trying to game it) is definitely a very positive framing and I imagine this came across in person.
And then there is the Fire TV team who had to work under a director who was indicted for being part of a sex trafficking ring and is currently awaiting trial in King county courts. The women were slaves who were forced into prostitution to pay off debts to organized crime bosses in Asia. Yes, Amazon hired a sex trafficker/pimp into its management org. Parts of Amazon are totally corrupt. We can only imagine how much worse the people that hired this person are.
Your first paragraph is exactly how I describe Amazon to people. You either love the culture - or you hate it. There are very few people I know who are ambivalent about working there.
It's hard work. It's important work. It's demanding work. It's not for everyone.
But what about the stories of people bringing their laptops into the bathroom stalls (which are always packed to the gills because why would Jeff want to waste money on, you know, extra bathrooms and stuff)? And once there, talking to each other about work stuff while doing, you know, their "business"?
Taken together, these anecdotes paint a picture of a company that's not just hard-driven, but... weird.
And in some corners, apparently kind of gross.
There's no where else to put it if you need to go to the bathroom and you take your laptop. I mean, some people just leave it at the sink but eh. But laptop into a stall to work? No.
> which are always packed to the gills because why would Jeff want to waste money on, you know, extra bathrooms and stuff
Most of the buildings weren't owned by amazon. So they have a normal amount of stalls. Which is a problem on the floors with lots of devs because we have the normal dev demographics.
http://motherboard.vice.com/read/at-amazon-employees-treat-t...
Particularly this little vignette:
Even more alarming was the bathroom culture. I can only speak to the men’s room, most of which each had two urinals and two stalls. I come from a background where a bathroom is a place where you do a certain kind of business, in silence, and you leave. At Amazon, the men’s room is an extension of the office. People chitchat about work in the bathroom, as if it is just another meeting room where you can piss everywhere.
The most horrifying moment of my employment at Amazon was the time I was using the toilet and a coworker began talking from the stall next to me. He asked me why I had not responded to his very pressing email. I closed my eyes and pretended this wasn’t happening. What email could be so important that it could not wait five minutes for me to use the bathroom? He began tapping on the wall between our stalls, asking why I wouldn’t respond, as if inter-stall conversation should be a totally normal, not disgusting means of communication.
He became more specific about what he needed—referencing a project I’d never heard of, nor would I ever have involvement in—and I realized he had misidentified me from my shoes. (Many brown dress shoes look alike, apparently.) We both exited our stalls around the same time, and he realized his mistake. He didn’t apologize, only explained that he thought I was someone else. As we washed our hands, he just laughed, and I vowed I would never use the stalls on that floor again.
Is the guy lying? Just imagining things?
Please share your thoughts.
It's needlessly hard and too much of it is unimportant.
Do you really think people at Google/Facebook/Microsoft/etc... aren't working hard? Aren't working on things they think are important? The job isn't demanding?
Yet the horror stories consistently come from Amazon.
I recently interviewed, one of the interviewers actually brought up the NYT article and said that the retail side is intense, the tech side is more laid back, for whatever that's worth.
It's still like that. All of my friends who've worked for Amazon burned out within a year or two.
Isn't the startup deified on HN more than any other type of company? Of course there are all kinds on here; it seems strange to stereotype HN posters that way.
I still maintain that in most comments portions, "startup" generates more hits than "Google". And "SRE" is still pretty rare.
This thread contains more "startup" than "Google". And we're the only two posters talking about "SRE".
who isn't a meatgrinder these days? (serious question.)
Amazon seems like a meat grinder, where getting hired isn't as hard as it seems, and they just burn through young people who don't know better. This is as someone completely on the outside who's only heard stories, though. When I brought this up to one recruiter a few years ago, they basically acknowledged the reputation and their intent to improve.
Perhaps unlike HN, I've never seriously considered joining a mega-corporation like Google, Facebook, or Amazon. I just don't see the appeal, nor do I want to work in a city (SV, Seattle, NYC, or otherwise).