top | item 20379425

Amazon to Uber: From the lens of a software engineer

119 points| elixirofhope | 6 years ago |medium.com | reply

90 comments

order
[+] aminadude|6 years ago|reply
I’m at Amazon now. None of the teams I’ve been on have had an absurd on call burden but I do know of teams that do (not in my org) and therefore struggle with high turnover (people don’t really leave Amazon burn just switch teams in my experience).

Overall, it’s made me better leaps and bound as an engineer prior to when I joined. Over the years when I’ve picked up a book on scalable systems or design, I easily identify the patterns of failure or whatever topics mentioned because I’ve had to deal with them on the job.

Amazon isn’t for everyone. My stress and anxiety level is generally pretty high.

I work with really really really bright people (compared to my previous companies) but being extremely intelligent doesn’t speak to your character. As a matter of fact, really intelligent people with bad character are 100x worse than Todd from my previous company who did very little work and was merely collecting salary.

If you have an opportunity to work for Amazon, at least as an SDE I say definitely go for it. But, if you want a relaxed 8-5 job, it may not be the place for you. The teams I’ve been on are full of overachievers but too many of those people in one room isn’t always a good thing.

[+] mabbo|6 years ago|reply
> But, if you want a relaxed 8-5 job, it may not be the place for you

I've been at Amazon 7 years. I mostly work 9-5, plus offset (ie, if I get in at ten, I leave at six). My biggest barrier to working those hours is that I like what I'm working on.

[+] xxxpupugo|6 years ago|reply
> My stress and anxiety level is generally pretty high

Yep. Amazon is not subtle and demands its ROI on you to be HIGH.

[+] random42|6 years ago|reply
I like the post, but would like the OP to do a recap after working 12/18 months or 2-3 teams in Uber. 1 month is too short of a time to have meaningful outlook of the current situation.
[+] jumbopapa|6 years ago|reply
How often do you typically switch teams at a Big N company? I recently graduated and started working at a large engineering company and it seems that most of my team members were hired on to my team and have stayed there since.
[+] googlemike|6 years ago|reply
My Amazon interview was the most ridiculous experience I have ever had interviewing anywhere. That round I got offers from Facebook (insta), Google (team matching said maps), Uber (eats) and a few others but not Amazon. At Amazon, I pulled out and declined with an email to my recruiter from the lobby of the building at the end of the day. My interviewers were broken up into two categories: Engineers who didn't want to be there, and terrible mid level managers that quizzed me on memorization of their company competencies. One of the managers was clearly reading his questions from a list, and did not care at all about what I had to say. That, combined with the sad office (manager's share a tiny office, everyone else sits in grey cubicles without sunlight), and no food or snacks (it matters) really broke it for me.

All that aside (I am willing to chalk it up to luck, god knows my first (failed) round at trying to get into Google went terribly), Amazon clearly does not compete by hiring the best engineers. Rather, they compete by throwing money at the problem and undercutting everyone else, getting by with mediocre engineering.

[+] ex-aws-now-goog|6 years ago|reply
> Amazon clearly does not compete by hiring the best engineers. Rather, they compete by throwing money at the problem and undercutting everyone else, getting by with mediocre engineering.

Evidence please. Amazon has a lot of freaking fantastic engineers and "throwing money at the problem" is definitely not how they solve problems.

It's a huge company and not every single engineer is excellent and there are definitely rotten bits but that's true of _every_ company that's large enough.

[+] angarg12|6 years ago|reply
One of my friends has a saying that is very difficult to translate to English, but a fair translation would be "everyone has different memories of the party". The point is not to use anecdotal evidente as absolute truth.

Maybe a few rounds of interviews with each company could help to paint a better picture. Personally I could say me interviews with Amazon have been some of the most pleasant I had so far, while other companies have arrogant engineers that ask incredibly hard algorithmic problems that you would hardly ever find in real life.

Just because I had one bad interview doesn't mean I should write off the entire company.

[+] austincheney|6 years ago|reply
It could be worse.

I recently had an interview with a 5 day code assignment to build services, perform data transform against several competing requirements, and some other things. I provided lots of code comments, interactive documentation, test data samples, and a detailed readme file about as long as the code to explain how I went about things and how to reproduce my results

The feedback was only that the code was disorganized because all 750 lines were in one file and there was no test automation. I really got the impression they didn’t even look at the code or execute it to see if I achieved success or followed instructions. Felt like they were just wasting my time.

All my big GitHub projects are on my resume. They could have given me nearly identical feedback by looking over my GitHub projects and not waste either of our time with this ridiculous assignment.

On the upside I view this as a somewhat positive thing because if their developers can’t read code then I probably be miserable there.

[+] C1sc0cat|6 years ago|reply
If your doing competency based interviewing (which Amazon appears to be doing) its on you to demonstrate the competencies.

But it does seem that Amazon's interviewing is not the best - I have worked for places where you had to take and Pass a 2 day residential course before you where allowed to interview candidates.

[+] sabana|6 years ago|reply
What's wrong with reading pre-prepared questions from a written list? (nothing)
[+] ksec|6 years ago|reply
While many may hate Ruby Rails for whatever reason, Basecamp's way of operating business has been fascinating to me, and DHH has pointed out many obvious flaws in the way today's business operate that no one bothers to speak about it. They have been talking about hiring [1], and more to come in their podcast ( Not sure if that is out yet ).

[1] https://m.signalvnoise.com/its-high-time-to-rewrite-the-hiri...

[+] draw_down|6 years ago|reply
This is where a bunch of people insist that the whole company isn’t like that, it depends on your team, as if that excuses this type of thing.
[+] craigzucchini|6 years ago|reply
Based on this, and the consistent theme that seems to run through the rest of your comments, it seems to me that all of these companies could stand to do more to assess the character of their interviewees. Reading this in the most charitable way I can still results in it coming across as arrogant, attention-seeking, and as you've made it to age 22 having experienced no hardship at all.
[+] jxramos|6 years ago|reply
> If you identify an engineering problem that you want to tackle and it would benefit Uber, the management is very likely to allow you to spend time in solving that problem even if that problem scope if outside the team’s ownership.

The above sounds very refreshing and open minded.

[+] sriram_iyengar|6 years ago|reply
Good post from Divij. I worked at amazon a decade back and my 2 biggest learning there were from (1) building large scale infrastructure components (2) DevOps is an inherent responsibility of Dev.
[+] codeisawesome|6 years ago|reply
Remarkably well enunciated into an arguably mysterious world for devs on the “outside”.
[+] sgt101|6 years ago|reply
How do you manage devops systems over long term? What happens when the team get sick of their pagers and leave?
[+] wikibob|6 years ago|reply
Build a culture of fixing the alerts and pages. Having the people who write the software answer the pages builds in a closed feedback loop, incentivizing reducing the operational burden.

If an external Ops group takes the burden of responding to pages, there is no feedback loop nor incentive for those writing the software to reduce the burden!

[+] jaiahshs|6 years ago|reply
Regarding the Amazon social side (which often gets a bad rep), in our org we have office happy hours twice a week with beer, occasional games and good food. People are friendly, get to know each other across teams and the culture is fairly relaxed. No team ceremonies or implied obligations.
[+] vkou|6 years ago|reply
The problem with workplace bonding over drug use is that it either causes people with substance abuse problems to either self-select out of participating, or abusing substances, or being stressed out by them being consumed in the workplace.

I say this, as a drinker, who does not have a substance problem.

It's one thing if the team occasionally goes out for an activity, which culminates in drinks. It's another thing when the thing people do every Friday afternoon is drink.

[+] catacombs|6 years ago|reply
> No matter how I try to justify that this difference doesn’t matter in the grand scheme of things, the truth is that, having the option to eat lunch at office & availability of on-demand snacks throughout the day has boosted my productivity.

Must be nice. My company hasn't provided free breakfast, lunch or dinner in years.

[+] sethammons|6 years ago|reply
My experience says that a communal lunch is extremely valuable in building a sense of community. Companies can get a better cohesive workforce by providing lunch options that bring people together.
[+] jandeboevrie|6 years ago|reply
Why don't you make bread (lunch) in the morning and take it with you? Just like 99% of other people in the developed world.