9 ms·
After 20 years in software, I had a phone interview with an Amazon guy who sounded half my age (at most). Asked me to write some kind of function to do somethi
by blisterpeanuts 6y ago
After 20 years in software, I had a phone interview with an Amazon guy who sounded half my age (at most). Asked me to write some kind of function to do something, sort some stuff or some such. I described verbally how I would do it, almost line by line, in pseudo-code. He said "I need you to write it out in [some language]". I said "But why? I just told you how I'd do it." But he needed me to literally write the code out, as though I couldn't easily copy-and-paste something for him. I thanked him and hung up. All I learned from that encounter is that I'd be very unhappy working with people like him. Bullet dodged. Sure, I use my knowledge of algorithms, and I frequently look such things up on StackOverflow and improve my knowledge; we all do. But these interviews seem designed to filter out experienced, pragmatic programmers and just bring in more cookie-cutter software engineering BS/MS recent grads who speak their language. A far cry from the startup environment that most of these companies began as!
- mrits 6y ago"But why?" Because most people can't. And they want to make sure you can.
- jrd259 6y agoWe always allow the candidate to use any reasonable language. We're not testing if someone knows Java/Python/Lisp (I wish). We're testing if they know any language. I can confirm seeing people with resumes who nevertheless could not write any code even in the language they professed to be "expert" in.
- jrib 6y agoSame. I learned through experience to ask for a candidate to write a couple of lines of code. Usually it's just some simple question that requires a single loop. We explicitly tell them they can use any language including one they want to make up as long as they are ok explaining how it works. When possible, I try to relate it to the conversation we've had up to that point. I've had someone start off by writing "four" on the board when prompted to write a "for" loop and get stuck. I'm still not sure if he was truly inexperienced or just trolling. The resume looked solid to me and he spoke well about his experience. I had almost decided to just skip the coding question as a result.
- kenhwang 6y agoYep. I just want to actually see you plop some if-else and for/while loops on the board in any Googleable language. I'm the one with the laptop/phone and I can learn that language on the spot if I need to. It's basically "find the first string in an array of string that has the letter 'b'" difficulty of questions. Anyone who actually codes can whip something up in a minute and we can move on. But it's always surprising how many people spend half an hour on that and still don't get anything workable.
- janoc 6y agoAnd it proves what exactly? Except that they have lost out on a good hire only because that hire is not familiar with that particular programming language that the interview is.
- Analog24 6y agoBut that's not how it works. You are almost always free to use why language you want. There are exceptions to this but in those cases it would be clearly indicated in the job description.
- erik_seaberg 6y agoWe have approved languages for projects at work (Java, Scala, Go, and Python in special cases), but I let candidates use any language I can read, and it’s never been a problem.
- Balgair 6y agoThese types of interviews are very similar to the Confucian Imperial Examination tests (Keju) of China [0]. The Keju's main purpose was to exclude peasants while giving the imperial bureaucracy the image of a meritocracy and therefore legitimacy. They also helped enforce a common culture, script, and style of writing for the large empire. To be clear, the Keju changed a lot as China's history evolved and it changed with China and is not a unified 'thing'. The expense and time for study excluded many people and I have heard that whole villages would pool resources for just one son to buy the exam materials and take the time to study for the exam. Richer families didn't have need to sacrifice as such, of course. Typical success ratios were ~1:50 exam sitters. The Taiping rebellion was a direct result (among many) by such a man that failed his exams a few times (later declaring himself the brother of Jesus, but that's whole other story). Though exam subjects changed over time, it typically included recitations of Confucian poetry, calligraphy, instrumental music, and other such gentlemanly subjects. You know, things you really need your bureaucrats to know to run an empire well. Similarly with FAANGs (and previously with GMC/Ford/Chrysler, or in academia), the interview/exam is geared not towards the actual specifics of the job, but rather in the 'pruning' of the people and the appearance of legitimacy. They are selecting for people that will go through the hoops and the nonsense without questioning it and will make good bureaucrats (loyal, command-able, lacking vigor). Boat-rockers are selected out before they even start the irrelevant studying process. [0]https://en.wikipedia.org/wiki/Imperial_examination https://en.wikipedia.org/wiki/Imperial_examination
- pklausler 6y agoThis is the answer right here.
- Philip-J-Fry 6y agoIf you can describe an acceptable algorithm with enough detail in words, you can code it. If some guy had a good employment history, maybe a GitHub with some examples of their skills and described an algorithm to me... Why would I doubt their ability to write it in code?
- AnimalMuppet 6y agoI can. You can. But apparently, not everyone can.
- kevan 6y ago> If you can describe an acceptable algorithm with enough detail in words, you can code it. I wouldn't take that for granted. It's easy to gloss over details and edge cases when talking through an algorithm and it's not apparent until you actually write the code. Similar things happen when discussing things in meetings vs writing a formal document. I've interviewed plenty of people that were able to quickly come up with algorithms to solve a problem but really struggled to translate them into code.
- croo 6y agoExactly this. I interviewed lots of people for a small company and multiple times I became convinced the person across a table would be a good hire (based on past work experience and soft talk) only to see them bleed to death on the first technical question. Demonstration of technical skill is absolutely crucial for an interview. Personally I don't care about pseudo code vs real or syntax errors, but the price of a bad hire is much higher than a few more questions or round for a candidate. Also FAANG will always have enough senior CV on their desk to miss a few good hire...
- driverdan 6y agoMost people with 20 years of experience can't write basic code? Come on.
- paxys 6y agoI have been a tech interviewer for a decade, and this is spot on. The entire reason FizzBuzz-style questions are popular in screening interviews is that most people fail them.
- driverdan 6y agoI imagine this problem is much worse at large, highly paid, highly desirable companies. My experience in hiring at smaller companies has not shown this. I've never had a candidate with 10+ years of experience who couldn't code.
- clusterhacks 6y agoWe are a smaller org and hire occasionally for roles that are most suitable for early career applicants. We always get several applicants with 10-20 years of experience who have programming projects on their resume or described in their cover letters. But in our (very minimal) technical evaluations, lots of these candidates can't do anything at all. No coding, psueudo-code, nothing. Usually, it turns out they have been really doing light IT work for years - using reporting tools, maintaining little scripts, even just some Excel jockeying. But they still think of themselves as software engineers. My gut feeling is that lots of these candidates could learn (relearn?) to code, but have spent years not coding. I don't have the numbers in front of me, but I would guess that the majority of these types of candidates (10-20 years of experience) that apply to our roles can't code in an interview situation and haven't been programming recently. It is definitely not all of the experienced candidates who fit that profile. The few very experienced candidates we get who can code are often excellent but are looking for salaries well beyond our range.
- binarytox1n 6y agoYou must not have tried to hire a software engineer before. In a hiring cycle I encounter multiple "Senior Engineers" who can't write basic code. Fizzbuzz. Can't do it. Engineers should absolutely expect to write real code in an interview. It's preposterous to think that someone can claim to have 20 years experience writing code and then be offended to spend 20 minutes doing it in an interview.
- vechagup 6y agoOne of my biggest interviewing mistakes was voting "hire" on a guy despite his seeming difficulty with coding during the interview because he was such a great talker and had great sounding experience. He came on board, couldn't deliver on anything, and sapped the team's morale. There are plenty of people out there who have bullshitted their way through a career.
- sfashset 6y agoIf you're the one copy pasting code, aren't you the cookie cutter software engineer?
- EForEndeavour 6y agoThey didn't say they copy-paste code. They pointed out that the algorithm's actual code could very easily be copy-pasted from, e.g., Stack Overflow, without deeply understanding it. By contrast, describing an algorithm in natural language demonstrates actual understanding.
- vlovich123 6y agoBoth are necessary but neither is sufficient. If you have someone who perfectly understands the algorithm but can’t write the code, that’s a different utility than someone who can write code but doesn’t know the optimal algorithm solution. You can say “at work I’d look up a reference” but in an interview setting that’s not helpful where the interviewer needs both. That’s kind of why I really don’t like remote tests. It’s really hard to filter out those trying to cheat. I’ve observed how leetcode stuff tries to track you looking stuff up and it’s theater. Just get a tablet or second laptop (or even use your phone) and the site can’t track if you’re actually looking that up. I get annoyed with those tests and interviews too, but I’m aware of the challenge on the other side so I take it with a grain of salt and would never let my ego make me arrogant enough to take umbrage at being asked to write down a piece of code. I can understand the frustration, but this process is applied equally along all levels. Hell, the most talented people I worked with were regularly interviewed on coding by people more inexperienced/less talented than them. I would have a hard time any of them expressing anything other than mild annoyance at the system that this is still the best we’ve managed to do and no one would think to say “what right does this young inexperienced person have to ask me questions”. If anything, that attitude would instantly disqualify someone on the “fit” axis of the interview even if they passed on the technical merits.
- blisterpeanuts 6y agoThank you, yes, that was my point. The interviewer gave me a choice of languages, as I recall in fact he said "use a language you're comfortable with" and I thought to myself, what does this prove? I can google the answer and paste it in without him knowing. Whereas, I can explain instantly how I would do it, too fast to have googled it, and he could maybe interactively ask me "what about this condition? how would you check for errors?" etc. The other thing is, he was unwilling to answer any of my questions until we got through this exercise, and I felt he was being rude and somewhat arrogant though I was being quite polite. I'm more than happy to show off my coding skills - I know lots of languages - just wanted to cut to the chase. Maybe I was too impatient. Or, you know, what they say about trusting the first impression is true!
- LordHumungous 6y agoYou have a hard time at Amazon
- TameAntelope 6y agoFor what it's worth, I don't think he'd disagree with you. Additionally, I would probably translate that to be, "Unwilling to put up with what appears to be needless effort."
- limaoscarjuliet 6y agoI am often on the other side interviewing the candidates for company I work for. For junior positions we do ask them to write some simple code e.g. matching parentheses or the like. It makes it very clear how much experience writing code given candidate has - typing speed, how they move around source file, even if they can seamlessly copy paste their code, etc., are all very telling.
- est31 6y ago> how they move around source file, even if they can seamlessly copy paste their code, etc., are all very telling. This reminds me of the test for cooks. Make them slice up some fruit or vegetable. If you have worked in kitchens for years, you can do it really quickly. Fast and easy test, and nothing to prepare weeks or months for.
- scruple 6y agoFor nearly 2 decades, vi(m) (or a vim emulator or integration layer) has been my daily editor. I recently had an interview where I had to use some remote collaborative web application and it was genuinely a horrible experience. The main interviewer (lead for the team I was applying for) was visibly annoyed with me because, for whatever stupid reason, some of the keyboard shortcuts he kept trying to bark at me, as I was working through some truly asinine leetcode-style questions, for things like block indentation were not working on my end and I had to manually tab multiple lines, etc... The entire editing experience threw me really hard and was so distracting that I was fumbling what would've otherwise been trivial algorithm questions for me. Despite my 15 years of professional experience and a deep understanding of their tech stack (which, of course, was not a main discussion point at any stage of my interview process -- one of many red flags for me), if you had watched this you'd have thought I barely know how to write code. I don't know what the answer is here but I have decided, and thankfully I have the privilege of making this decision, that I am done interviewing for a while.
- avl999 6y agoWhile I have sympathy for the idea that some of these interviews can be ridiculous, however it doesn't seem like the interviewer was in the wrong here. As an interviewee you should have known what interview process is like, I worked at Amazon and I know the recruiters brief the candidates on what to expect in the interview, so you should have known going in that you'd be expected to write code, you could have said no right there and then in the email instead of hanging up on the guy.
- blisterpeanuts 6y agoThey didn't brief me to expect that. Or, to be fair, maybe they did and I missed it. I didn't mention above that he refused to answer a couple of basic questions (what type of work is it? what language? where will the job be? can I be remote?) until he got through the script. It was like talking to a machine. And he was rude. I got a negative impression. I know, sometimes recruits are expected to put up with some rudeness or brusqueness to show how flexible they are, can put up with different personalities etc. But this guy just came across as kind of immature and arrogant. Sorry, but I'm quite glad I terminated the interview and he also seemed unwilling to push at all, just said "okay!" in a sing-song voice that implied "yeah whatever, go die". At least be polite and try to convey some professionalism or you're going to turn off people who prefer to work around professionals.
- nobodyandproud 6y agoMy one face-to-face interview (put me off for life): Some interviewers were there because they’re committed. Some were doing it because they had to (last-second substitute) and it showed as they were rude about it or highly disorganized. You don’t have to take it and it’s okay to cut interviews short as the interviewer (I’ve done it before), but it’s a mistake to be unprofessional about how it’s cut short.
- VRay 6y agoYeah, you're getting a lot of pushback from the corporate drones on here, but you 100% made the right call. If you want to be a part of the FAANG hive mind, you have to be willing to jump through a bunch of hoops. The job itself is mostly just cranking out/maintaining a bunch of boring backend plumbing for boring stuff, with little to no correlation between the value you bring to the company and your compensation. Saved the company a million bucks a year? "Great, here's a $25,000 bonus." Saved the company a million bucks a year, but your VP lost a fight with another VP? "You're just not a team player, no bonus this year"
- Aunche 6y agoCompanies like Amazon have standardized procedures for interviews. At the company I work for, the person interviewing isn't going to be the same person who hires you, so they need more data that just the interviewer's notes. Also, deviating from the standard procedure opens up the effect of unconscious bias.
- B-Con 6y agoThis is the correct answer. The interviewer is only the to gather data, the hiring committee makes the decision and they need concrete days to look at. "Take my word for it" doesn't fly as an interviewer.
- justapassenger 6y agoI have 20 years of experience myself, and I've interviewed and worked with a lot of people with same experience that couldn't code properly (and some of them were actually good engineers). Yes, they'd describe roughly how something should work, but the actual implementation would be super buggy, ignoring any corner cases, etc. People who stopped doing any hands on work more than a decade ago, and are just coasting without touching any code, by having more an architect/mentor/org-expert role. If someone feels "insulted" by having to actually write code suggests that you're looking for a role where you aren't expected to actually write code. That's fine, but probably not what they're looking for. Also, I'd advice you to be little more open to a fact, that someone with less experience than you is asking you questions. That's not a great attitude to find good jobs at big IT companies, that are often full of young, often brilliant people. edit: typo
- blisterpeanuts 6y agoI never stated that I felt "insulted". You're just projecting that, maybe based on bad experiences you have had. There's an old saying: a job interview is a two-way street. You are interviewing them (or should be) every bit as much as they are you. If the applicant asks a basic question about the position, the interviewer has a duty to either answer the question or say "I'm not sure what role this is for; I've just been asked to check your technical knowledge, and then we'll get you to the actual manager who can give you a better answer. Okay?" If the interviewer is immature, arrogant, rigid, etc., and regards the interviewer-applicant relationship as an antagonistic one, and views the applicant as incompetent and dishonest until proven otherwise, the interview will have that flavor. To me, that is a red flag about the organization. Indeed, I've heard from many sources that Amazon is a toxic environment; I have yet to hear anyone say "Amazon is a terrific place to work! [for engineers/programmers]" I suspect that if you're a high level product person who comes up with a clever idea like an AWS feature, and are able to pitch it to the top management, then you're a star, you're well paid, and life is good. But for the people in the trenches... not so great.
- justapassenger 6y agoOriginal comment started by stating your many years of experience and noting that interviewer was much younger. Then complains about being asked to do coding. And then, based on just those two, saying that you know you'd be unhappy working with people like him. Amazon isn't great environment in most of the pockets of the company (haven't worked there, but worked with a lot of people who came from there), so it's quite possible that you "dodged the bullet". But only when pressed, you start to complain how interviewer is immature, arrogant, rigid. That's not what you originally stated - you had issues with an interviewer age and being asked to do coding. I'm not trying to defend the interviewer - it's very possible that they were bad interviewers - big tech companies push people early to start interviewing. But things that you complained about initially make it sound like you maybe also not a very pleasant candidate to work with, that comes into the interview with a lot of bias.
- kevinventullo 6y agoI would not attribute the requirement of writing out code as something your interviewer personally demanded. He was simply following a template. The point is that when you write out the code, there will be several other people who will end up looking at it as part of your “packet”. This can actually be beneficial for the interviewee: if you use some technique or library that the inexperienced interviewer has never seen, they might be confused and write negative feedback, but someone down the line will be able to see what you wrote and say, “Oh, this is actually really good.”
- WhompingWindows 6y agoMaybe he had requirements to get actual code samples from applicants. He probably trusted you could do it, but companies have protocols, they probably would want to run analyses on the answers, too.
- paxys 6y agoWhy is the fact that the interviewer was half your age relevant? I interview and reject senior engineers with 20+ years of experience every day. They are extremely good at throwing out the right buzzwords and sounding smart, but digging a bit further it's obvious that they have spent the latter part of their career playing politics at large companies rather than doing any real engineering work. A simple FizzBuzz is enough to weed out most such candidates, and if someone refuses to spend 5 minutes of the interview writing actual code (in their language of choice) they are an automatic fail.
- blisterpeanuts 6y agoYes, a simple FizzBuzz can certainly weed out people who aren't very good at playing the FizzBuzz game.
- ratorx 6y agoI wouldn’t blame the specific engineer for this too much (for asking you to write down the code). If Amazon is the same as Google, then there is a lot done to standardise interview scoring. Part of the guidance given to interviewers is to make sure that the candidate has produced actual “working” code. The code is included in the interview feedback that the interviewer writes. Source: Interview trained at Google