Amazon has quite a lot of smart people, and they're given free rein to solve problems the way they think best (after all, they have to deal with the aftermath).
The result is a streamlined, low-effort, build/deployment system, a fairly low bar for building new services and tools, and the opportunity to try new things in a safe manner.
The technical environment is top-notch, and the important parts are implemented well enough (always some room to improve).
Amazon is obsessed with metrics. When a service is deployed, part of the process is choosing metrics and monitors to ensure that any problems are caught automatically and fixed. Due to the good tools, patches can be pushed out in hours and rolled back in minutes, so responsiveness is expected.
Senior management communicates fairly openly. The CEO fields questions at the quarterly meeting and welcomes hostile or difficult questions, which surprised me. At a divisional level, I always had a good idea of where things were headed and the priorities.
Amazon will eat your life - pager rotation sucks. If your service needs babysitting, you may not have an ops team to handle the general things.
What this means is that a lousy service will take your free time and interrupt your sleep one week out of 6-8. This would be as expected for a lot of things, but some services are naturally chatty (external systems, upstreams that file a pageable ticket to find out why your service is acting up, etc.). In addition, the workload can be high if you find yourself in the wrong place - choose wisely.
The downside of free reign with teams is that there is often little consistency of behavior, as each team implements what it needs. This can cause problems if you need something not offered. It also impacts crosscutting concerns - coordinating multiple teams is almost impossible.
Payments is a high-stress area, as is anything that supports warehouses. Having been in payments, it's getting better, but I didn't get along with one or two of the managers. I got a bit burnt out, then was denied vacation that I desperately needed and tossed on a death march project, so that colors my views a bit.
Amazon has cheap benefits (frugality is the watchword, but it burns a bit when the most significant bennie is a bus pass). On the flip side, you are paid well if you do well.
Not a lot. Planning for a post-Bezos world is important, as is ensuring that the leadership is strong. However, I haven't run into too many problems of their creation.
Well, except for stack ranking. Fire the low performers, sure, but don't force managers to make someone a 2.5 review just because someone has to be on the bottom. Sometimes, you've got a team of stars.
1. Online Assessment Interview Invite to schedule. 2. Hiring Manager Round 2/3 LPs and 2 LeetCode medium problems. 3. Interview with SDE II Half an hour with LPs, and the other half doing a coding question to write maintainable code. 4. Bar Rai
It went well, with half an hour for leadership principles and the other half an hour for coding and system design. It’s a great experience overall. System design, they expect more clarity.
Leetcode-style questions. You are given an image represented by an m x n grid of integers, `image`, where `image[i][j]` represents the pixel value of the image. You are also given three integers: `sr`, `sc`, and `color`. Your task is to perform a
1. Online Assessment Interview Invite to schedule. 2. Hiring Manager Round 2/3 LPs and 2 LeetCode medium problems. 3. Interview with SDE II Half an hour with LPs, and the other half doing a coding question to write maintainable code. 4. Bar Rai
It went well, with half an hour for leadership principles and the other half an hour for coding and system design. It’s a great experience overall. System design, they expect more clarity.
Leetcode-style questions. You are given an image represented by an m x n grid of integers, `image`, where `image[i][j]` represents the pixel value of the image. You are also given three integers: `sr`, `sc`, and `color`. Your task is to perform a