Senior Software Engineer • Current Employee
Pros: Amazon has a high quality of engineering community.
In Amazon, you will be treated as a business owner, not only a tech guy. Each team/org in Amazon is a startup. You are responsible for making business decisions, not only technical decisions. Examples of these decisions include:
* Should my team stop onboarding new customers and focus on improving the service quality?
* Should my team prioritize onboarding customers even if the features provided are not enough?
* How can we make my team more valuable/profitable?
Most of the tech leads are people-oriented and willing to help juniors grow.
Amazon has a lot of interesting business and technical problems that challenge the engineer's technical muscles, i.e., designing for scale and developing code that impacts millions of customers.
Amazon is very flexible and encourages internal transfers, which is a great opportunity for engineers to explore different areas depending on their interests without having to change employers. The same applies to locations.
Cons: Depending on teams, but on-call impacts the engineer's quality of life. Teams do their best to improve, but it's always annoying to wake up in the middle of the night to attend to customer-impacting incidents.
Amazon HR and Immigration departments are terrible. Speaking from personal experience, try as hard as you can not to be reliant on the Amazon HR team or Immigration team for support, because they show no empathy. If your life depends on it, you will have a hell of a time.
Managers have huge power, which has its own pros and cons. The worst situation is to be working for a terrible manager. They can ruin your life. On the other hand, Amazon supports internal transfers, so you are given a tool to find your way out.