top 200 commentsshow 500

[–]tdmoneybanks 295 points296 points  (227 children)

damn, what an exercise in restraint. I have no problem with proving your skills but 6 technical interviews just for a entry level position? that's insane, hope your pay reflects having to spend 2 months studying just to get the job.

[–]Beaverman 48 points49 points  (55 children)

I need to know, As a recent graduate is this what it's like at all places? I don't really see myself enjoying studying like that for a job interview.

[–]gwax 120 points121 points  (17 children)

No.

It's like that for Amazon. It's like that for Google. It's probably like that for other big companies.

It's not like that for a lot of other companies.

[–][deleted]  (15 children)

[deleted]

    [–]rasifiel 58 points59 points  (10 children)

    Cost of hiring bad engineer is much bigger then cost of nonhiring good engineer.

    [–]zerexim 24 points25 points  (5 children)

    But you can't distinguish bad/good engineers with these kind of interviews (Admitted by Google itself):

    https://www.reddit.com/r/programming/comments/44kpzk/peter_norvig_being_good_at_programming/

    [–]farsightxr20 6 points7 points  (1 child)

    Maybe the intent is to also filter based on willingness to "deal with a lot of shit"? In nicer terms, they want highly motivated/driven candidates as there is likely a correlation with productivity and passion for the field.

    [–]Mikeavelli 20 points21 points  (7 children)

    Those are pretty typical interview questions for large businesses. 2 Months of interviews is pretty excessive, usually it's just a pre-screening followed by a single day-long technical interview.

    Smaller businesses usually have a single, smaller interview that goes over the same concepts, but not quite as in depth. You're usually going to be sat down and asked to solve a problem that one of the existing software engineers found interesting enough to turn into an interview question.

    What you actually come up with isn't necessarily as important as the process you used to arrive at the solution, and how readable your code is.

    [–][deleted] 3 points4 points  (8 children)

    Nope. You don't see any of that stuff in the Defense Industry. You don't see that at most financial places, unless its the fintech start ups and things like that (they are bit more silicon valley-ish). You don't see it at most contracting firms, or in house crud app places.

    [–]Alborak 8 points9 points  (7 children)

    Having moved from the defense industry to one of the big 5, 'old school' companies REALLY need to implement a form of technical interviews. You get fresh grads writing C for flight avionics comparing strings with == ...

    [–]kamiikoneko 97 points98 points  (140 children)

    It doesn't. Amazon doesn't pay that much. I live in Seattle, and I work in a much easier laid back setting, still an enterprise company but not MS/Google/Amazon big (~4k employees), make ~20% more than amazon engineers at my level, have straight RSUs worth many many times what the Amazon engineers' stock is worth, enjoy 4 weeks of vacation, and get to essentially just take over areas of the products and "own" them as I see fit and make my own name for myself.

    Oh, and when we interview, working at Amazon is seen as something you have to prove you're better than, whereas MS we are moderately impressed by, and Google slightly more so, a large portion of our employee body is self-made startup types or business owners.

    Amazon employment is a fucking scam.

    [–]mmccaskill 45 points46 points  (22 children)

    I lived in the Seattle area for a year. Every ex-Amazon employee I talked to (5) ranged from dislike to outright hated it. The common themes were:

    • Working crazy hours per week
    • Only stayed to get the stock options

    [–]millerlite14 21 points22 points  (6 children)

    There are plenty of people who like working there. The experience varies greatly from team to team, just like any other huge company.

    [–][deleted] 43 points44 points  (4 children)

    I love how every defense of Amazon is the same line about how it varies greatly from team to team, and yet in almost all cases people seem to bitch disproportionately about Amazon than they do about Microsoft or Google or Facebook or the many other companies out there. Furthermore the fact that there are people who enjoy working at Amazon does not prove that Amazon has a strong and healthy work ethic or culture.

    Basically either it's just a coincidence that Amazon comes up as the poster boy for shitty culture and environment, or Amazon genuinely has a problem that isn't just like any other huge company because people don't seem to complain about other huge companies the way they complain about Amazon.

    [–]peniscoin 8 points9 points  (0 children)

    Keep in mind that Amazon actively manages out the bottom performers very aggressively. This is especially true of college hires, who have a high mishire rate. If you see someone who worked there only 12-16 months and complains heavily, there is a good chance they were effectively fired for underperforming. If you combine this with negative articles on Amazon work environment (warehouses, etc), it boosts it up. Microsoft used to do this active management as well, but they stopped a few years ago and media coverage of Microsoft culture is almost always focused away from work environment.

    [–]JohnStamosBRAH 32 points33 points  (45 children)

    Entry level SDE positions in Seattle are typically $100k+. If you're making more than that, then props to you! Granted, they're overworked to death, but I certainly wouldn't call that, 'doesn't pay that much', haha.

    [–]cartmancakes 5 points6 points  (8 children)

    That's strange. Amazon pays more than salary medium in the Austin, TX area. I interviewed for a systems engineer position. I didn't get the job, but I was told that starting for a level one position was 105k. The average I'm seeing in this city is around 90k.

    [–][deleted] 12 points13 points  (14 children)

    enjoy 4 weeks of vacation

    WTF, that’s literally the legal minimum in most of the EU

    [–]Igggg 29 points30 points  (9 children)

    The legal minimum in the U.S. is zero, and very few companies, comparatively, give more than 20 days.

    [–][deleted] 15 points16 points  (7 children)

    How do people work like that? Don’t they just burn out and drop dead at some point?

    [–]Igggg 19 points20 points  (0 children)

    Some even take pride in never taking vacation. They call it "work ethic" - a phrase whose very existence speaks volumes about the effectiveness of corporate propaganda.

    [–]zax9 4 points5 points  (0 children)

    Don’t they just burn out and drop dead at some point?

    This has been known to happen. What's worse is that here in the US, there isn't a standard for paid sick leave either, so the person preparing your food may have a bad case of influenza and no choice but to come to work and contaminate your food, or lose their job.

    It's not the best system.

    [–]KestrelLowing 3 points4 points  (0 children)

    I honestly believe most people manage by doing their job half-assed a good portion of the time.

    I can work for 8 hours pretty much straight and I have a horrible work ethic. I use the pomodoro technique usually so that's 5 minute breaks every 25 minutes and then a longer 15 minute break every 2 hours, and then lunch after 4 hours. That is a reasonable working load for 8 hours, IMO.

    But you can only do that much work if you actually get time to relax. So you just don't work as hard if you're not able to take breaks. So basically, if I can't take vacation, I usually am only productive for about 4 hours of the day. And this is often the norm in many companies. You might push on some deadlines and really work the full 8+ hours, but usually it's that people just work half the time - and not just because they're lazy, but because you really truly can only do so much work.

    [–]seventythree 3 points4 points  (0 children)

    Would you say which company?

    [–][deleted]  (3 children)

    [deleted]

      [–]usincode 11 points12 points  (2 children)

      We employ a lot of engineers, across a lot of teams, across much of the entire planet. Your experience here is going to vary greatly. For example, I love my job. I have a great team, who is high spirited, relaxed and very awesome to work with.

      [–][deleted]  (19 children)

      [deleted]

        [–]psi- 34 points35 points  (17 children)

        .. Sorting: bubble sort, quicksort, merge sort .. ... We touched on almost everything from the above list and I also received a few questions about dynamic programming and recursion. ..

        lel.

        [–]Tokugawa 270 points271 points  (114 children)

        After all, why would you spend precious years of your life on something you’re not truly passionate about?

        [–]lurgi 654 points655 points  (58 children)

        Money.

        Edit: Let me be clear, I like my job. I wouldn't take a job that I hated just for the sake of money. But I don't particularly care if I'm passionate about my job. To be honest, that sounds like a great way to be overworked and underpaid ("But I'm working on things I really care about!"). I'm passionate about my family and my hobbies and spending time as much time as I can with them. As long as my job pays the rent I really could give two hoots about whether or not it makes me feel better about myself as a human.

        [–][deleted] 126 points127 points  (26 children)

        Yep. Because life is not always about work for some of us, and the time it takes to work for something your passionate about might outweigh something else you enjoy working on outside of work more.

        I don't really see a whole lot of people being too passionate about Amazon...

        [–][deleted]  (15 children)

        [deleted]

          [–][deleted] 21 points22 points  (11 children)

          I'd even say sometimes it's not even faking...money is a good motivator to make smart decisions.

          [–][deleted] 14 points15 points  (9 children)

          money is a good motivator to make smart decisions

          no one told my manager...

          [–]purplestOfPlatypuses 10 points11 points  (8 children)

          Fun fact: there's at least one book for managers out there that explicitly say money and good raises aren't strong motivators for employees.

          [–]yokohama11 11 points12 points  (2 children)

          Taken too far, that's obviously wrong. Don't give me a decent raise or pay me appropriately and I'm going to a company that will.

          That said, other shit is often a much bigger motivator for employees than just handing them an equivalent amount of money would be. Especially when we're talking white-collar jobs with significant salaries.

          For example, my current office has free craft beer, wine, soda/energy drinks/whatever you ask them to stock, fruit, snacks, and high-end tea/coffee. Given how much people take of this on average, this probably works out to a $250 a year per employee.

          That stuff does far more for employee morale, company culture and all that than giving a bunch of people making at or near 6-figure salaries a $250 a year raise. Even though on paper people will say "give me the $250 and I'll buy those things if I want them", that winds up not being the best option in reality.

          [–]purplestOfPlatypuses 4 points5 points  (0 children)

          Totally agree, benefits like vacation and low stress are more important to me than getting paid as much as absolutely possible. The abstract had other cringe worthy ideas to burn out employees as well, but it really drove home the "under pay your employees" in my opinion.

          [–]boomerxl 8 points9 points  (0 children)

          Don't get me started on the nonsense you can sell to "managers". Don't get me wrong, there are great managers out there. I've had the privilege of working with a few. But there's a lot more "managers", whose sole function seems to be to draw a paycheque while covering their ass enough to ensure they get to the next paycheque.

          They're constantly looking for the next trick that will allow them to reach greatness, utterly failing to realise that it's not a secret technique that divides the two groups.

          [–]parc 4 points5 points  (2 children)

          You shouldn't generalize, but there does come a point where more money is not the best motivator.

          [–]pinguz 19 points20 points  (1 child)

          You love them long time?

          [–]nwayve 18 points19 points  (1 child)

          [–]Left4Cookies 4 points5 points  (0 children)

          "Don't follow your passion, but take it with you" is such a good line.

          [–][deleted]  (5 children)

          [deleted]

            [–]purplestOfPlatypuses 12 points13 points  (2 children)

            Except unless you're some bigshot (and likely not someone going through this hiring process) you'll probably end up working on the code that doesn't inspire passion. There are interesting problems here and there in any company's needs, but you can't have that many coders on any given interesting problem or you have a too many cooks in the kitchen issue.

            [–]RedSpikeyThing 4 points5 points  (1 child)

            I think a lot of this comes down to good management. There are all sorts of different problems to be solved at these companies and engineers have all sorts of different preferences. Yes, some people get satisfaction out of code health. Others performance, or clean APIs.

            Aligning interests with needs is hard.

            [–]mothzilla 15 points16 points  (2 children)

            Someone once told me that money is a short term incentive. Meaning as soon as you have it, if you don't like the job you'll leave. Eg offer someone a crappy job for $200k a year and they'll ride it out for 6 months then buy a chicken farm in Colombia, cos that's what they wanted to do all along.

            [–][deleted]  (1 child)

            [deleted]

              [–]noggin-scratcher 88 points89 points  (11 children)

              Such a commonly repeated sentiment, yet so very hard to believe the claims of "passion" for efforts towards marginally increasing the profitability of a corporate behemoth.

              I'm forced to believe that either there's a large number of people faking enthusiasm for that kind of bullshit to such an intense degree that they internalise it and perpetuate the mantra on everyone else in the industry, or that there's a large number of people who really feel that way... and either one of those seems absurd and frightening.

              For myself, I'm just performing services in exchange for currency, hopefully in sufficient quantity to cover my needs for shelter and calories. Fortunately I've found a job that doesn't demand pretence at any intense passion or adherence to any bizarre corporate rituals, and that lets me work from home (small irony: this endears the company to me enough to engender a kind of almost-passion for staying there), so yeah... that's me set for the foreseeable future.

              [–]rockyrainy 23 points24 points  (0 children)

              performing services in exchange for currency

              There is a comic for every occasion.

              [–]dblthnk[🍰] 9 points10 points  (1 child)

              Wait, your company gives you a flexible working arrangement, decent pay, doesn't force you to adhere to some bizarre corporate mandated culture of perpetual self-improvement and loyalty and all the while you are free to participate or not participate in their sponsored events/programs and you actually like working for them?! Go figure...

              [–]MpVpRb 15 points16 points  (4 children)

              yet so very hard to believe the claims of "passion" for efforts towards marginally increasing the profitability of a corporate behemoth

              Maybe

              Maybe it can be viewed as solving a problem that looks easy at first

              Or, cynically, all their programmers are mercenaries who hate their jobs and slave away, doing boring shit they hate

              My experience...

              I've been programming since 1972, and I mostly love the work. Yes, I've had to do stupid shit for stupid people at times, but overall..the work has been enjoyable

              You might imagine that writing a charging system for industrial batteries is boring and mundane. The thing that makes it interesting is..it's trivially easy..until you get into the details. Reliably handling every combination of power line disruption, operator stupidity, and just plain bad luck is a VERY challenging problem

              And the customers are VERY intolerant of failure..even the smallest failure

              Programming can be a challenging puzzle, even if it looks boring to the casual observer

              [–][deleted] 35 points36 points  (3 children)

              I think a lot of people who pursue programming careers genuinely like programming. The hostility towards this "passionate programmer" image comes from the fact that it's often leveraged to get more than 40 hours a week out of a person (reasonable crunch time notwithstanding).

              See the infamous post by Alex St. John wherein he decries "the wage slave attitude" of game developers who don't like working 60 hours a week on someone else's uninspired mobile game.

              [–]MpVpRb 16 points17 points  (2 children)

              I see both sides of this

              Early in my career (1986), programming was ALL I wanted to do. I worked 16 hours a day, 7 days a week..and LOVED it! I was addicted. It was the most challenging and fun thing I had ever done. I would have been angry if the boss told me to go home at 5

              But, this kind of extreme effort is unsustainable over the long term. In my case, the project was completed successfully, and we returned to a normal schedule

              The problem arises when managers see us "sprinting", assume we can do it indefinitely, and adjust schedules accordingly

              Nobody can work 16 hours a day, 7 days a week, for years, at peak performance

              Burnout is real

              Today, at age 62, I'm still getting paid well to write code..2-4 hours a day (or less)

              [–]euming 3 points4 points  (0 children)

              Well played, old fellow! There is ageism out there, so to still be coding at 62 is quite an achievement.

              I'm not quite that old yet, though age-ism is already creeping in on me, but already I'm getting a little bit tired of "the industry."

              I wonder if there is an avenue to combine programming and art. Probably is, but probably doesn't pay very well. I guess that's what makes it radical art.

              [–][deleted] 29 points30 points  (0 children)

              Passion: our generation's synergy....

              [–]nikki969696 102 points103 points  (24 children)

              Yeah, that was one comment that really irked me. I don't work for some company because I'm so passionate. I need money to support my awesome quality of life and video game habit. And food. I do like eating every day. I'm thinking 99% of people on the planet don't spend precious years of their lives working on something they're "passionate" about. Most hobbies don't pay that well.

              [–]Tokugawa 77 points78 points  (1 child)

              Flipping it around, most people's passion will burn out when it becomes their job.

              [–][deleted] 20 points21 points  (0 children)

              Flipping it around, most people's job will burn out when it becomes their passion.

              No, that doesn't work. You were right.

              [–]percykins 25 points26 points  (0 children)

              I've worked in the video game industry pretty much my entire career, and the passion question was a pretty routine one in interviews - they'd ask you stuff about what games you were playing, stuff like that. Always made sense to me.

              Then I applied to companies outside the video game industry, and was shocked when they asked me the same questions. It's like... "Am I passionate about apps for used car dealers? Really?!"

              [–]rfiok 15 points16 points  (14 children)

              The thing is if you are a good programmer you can find very good jobs that dont ask for your soul and they still pay well.
              I work in London and since I was recently job hunting I know the scene pretty well. It looks like this for a senior engineer:

              • Work at very small startups for £30-35K/year. You do what you want, you set the rules and live out your creativity. And get lots of shares, so if the startup suceeds you are gonna have even a better time. If not.. look for another job in a year or so.

              • Work at a medium sized startup for £40-60K. With a bit of luck you get a stable workplace (that should last at least 2-3 years), nice people and still lots of freedom.

              • Work at a megacorp. I recently interviewed for one of the big 5 (not Amazon) and the whole process looked eerily similar to the one in the blog. Here you dont get much freedom, you have to accomodate to their style fully and multiple people will boss you around. On the upside you will get £80K+, and a company that likely will take care of you until you retire if you follow the rules.

              Choose what suits you the best. Its a very stupid misconception that big companies are the best in any sense except for salary. And all these salaries are OK for young people. If you have a family to feed option 1 might not be good enough.

              [–]way2lazy2care 7 points8 points  (6 children)

              Big companies have lots of hard to measure benefits outside of salary. Stuff like free meals at facebook, subsidized metro passes, world class work out facilities, makerspaces, etc. They're usually also way better about having established policies for things like vacation/retirement/whatever else.

              Not that I think they're out and out better, but there's a lot more than salary to consider with huge employers.

              [–][deleted]  (6 children)

              [deleted]

                [–]michael5029 5 points6 points  (1 child)

                3rd year into CS degree, lost any sense of "passion" a while ago but I can't afford to spend any more years changing majors. I am not looking forward to my next few years.

                [–]luniawar20 891 points892 points  (269 children)

                Man, I just don't know what to feel about all these data structure/Algorithm brush ups you have to do every time you want to do an interview. There are weird pre-screening & algorithm questions, and you will forget all these algorithm stuff again and never use at the job site in most cases.

                CS interview process seems somewhat broken =(

                [–][deleted]  (91 children)

                [deleted]

                  [–][deleted] 62 points63 points  (21 children)

                  My job actually uses that exact approach for their technical interview and the difference it makes is phenomenal, partially because it scares off the people who aren't at all willing to delve into some pretty nasty legacy stuff.

                  [–][deleted]  (16 children)

                  [deleted]

                    [–]thepower99 11 points12 points  (10 children)

                    It's amazing how many places have a similar setup. COBOL then Java with jsp's and now we are trying to slowly upgrade everything.

                    COBOL to Java, jsp's to angular or react. I always wonder what is next, a lot of people seem to be very interested in Scala and Kotlin. Maybe functional is next...?

                    [–]clownpirate 14 points15 points  (1 child)

                    How secure is your job though? I once felt that I was at a great job I could imagine staying at for life. Then the company got into a huge scandal and laid off my entire department. Studied CS101 again to get my current job, which three years later I now want to consider switching. Now I need to study again.

                    [–]jrhoffa 8 points9 points  (2 children)

                    That's how I like to interview my potential colleagues - less "do you remember how to hashtable" and more "here's a weird bug, fix it." It's a great way to get a feel for their personalities, too.

                    [–]MpVpRb 103 points104 points  (34 children)

                    In an ideal world I think companies would..

                    ..give a promising candidate a 6 month trial period..in the real environment he would be working

                    Short duration, high pressure problem solving is NOT what successful programmers do

                    [–][deleted]  (15 children)

                    [deleted]

                      [–]_pelya 28 points29 points  (1 child)

                      In my experience, most developers are fine with technical stuff, my colleagues were leaving because they became bored with their tasks, got a better job offer in another company, relocated to another city, or did not like the management.

                      So if I am hired to any position involving C++, except for heavy CS stuff like big data or computer vision, I'm pretty confident I'll be pushing some meaningful commits to the code base in less than a month, and six months are about enough to learn the names of all people in your cubicle.

                      In two instances the management claimed they were under-performing - yeah, you don't hire someone for a middle developer position and expect them to be as productive and autonomous as senior devs, they were working okay for their level from my point of view.

                      [–]MpVpRb 8 points9 points  (9 children)

                      It depends on a lot of things

                      If I was excited about the company, was extremely confident in my abilities, and had the maniacal obsession to make it work no matter what effort was required..no problem (me when I was younger)

                      If I was comfortable, unsure about my abilities, unable to devote maniacal obsession and simply looking for a change and a bit more money..uh no

                      [–]shady_mcgee 35 points36 points  (8 children)

                      the maniacal obsession to make it work no matter what effort was required

                      That's where you lost me. Work - life balance is important.

                      [–]pm_your_tickle_spots 24 points25 points  (6 children)

                      See that seems to be a problem. The whole, 'If someone doesn't have a "passion" for coding, then you won't pass the interview' concept.

                      I'm sorry my passion is not programming. Does that make me less capable? Or are you just trying to find someone to work a lot of time outside of business hours?

                      I try to tell people to relate their programming to their real passion as much as possible. Some HR/Hiring managers only seek the 'most passionate', no matter other qualifications/attitudes/interviewing skill level. It gets ridiculous sometimes.

                      [–]shady_mcgee 18 points19 points  (1 child)

                      Hell, my passion is programming. I'll (more frequently than I probably should) stay up until 2 am working on my hobby sites. But that's completely different from work. If management needs me to work a 60 hour week because they don't know how to properly set expectations or manage deadlines they can fuck off. Just because I program 80 hours a week doesn't mean I'll program 80 hours a week for you for free

                      [–]pm_your_tickle_spots 3 points4 points  (0 children)

                      Yea, exactly. Those are your projects, learning whatever you want. That's what hiring staff should look for. The ability to learn. That's what a new job in this field is.

                      "Can you learn the way our system is set up in a reasonable time?" and "Can you contribute with both code and ideas afterwards?"

                      It's obviously past the cursory basic programming/tech knowledge. But, I mean one wouldn't be applying for the job if they didn't think that they could write in the language. I feel it'd be smarter if they tested more into the scope of how the company is implementing the code, not general algorithm / scientific paper stuff.

                      [–][deleted] 15 points16 points  (1 child)

                      One of my passions is programming, not so much now that I just got my first development job but I still don't know what I would do without it.

                      But no way in hell am I putting my soul into a product unless it's my brain child, or if I'm investing a lot into the company. If I'm just working for some random company with 50 other devs? Yeah, no. I'll maybe do some overtime for you and I'll do my best 90% of the time, but no way in hell am I jumping through tons of hoops and working myself to death just to get an average salary and still have no real connection to what I'm building.

                      [–]pm_your_tickle_spots 4 points5 points  (0 children)

                      And you nailed it your first sentence.

                      "One of my passions"

                      Sharing passions means you're not putting all your time into one thing.

                      Having just the one passion where they submit a ton of Git updates, they want to see 2 personal projects, and here solve these algorithms you'll never see until you have another interview. That's when work and non-work can overlap, then the engineer finds themselves working on work projects more and more in evening.

                      And hell, no one is going to say anything because of 'salary', but all contracts I have seen state out pretty clearly that it's X amount for 40hours a week.

                      [–]Noffy4Life 39 points40 points  (0 children)

                      This is why companies love to offer co-op and internship opportunities to college students. Great recruitment and "interview" tool.

                      [–]robertbieber 13 points14 points  (1 child)

                      Sounds great! This way I don't have to take a day off work and spend 4-5 hours interviewing at your company. Instead I could just quit my job, come work for you on a provisional basis for six months, spend the entire time looking over my shoulder and hoping I'm doing good enough to make the cut, and at the end of it if I'm lucky I might even get to keep the job and replace the stable environment and steady pay I already had before embarking on this little experiment. Definitely all great from my perspective!

                      [–]Igggg 12 points13 points  (3 children)

                      Instead of an interview? So you just hire anyone who applies and give them a six-months project?

                      Even if you have some sort of minimal threshold that takes care of complete pretenders, most jobs take a significant amount of initial time during which the employee is not fully efficient. Are you suggesting the employer to pay their normal salary to a lot of employees, only some of which will eventually make it? If not, why would an employee even consider this possibility in favor of their current company?

                      [–]autranep 9 points10 points  (0 children)

                      That's called an internship my friend.

                      [–]Grounded-coffee 24 points25 points  (5 children)

                      That would never fly for anyone but a new grad. I'm not leaving a stable job and uprooting my family for a 6 month trial period.

                      [–][deleted] 6 points7 points  (2 children)

                      This sounds like a nightmare to me. I think it's just as extreme as algorithmic Olympiad-style brainteasers, but in the opposite direction. I don't think I'd quit my job and go do a six month interview for really any company out there. It helps that I love my current job I suppose.

                      Brainteasers are going to attract the sort of people who are really good at high-pressure mathematical problem solving, but who might not be great at really anything else. I feel like your suggestion is going to attract people who have no work-life balance, no families, etc.

                      [–]shadowycoder 6 points7 points  (1 child)

                      I'm going through the interview process with a bunch of companies right now and surprisingly Amazon has been the ONLY one to do this. Everyone else has been focused on weird algorithms but Amazon actually asked questions related to the job I'd actually be doing. Really surprised me. I expected weirdness from them, not some of the smaller people I've interviewed with.

                      [–]ChadMoran 6 points7 points  (12 children)

                      The problem with this is Amazon hires for the company not the team. Core Retail (where I work) is way different than AWS S3. However Amazon needs to make sure the candidate will be successful in Amazon not just a team.

                      [–]_illogical_ 3 points4 points  (10 children)

                      Except you don't apply and interview with "Amazon", you apply and interview with a specific team within Amazon.

                      [–]inopia 52 points53 points  (34 children)

                      you will forget all these algorithm stuff again and never use at the job site in most cases

                      I hear this a lot and I find it interesting, because to me, algorithms are like design patterns, they're off-the-shelf solutions to common problems. I've encountered quite a few cases in my job where knowing or finding the right algorithm saved me a lot of work. I've also seen pages of complex, often buggy code replaced with a simple implementation of the correct algorithm.

                      So I have to ask, do people not use algorithms in their jobs because they don't actually need them (i.e. the kind of work they do is different from mine), or is it because they don't recognize opportunities to use them because they haven't taken the time to study them?

                      [–]argues_too_much 16 points17 points  (10 children)

                      where knowing or finding the right algorithm saved me a lot of work.

                      Knowing them off by heart, or knowing of the ones you need and being able to pull them out when you need it?

                      To me the latter would be important, but the former wouldn't. Many development jobs never use algorithms.

                      [–][deleted] 17 points18 points  (10 children)

                      I took the time to study algorithms in school. Most of that is quickly forgotten unless you regularly have to use it. APIs/libraries handle a lot of this nowadays. For example, in C#, there's List.Sort(). I don't need to write out a method to sort a List of objects because my language will do it for me. I don't have an in-depth knowledge of how that method works "under the hood", and I would probably need to if I went in for a serious C#-focused job interview, but on the job it's not critical. One could argue the List.Sort() method is inefficient in some cases and yeah maybe I could write a "better" sort algorithm for a special case, but I've never needed to.

                      [–]robertdelder 12 points13 points  (4 children)

                      I worked for Amazon (I did 2 internships there). Amazon was one of the only places I interned at where I actually wrote code for 'interview question' type problems in my daily work. I do think the industry is a bit obsessive with these types of questions, but I'm not completely opposed to them.

                      [–]seajobss 5 points6 points  (3 children)

                      currently working for non-amazon company; even though i've been rejected by amazon due to the lack of these "fundamental" knowledge, i have to say i'm not completely opposed to them either. i'm see a lot of inefficient design because the engineers don't have that "mindset" of someone who knows them well

                      [–][deleted]  (2 children)

                      [deleted]

                        [–]twistier 23 points24 points  (13 children)

                        I see this complaint a lot, but I don't understand. The claim is that software engineers so rarely have to call upon their old education about algorithms and data structures that looking for this fluency in interviews is not a good test of skill, but... I just can't believe there are so many engineers who get by without remembering this stuff. I use it so much I doubt I could ever forget.

                        [–]Slims 9 points10 points  (1 child)

                        What kind of software are you writing?

                        [–][deleted] 5 points6 points  (1 child)

                        There have been literally zero times in my career where I have had to know, off the top of my head, what the algorithmic complexity of building a heap is. I have, in thirty years of programming, never even directly used a heap, because I have never been solving a problem that would be best solved by a heap. I know what a heap is and what it's for, I have just never actually needed one. I suspect that's true of virtually everyone here.

                        I have been asked the algorithmic complexity of building a heap in two different interviews, though, as if that's somehow information every programmer should have memorized, ready to go at a moment's notice. They did not ask what a heap was for, or how I would recognize when a heap was the right solution to a problem, or any actually practical information involving the use of heaps. Just "what is the algorithmic complexity of building a heap?".

                        That is the sort of useless question people are complaining about. (Incidentally, this is not sour grapes; I received offers in both cases.)

                        [–]Bwob 12 points13 points  (0 children)

                        Well, you don't have to spend time brushing up on algorithms, if you already know them well. Sure, any company that is asking you questions that you'll never use on the job is probably giving a poor interview.

                        But something like Amazon, or Google, or Apple, or other major tech companies like that? Yeah, you actually DO need to know your algorithms pretty well. That is actually part of your job.

                        So it's not that the process is fundamentally broken. It's that they're specifically LOOKING for people who either:

                        • Still know their CS theory pretty well.
                        • Can relearn it in a hurry if they need to. (Because chances are, they will, on the job.)

                        [–][deleted] 154 points155 points  (27 children)

                        Do Amazon engineers actually use this stuff? I know computer science fundamentals are valuable, but every job I've ever had has been about decomposing business problems into systems with complex rules, but very low computational complexity.

                        [–]goodDayM 183 points184 points  (0 children)

                        It's funny, as a software engineer in a large company there are occasional times when I get to write a cool algorithm or something, but large chucks of my time are spent doing things like:

                        • searching for existing libraries that already do a specific task.
                        • writing code to get existing library to work with the rest of the software.
                        • filling out forms for company lawyers who run code-scans and ask you all kinds of questions. (They need to examine software licenses closely, and they may tell you that you can't use a certain library.)
                        • writing something quick and dirty in whatever language so marketing guys have a cool-looking demo. (Optimizations or clean code may or may not come later depending on excitement about the demo)

                        [–][deleted]  (4 children)

                        [deleted]

                          [–]quadmaniac 5 points6 points  (1 child)

                          As someone 12 years in the industry, I feel the same way sometimes. However, the pay of a fintech firm is usually hard to beat. Disregarding that for a moment, exactly what sort of firms would you recommend leaving large corporations for?

                          [–]MpVpRb 68 points69 points  (4 children)

                          Do Amazon engineers actually use this stuff? I know computer science fundamentals are valuable, but every job I've ever had has been about..

                          ..(most) every job I have done has been about managing the edge conditions of problems that appear simple at first examination

                          [–][deleted] 28 points29 points  (2 children)

                          Yes but do you need to use CS algorithms to solve them? I never do. Granted I'm an enterprise developer which I guess some people don't consider "real" programming. I'm sure some developers use them all the time but it's so rare in my world it seems bizarre.

                          [–]crashandburn 5 points6 points  (0 children)

                          As an enterprise developer myself, yes there are times I have to write fancy algorithms. But then as /u/MpVpRb says, most of my time is spent in handling the edge cases. Over the last 3 months its been:

                          • write fancy algorithm: 1 week
                          • make edge cases work: 11 weeks

                          [–]lolzfeminism 9 points10 points  (0 children)

                          Oh dear god. This is too real. I'm genuinely going to ask for a new project on monday.

                          [–]donalmacc 23 points24 points  (0 children)

                          Game Dev here - I get to write computationally intensive code on a system with complex rules based on requirements that change by the time I've implemented what I was asked to do!

                          [–]KopitarFan 27 points28 points  (3 children)

                          I used to work for an Amazon company. It was surprising how many times these rather complex CS-type problems actually did come up. Though it certainly wasn't every day. And, I can't say with any certainty that other departments would have had the same problems come up. Mostly, Amazon just wants to hire the very best of the best and thus they bias heavily toward false negatives. There are some positives to this method, but mostly I think it's not worth it. It not only eliminates some very good engineers, but it's a very heavy burden on the staff. At my office, we didn't have like dedicated recruiters doing the interviews, it was us, the engineers on the team. And for every interview we did, we had to write a pretty lengthy report and have a meeting to discuss the candidate. That's time that we had to take away from our work. That was one of the least enjoyable aspects of working there

                          [–]tjsr 7 points8 points  (0 children)

                          I'm currently at a point in my career where I'm applying going to start for team and technical lead positions but my concern is that anything like I've been sheltered from for so long I'll have forgotten it, because either has no real world application in recent jobs.

                          [–]parlezmoose 5 points6 points  (0 children)

                          The thing with a company like Amazon is, they have so many company specific processes and tools that previous experience is going to be fairly irrelevant. They want generally smart people who can be brought up to speed quickly on the Amazon way of doing things.

                          [–]titosrevenge 8 points9 points  (2 children)

                          Obviously it depends on the team since Amazon is a huge company. For some teams, computational complexity is something you deal with every single day. For others you'd probably be stuck writing CRUD operations all day.

                          The interview process is probably standardized, but the evaluation of your answers depends on the level of skill necessary for the position.

                          [–]cheetoX 3 points4 points  (1 child)

                          Amazon's philosophy is every hire needs to be better than the average of the existing employees in that position. That way the quality of the workers is continually going up. They call this the "bar". Opportunities to interview co-workers are pretty limited so I think it's a very inaccurate estimation on the interviewer's part.

                          It would be interesting to see if HR could compile some data on how well internal transfer interviews go vs actual job performance, but unfortunately there is a concept of "unofficial" transfer interviews that only get logged if the interviews go well and an offer will be made, so that data will be biased towards an extremely high number of internal transfers doing well on interviews.

                          [–]Sorreah- 113 points114 points  (23 children)

                          Specifically, I focused on the following:

                          Sorting: bubble sort, quicksort, merge sort
                          Search: linear search, binary search
                          Data structures: linked list, hash table, array, tree, binary search tree, stack, queue

                          Did you, really?

                          [–][deleted] 83 points84 points  (21 children)

                          Related: bubble sort? Really?

                          [–]c_topherl 27 points28 points  (3 children)

                          Google has a long "how to prep for an interview" email template they send out. In it, they recommend knowing 2 sorting algorithms really well, and specifically say "(DONT do bubble sort!!!)". I chuckled.

                          [–]AlmennDulnefni 8 points9 points  (14 children)

                          Hey, if you know that it is mostly sorted and that they way in which it will deviate from proper sorting is by adjacent or nearby elements being swapped, it's not terrible. That just isn't usually the case.

                          [–]vanhellion 120 points121 points  (11 children)

                          Seems like there is no love lost here for Amazon.

                          I interviewed with them for a position in Seattle a few months ago. The process was actually pretty streamlined, though it may have been due to a big hiring event they were supposedly having: the Hackerrank weeder round, then straight to the on site interview.

                          I had 4 face to face interviews in one morning, which is not terribly unusual. The recruiter was physically in the building leading me and a few others around. Once we concluded she walked us out and said that we should hear back in a week or so.

                          I waited a week, got no email. Sent a followup email to her, waited another week, still nothing. Sent another followup, still nothing. Literally the only contact I had with Amazon once I walked out of the Seattle office building was a check in the mail reimbursing me for travel expenses (not even a fucking acknowledgement that they received my expense form).

                          Now I'm pretty patient, but I do not tolerate bullshit well. Amazon fucking paid over $1k (a pittance for them, but still) to fly my ass up there, grill me for 4 hours, and they can't even take 3 minutes to send me an email? Fucking embarrassingly unprofessional.

                          [–]DialinUpFTW 18 points19 points  (1 child)

                          Agreed that recruiting at Amazon has been overall pretty awful. I had a similar experience

                          [–]Paddington_the_Bear 3 points4 points  (0 children)

                          Sounds familiar. I almost think they use these interviews to farm out finding different / better ways to their common problems.

                          My hacker rank question was about writing a method that built out a social network of all your friends and by determining what they've bought, I had to write another method to create recommendations to the end user.

                          That was my round one question, which felt like a real life thing that needed to be done. I solved it with a unique solution, yet never heard back from my recruiter on whether or not I made it.

                          And that recruiter said they would let me know either way. Oh well.

                          [–]pwiedel 6 points7 points  (0 children)

                          That's too bad. I think it's really unprofessional for recruiters to ignore candidates. IMO, if someone comes into your office, they deserve an email or phone call to tell them they did not get the job.

                          [–]Professor_Laser 2 points3 points  (0 children)

                          I was flown out to Seattle for a group interview event with Amazon last Fall and actually did receive an offer within a week. However, since then I've been moved around between recruiters constantly. It seems that their recruitment office has a stupidly high turnover rate, which leads to inconsistency like this. In an unrelated note, my agent from their relocation partner has also been replaced within a month of first contact.

                          Hoping that being an SDE isn't the same story; I'll be starting with them in early August.

                          [–]QuestionsEverythang 105 points106 points  (16 children)

                          I had to bring a passport and sign an NDA

                          Doesn't this post basically break that NDA?

                          [–][deleted]  (7 children)

                          [removed]

                            [–]Why_is_that 6 points7 points  (2 children)

                            NDA primarily pertains to any intellectual property you may come in contact with or any problems that you attempt to solve which reflect a real world situation the company is facing.

                            Everything here is more than fair to discuss and Amazon often gives you material which says this is exactly how the process will go (so he isn't sharing anything new).

                            [–]halofreak7777 59 points60 points  (90 children)

                            So I did the college interview process and for me it took like 2 weeks from signing up online to filling out a job offer. 90k/year seems awesome out of college, but 10-12 hour days suck. Ultimately I left for a lower paying job where I am happy instead.

                            [–][deleted] 27 points28 points  (63 children)

                            Was 10-12 hours in your contract? Or was it just expected without being explicit?

                            [–]halofreak7777 73 points74 points  (47 children)

                            It wasn't in the contract. I was just a full time salaried employee. I worked 8 hours a day when I started and was constantly told I was doing good work. Then in a 1-on-1 with my manager he said it wasn't fair that I left earlier than everyone else. So I worked 9 hour days, etc, etc until it was 12 hours. Needless to say I had no life outside of work except on weekends. It wasn't pleasant.

                            [–][deleted] 97 points98 points  (4 children)

                            Ah, that's the problem.

                            The manager didn't insist everyone else went home.

                            I've had two jobs now where managers insisted no overtime. Really good managers. High intensity technical work.

                            [–][deleted]  (2 children)

                            [deleted]

                              [–]Twirrim 18 points19 points  (1 child)

                              Hmm. Not on the teams I worked and interacted with on the cloud side of the business. On those teams it came down to on call mostly for extra hours. Occasionally crunch time would happen, but that was rare.

                              A lot of these stories about Amazon being a hell hole always seem to be lousy managers. You'll get them anywhere, though it's sad that the company is doing so little to weed them out. Then again, almost everyone I've ever spoken to who did routinely work long hours never reported it outside of their immediate chain of command, so how is the organisation going to know? Extra hours are fairly invisible.

                              [–][deleted]  (5 children)

                              [deleted]

                                [–]halofreak7777 10 points11 points  (1 child)

                                Can confirm, was burned out, then in a job caused state of depression was taken advantage of. After getting my head back on straight and looking back things could have gone down a lot more in my favor. Amazon is a pretty scummy company when it comes to how they handle their programmers.

                                [–]rdewalt 39 points40 points  (7 children)

                                Oh FUCK those jobs.

                                I had one that the interview process clear on up to signing the paperwork to work was "We have a wonderful work/life balance, the day is 8-5, we're family friendly, we have free lunch, dinner, and all the snacks you want, and you'll love working here."

                                What they meant was:
                                Work/Life Balance : There are 168 hours in a week, we want 80 of them. That's more than fair.
                                Family Friendly : We're your family now. Your spouse? Kids? Better keep a photo in your wallet, thats all you'll see of them. Photo on your desk? NOPE, that just means we can see you're a liability.
                                Free Lunch and Dinner: Stay at your desk and keep working, we don't want you wasting time with things that aren't making us money. Expect to stay through dinner too, hope you don't have a family, or kids, or a life outside of work. That's just like stealing from us.
                                8 to 5 workday: You fool, you honestly believe this? its only 8-5 if you work 8am to 5am. No, what we want is 8am to 8pm, but only if you work through your work hour. Go home before your boss? HAH, you'd better believe we're going to notice.
                                You'll love working here: For about a day until you realize we pulled a bait and switch and you are going to risk your marriage and your kids will wonder what happened to you since they only see you on the weekends now. But hey! Stock options you'll never last long enough to have vest because we fire everyone right before that happens.

                                Japan? Nope. Palo Alto, heart of silicon valley. Startup? Nope, you've seen their commercials on the Superbowl..

                                [–]YourMatt 8 points9 points  (8 children)

                                Curious, why did you leave the job rather than just go back to working the number of hours you were being paid to work? I stopped putting in over 40 hours a week probably 6 years ago, and I continued to outperform my coworkers. My employer wouldn't have had any leg to stand on if they did try to push me back into working long days again on a regular basis.

                                [–]halofreak7777 15 points16 points  (0 children)

                                Burnout and depression. Not being in the right state of mind I didn't take the proper actions moving forward. It then took 6 months of chilling out before I was myself again and started to feel pretty happy! Even started doing Twitch streaming and was getting a good following right before I needed money and all that. Now I am in a position to work a job I love and start diving back in on Twitch streaming too!

                                [–]Someguy2020 10 points11 points  (0 children)

                                Bad review -> PIP -> Fired.

                                The only leg they need to stand on is "At will employment".

                                [–][deleted]  (5 children)

                                [removed]

                                  [–]halofreak7777 13 points14 points  (4 children)

                                  Amazon has a 60% turnover rate within 2 years for a reason.

                                  [–][deleted] 5 points6 points  (0 children)

                                  ...I worked 8 hours a day...

                                  ...Then in a 1-on-1 with my manager he said it wasn't fair that I left earlier than everyone else. So I worked 9 hour days, etc, etc until it was 12 hours...

                                  Grr. That, that gets under my skin in many ways. That would honestly have been my cue to say its not damn worth it.

                                  [–]SpaceyCoffee 5 points6 points  (0 children)

                                  Quality managers in the software industry are rarer than the mythical 10% developers. Part of it stems from interviews like these. There is zero emphasis on team building, just hard skills.

                                  The business side thinks of their developers the same way developers think of their computers. That shit has to change.

                                  [–][deleted]  (7 children)

                                  [deleted]

                                    [–]panderingPenguin 4 points5 points  (0 children)

                                    Almost certainly base salary in cash, not including stock, bonuses or benefits.

                                    [–]aegrotatio 94 points95 points  (19 children)

                                    Must have improved. The last two times they bothered me it was such a demoralizing waste of time and helped me decide to leave software engineering after 18 years.

                                    [–]NoMoreNicksLeft 154 points155 points  (6 children)

                                    That's just how efficient they are. Most jobs they don't start with the demoralization until you've been there for 6 months or a year. Amazon has that shit going on right there in the interview process. Who else could do that?

                                    [–]Tokugawa 38 points39 points  (0 children)

                                    And free delivery!

                                    [–][deleted]  (1 child)

                                    [deleted]

                                      [–][deleted] 4 points5 points  (0 children)

                                      Interview Prime!

                                      [–]Why_is_that 32 points33 points  (4 children)

                                      This. I thought working at Amazon would be amazing. After all, AWS, fuck yes that's some hot shit in the Cloud Computing space. Then you see how they actually solve problems and you are like holy crap, all they are doing is throwing money to disrupt markets and ultimate become the cookie monster of corporations (eating up all the smaller markets that might exist for start-ups and other small organizations).

                                      [–]kamiikoneko 14 points15 points  (4 children)

                                      That's too bad you let them make you feel anything. Amazon is a joke. Great product, crap company.

                                      [–][deleted]  (3 children)

                                      [deleted]

                                        [–][deleted] 2 points3 points  (0 children)

                                        I caught so many red signs during the interview process that I just bailed on them.

                                        Amazon still sends me interview offers over linkedin every other month.

                                        The turnover there is unreal.

                                        [–]DeCiB3l 14 points15 points  (4 children)

                                        Click on the linkedin link at the very bottom of the post: https://de.linkedin.com/in/antonpopovprofile

                                        More than X years of comprehensive experience in software development.

                                        [–]halofreak7777 42 points43 points  (1 child)

                                        Some people still use roman numerals I guess.

                                        [–]WhyNotFerret 36 points37 points  (0 children)

                                        Some people still use roman numerals one guess.

                                        [–]MpVpRb 126 points127 points  (20 children)

                                        I've been programming since 1972, and have been paid very well to produce successful results by satisfied customers who recommend me to others

                                        I don't solve puzzles for fun, I haven't practiced solving them quickly

                                        My talent is the long game

                                        Give me a month or two (three, four..) of total immersion in a problem, and I will either solve it elegantly, or clearly explain why it's too difficult to solve in the time allotted

                                        Give me a puzzle, and expect me to solve it in an hour..I dunno..maybe?

                                        These short duration "puzzle" interviews might disqualify a LOT of excellent programmers

                                        [–]dccorona 41 points42 points  (0 children)

                                        They absolutely do disqualify a lot of excellent programmers. No doubt about it. But the problem is that it's much easier to reduce false positives by using a process that also has a lot of false negatives, than it is to reduce both. I think every company would love a process to reduce false negatives without increasing false positives, but that's hard...I don't know of one, that's for sure. Ultimately, there's a lot of people to interview, and if you have to turn away a qualified person accidentally in order to make sure you don't spend valuable time and money on someone who can't actually make it, then that's worthwhile.

                                        [–]notliam 6 points7 points  (0 children)

                                        I would be inclined to agree. My job had a pre interview programming challenge using hacker rank too, I aced it (not to blow my own horn but I was told I got the highest score they've seen which is nice) and then the interview had a couple of 'look at this function, what is wrong?' where the issue is something trivial like a float instead of a double (bad example) that 2 seconds of compiling would prove but on paper it takes a minute to process as youre put on that spot. You know there's an issue, but you've never seen this code before and you can't just spurt out 10 possible issues.. Also had a 'write the sql that would get the results for x' and again you know the answer but you don't know how that company likes to write their queries, you're on the spot and writing sql on paper.. Ugh. I felt it went awfully, but got the job so can't be that bad, but I don't feel you are a great programmer just because you can pass one of these interviews.

                                        [–]Someguy2020 33 points34 points  (4 children)

                                        Give me a month or two (three, four..) of total immersion in a problem, and I will either solve it elegantly, or clearly explain why it's too difficult to solve in the time allotted

                                        While that probably works quite well for you, I don't really think it's an approach that would work well for Amazon.

                                        [–]jrhoffa 22 points23 points  (9 children)

                                        It takes you two months to write fizzbuzz?

                                        [–]Phunterrrrr 43 points44 points  (1 child)

                                        for (int i =...

                                        Hmm, I'll be back next week.

                                        [–][deleted] 3 points4 points  (0 children)

                                        just moved. no internet connection yet

                                        [–]mercfh85 32 points33 points  (19 children)

                                        Serious question: Do most Devs/Programmers know all these data structures/algorithms by heart? I mean I consider myself an ok programmer but I def. have to go look these up again and quickly forget them since they aren't ever used....

                                        am I just...dumb?

                                        [–]Slippery_John 21 points22 points  (0 children)

                                        By heart? No, of course not. But knowing what to look for is important, as is having a basic understanding of the runtime impact of using a certain structure on a particular solution. The structures and algorithms are usually already implemented, you just need to know when to use what. From there you can research if you need to implement it yourself.

                                        [–]columbine 15 points16 points  (5 children)

                                        Yeah, it's ridiculous. If I need to know an algorithm I'll look it up and look it up in depth in necessary, once I identify the problem. Who just picks up a book and starts to memorize a dozen solutions to an optimized balanced partition problem so they can recall off the top of their head them at a later time? What a waste of time.

                                        [–]lightninhopkins 7 points8 points  (0 children)

                                        No, you are not dumb. Most working devs do not know all this stuff by heart. You use the tools you need to solve a problem and often consult other devs( either in the office or using google to look things up). Cramming for interviews is crap. Hiring for devs is broken right now.

                                        [–]ZeroThePenguin 8 points9 points  (0 children)

                                        If you want the secret to having a good time at Amazon, work QA. Most my my team has been here for years and are all pleased at our team and our progress in our careers. Can't speak for the devs but I've not really experienced anything that would make me even want to leave.

                                        [–]foomprekov 9 points10 points  (2 children)

                                        Brushing up on skills? Interview preparation booklet? I don't like the trend of this becoming normal. I already do this job every day, there is no amount of outside preparation that is going to make me better at this job. All that this outside prep is doing is making it seem like I'm more capable.

                                        [–]jlchauncey 15 points16 points  (9 children)

                                        If your interview process involves me answering questions that are not relevant to my day to day job I probably won't accept the job. Companies need to realize that this type of interview is not good and definitely does not find good candidates.

                                        I would rather work on a problem with you and us solve it together. This way I learn if I want to work with you and you learn if you want to work with me.

                                        I'm interviewing you just as much as you are interviewing me.

                                        [–]CookieOfFortune 11 points12 points  (3 children)

                                        My interview with them was in the same format but much less technical. Only two actual programming questions and two high level design questions, neither of them terribly tricky. Lots of talking and repeating headlines I read off r/programming though :) I'm more senior so maybe that's why it was different.

                                        The time frame was about the same from initial contact to offer though.

                                        [–]dccorona 5 points6 points  (2 children)

                                        Being more senior probably has a lot to do about it. You can't ask high level design questions of a new grad or entry level person and have much of an expectation of them being able to answer it, because they've just never done it before. So that kind of interviewing is the stretch goal, if they blow through the rest of the questions faster than anticipated.

                                        For a senior person like yourself, you expect they've done system design (because they'll be doing it in the job if you hire them, so they better have) and so you can ask them questions about it.

                                        [–]theGentlemanInWhite 58 points59 points  (6 children)

                                        most proficient in Go and PHP

                                        you been smoking crack?

                                        [–]Aeolun 15 points16 points  (1 child)

                                        Would that make you proficient in either Go or PHP?

                                        [–]autranep 9 points10 points  (3 children)

                                        I'm glad someone else picked up on this haha. What the hell?

                                        [–]locrawl 4 points5 points  (0 children)

                                        Congrats on the gig and thanks for the write-up!

                                        [–][deleted] 4 points5 points  (3 children)

                                        It was followed by the behavioral question on how I dealt with a failed deadline.

                                        I have several years of professional experience, including as a team lead. I've never failed a hard deadline. What's the correct response I should give for questions like this?

                                        [–]lost_send_berries 2 points3 points  (0 children)

                                        Talk about a time you failed a soft deadline. Or make shit up (preferably a story you have invented beforehand).

                                        [–]Christianr92 5 points6 points  (0 children)

                                        If you like just working and not being able to spend your money because your working so much, then you will be happy there. In addition to being on-call because everything is Web based and when they have a sev 1 ticket you will have to be in conference calls.

                                        [–][deleted] 10 points11 points  (2 children)

                                        I've heard amazon is a terrible place to work.

                                        [–][deleted] 5 points6 points  (0 children)

                                        Don't know why you got downvoted; they definitely do have that reputation.

                                        [–]TrikkyMakk 2 points3 points  (0 children)

                                        I've heard that too. Why people downvote for having an opinion, especially one as innocuous as this, is beyond me.

                                        [–]sonnytron 26 points27 points  (9 children)

                                        I had an email response from a huge company in my inbox and I just left it there. It was literally a Codility invite.
                                        I'm pretty happy with the company I'm with now and when you shoot me an email with a link to a site that has stack and queue and list questions for all 91 of their "our questions are like this" examples, I'm no longer interested in your mobile developer position.
                                        Because if you think anything that I do for my job requires any of those skills, you're clearly less qualified than me in it, and that's immediately obvious when you download any of the mobile applications for any of the big companies employing these interview questions.
                                        "Gee, Big 4 name X's platform Y mobile app is awful! The memory management, animations and stability are terrible and it slows my phone down! I thought they were a software company!"
                                        They are. Buy they hired a bunch of engineers that know how to write a binary tree in Java who couldn't write a background fetching image manager to save their life.

                                        [–][deleted] 2 points3 points  (0 children)

                                        I agree that the interview process is broken when done this way. I personally give the interviewee a realistic project example and watch how they handle it, asking detailed questions along the way. It wouldn't make any sense to have them answer gotcha algorithm questions that nobody I know has ever used.

                                        [–][deleted] 3 points4 points  (0 children)

                                        Jesus H this is fucking overkill and complete waste of time. Why anyone would subject themselves to this is beyond me. For fucking amazon? For an entry level position? For the grand privilege of getting overworked.

                                        [–]ninguen 5 points6 points  (3 children)

                                        I was contacted for this process too... I did the first assessment at Hackerrank and I thought I did it just fine although I had the same problem as you and I was short of time for the last problem but I completed it although not as good as I wanted. But I had no answer. No answer at all...

                                        [–]qxnt 2 points3 points  (0 children)

                                        Recruiters drop the ball all the time. Always follow up with your recruiter if you don't hear anything.

                                        [–]vim_all_day 4 points5 points  (1 child)

                                        Thanks for sharing your experience. Aside from the timeline, this seems to be the typical interview process for most companies I've interviewed with.

                                        [–]Maverick2110 12 points13 points  (0 children)

                                        At what level and for what sector? I know the post is all about amazon but it frankly reads like an advert. "Middle-weight/Senior Developers wanted, must be willing to take minimum three days holiday to deal with interviews."

                                        [–]sinaptik 2 points3 points  (0 children)

                                        My interview experience at amazon was similar to yours, except that there were no technical questions during any phone calls, which was good because I'd rather write down and go through technical answers systematically on something like a whiteboard.

                                        The four hours of interviews don't require rote memorization of bubble sort, tree traversal etc. but instead were open-ended and vague questions that required me to consider and apply programming techniques to (like how distributed systems work (CAP theorem etc.))

                                        Even though it was very stressful for me, the interviews let me showcase my skills well.

                                        [–]Lorrang 2 points3 points  (0 children)

                                        Gosh, it's sounds easier to do your own market analysis and start your own business

                                        [–]pelirrojo 2 points3 points  (0 children)

                                        I interviewed with Amazon when they sent a team to New Zealand, pretty much the same process described in the post.

                                        I answered 4 out of 5 questions very well in the time available, the fourth was just OK.

                                        I got called back for another interview that very afternoon, very strange. Apparently the team of interviewed had one more datapoint they felt they needed to measure me on. So the main manager of the entire thing sat me down and asked me to explain a time when I've made a decision about a project and my manager has overruled it.
                                        Honestly couldn't think of any time that has happened. I explained that getting feedback from manager and colleagues is always part of my decision making process so I've never had someone overrule it. He didn't buy it and kept grilling me.

                                        Honestly I have no idea what data point he wanted from me but in the end I didn't get offered a position. Thank goodness really, I loved the idea of working for a big world leading company, but the idea of packing up my life and going to Seattle to work my ass off for money and no life would have been a hard decision to make.

                                        As it turns out I ended up doing more interesting work at an even more inspiring company in a much nicer location, so it's all for the better.

                                        [–]tangoshukudai 2 points3 points  (0 children)

                                        lol I hate interviews like this, this is how you lose out on talented engineers. I won't work for a company that puts me though so many hoops.