If you want to work on a huge distributed system with a lot of independence, Amazon is a great place.
Every team acts like a small start-up and has a lot of freedom. You will learn very quickly and get a lot of responsibility. There is no bureaucracy or processes which get in your way, so you will be able to decide on your own (with peer guidance) and build quickly.
I was amazed every day by how complex and challenging things I could do and how much I learned.
If you want to have an interesting job where you can grow and do not mind to work hard, you may be willing to accept that Amazon is not perfect. Yes, there are few companies which are equally interesting and have a better culture and perks, but it's much easier to fail interviews there. You know, the prettiest girl in town may be fussy like hell. Not that it's trivial to get to Amazon, but it's for sure easier.
The unique knowledge and experience that you will get at Amazon is priceless and worth all the disadvantages described below. You will not learn distributed systems just from books, and Amazon is a perfect place to do it. And there is a chance that you will fall in love with the company and stay there for long. If not, what you learn will significantly increase your chances to get a much better job.
There is a lot of stress and pressure, so many people around you will be overwhelmed.
For the same reason, personnel rotation is very high, so knowledge is constantly being lost, and you are expected to live with that.
The recruiter who contacts you at the beginning determines which team you will be in for the first year; you have very little to say about that. So, ask about it at the beginning and try to find a different recruiter if you do not like what the team does.
There are basically no perks, free food, raises, or bonuses in Amazon, as it operates on low margins and invests all profits. That makes it very frugal. Assume that the salary & stocks which you get at the beginning is what you will receive for a few years.
In your office, you will find all that you need, but it will not be a pretty place which you want to show to friends.
In most cases, you will be expected to be accessible by phone at any time, as you are responsible for your systems to be always up and running.
On-call duty takes 7 days every 6 to 9 weeks. You will not be able to code or travel during the weekend when you are on-call.
Do not expect too much guidance from managers; they often have little technical skills.
Your colleagues will be intelligent, but often quite competitive.
Stop putting so much pressure on lower management; it propagates down to the bottom and destroys morale.
Emphasize the value of a team instead of worshiping individuals.
I was contacted by the recruiter on LinkedIn in October. I took an online assessment in January and cleared it. I received an invitation for an onsite interview in February. The interview was 4 hours long and involved speaking with different membe
Took about a month. 1 online assessment with 2 medium LeetCode questions (3 coding, 1 system design). They also expect OOPS and LLD knowledge. 2 behavioral questions in every interview (8 in total).
Technical Screening - Call with a recruiter Online Assessment - 1.5 hours for 2 medium LeetCode questions - Personality assessment - System design multiple choice style assessment Final Round - 4, 1-hour interviews, with a 1-hour break - Each inter
I was contacted by the recruiter on LinkedIn in October. I took an online assessment in January and cleared it. I received an invitation for an onsite interview in February. The interview was 4 hours long and involved speaking with different membe
Took about a month. 1 online assessment with 2 medium LeetCode questions (3 coding, 1 system design). They also expect OOPS and LLD knowledge. 2 behavioral questions in every interview (8 in total).
Technical Screening - Call with a recruiter Online Assessment - 1.5 hours for 2 medium LeetCode questions - Personality assessment - System design multiple choice style assessment Final Round - 4, 1-hour interviews, with a 1-hour break - Each inter