Amazon.com is a challenging, fun, and ultimately rewarding experience. You have a lot of potential for career growth, with SDEs able to get promoted to the VP level while remaining an individual contributor. If you can find a good team, with a supportive manager, you can definitely excel.
You are given a lot of responsibility -- even SDE-1s own a part of the software stack and are responsible for delivering on it.
With ownership comes responsibility. You are expected to be on-call and maintain your software end to end. Most teams have an on-call rotation, no dedicated QA staff, and full autonomous ownership of a subset of Amazon.com. I consider this a pro -- I love working in a place that trusts its engineers to make decisions, and gives us full responsibility from end-to-end. As a senior engineer at Amazon, you will come up with the business idea for what to do, help management prioritize it appropriately, design the architecture end-to-end, implement the code, test the code, deploy the code, and finally maintain the code if anything goes wrong. It's exhilarating, challenging, and a lot of fun. But it's not for everyone.
Amazon.com's service-oriented architecture ensures that most teams at Amazon own a subset of Amazon services, which means that they are responsible for defining the roadmaps for their service. As a senior engineer, you often spend part of your time as a product manager, helping define the roadmap for your services. It's a great opportunity to grow.
Finally, the promotion process is fair and puts the power in the hands of the engineer up for promotion. You are given a clear document on what it takes to get to the next level (SDE1->SDE2, SDE2->SDE3, SDE3->Principal being the main ones). Then you are given full power to seek out projects that get you to the next level. Amazon won't care about your years of experience -- it will promote you solely based on your merit, which is great if you can prove yourself.
As a large organization, Amazon is not without its politics. If you get a bad manager, this can be bad for your career. If this turns out to be the case, make sure to switch teams as soon as possible after joining (you're supposed to wait a year, but it can be done sooner if things are bad enough). Luckily, this didn't happen to me, but I have seen it happen on occasion.
Make the promotion process more transparent.
Make stack ranking more transparent.
Own it.
I think the process is great, but there is a lot of misinformation and mystique out there about how it works.
A total of four approximately one-hour interviews were conducted on the same day. Three interviews focused on Data Structures and Algorithms, while one focused on System Design. All four interviews started with an introduction, followed by behavior
I received an email from the recruiter, followed by an automatic email inviting me to complete an online assessment. I am still waiting for the results and do not know if they will call me.
Interviewed 5 hours after the written test. The interviewers followed an exact pattern of questions that they had prepared. I would say they need to know what they want to know, but not what the candidate knows. This clearly reflects Amazon's dictato
A total of four approximately one-hour interviews were conducted on the same day. Three interviews focused on Data Structures and Algorithms, while one focused on System Design. All four interviews started with an introduction, followed by behavior
I received an email from the recruiter, followed by an automatic email inviting me to complete an online assessment. I am still waiting for the results and do not know if they will call me.
Interviewed 5 hours after the written test. The interviewers followed an exact pattern of questions that they had prepared. I would say they need to know what they want to know, but not what the candidate knows. This clearly reflects Amazon's dictato