Left Amazon after 7.5+ years; Here is my honest review.
I left Amazon to pursue other opportunities to fuel my career growth. When I joined Amazon Vancouver, the office was small with less than 200 employees. At the time I decided to leave, Amazon Vancouver had offices in multiple buildings incorporating thousands of employees. On my last day with the company, more than 97% overall of Amazon employees were hired after me. Both Amazon and myself experienced growth simultaneously.
TL;DR
I joined during one of the darkest times at Amazon. Thanks to the New York Times controversial article in 2015 (one year after I joined), Amazon started some internal changes to improve the work environment. I came on board as a junior engineer and left as a senior. Looking back on my time as an Amazon employee, I do realize that I had made a lot of mistakes on the job. However, I’m happy that at least I can now recognize what I did wrong and avoid making the same mistakes again over time. To cut the story short, it’s hard for me to think of specific times where I felt indifferent regarding Amazon. My emotion toward the company was basically either love or hate. Based on my personal experience, I would like to share some of the things that I liked the most about Amazon and what I think could be improved or changed altogether.
What I liked a lot about Amazon
These are some of the reasons I enjoyed while working at Amazon. The company possesses many positive traits that can be beneficial to the growth and development of your career and expertise.
The ultimate ownership
One thing I really loved about working at Amazon is that you are not simply assigned a task to follow blindly. Instead, you are responsible for owning a project from start to finish. In some instances, you are only given a vague description of what needs to be done. Therefore, you have to communicate with many people to clarify the problem. Then, you follow suit by preparing a design, talk to more people, and revise the plan till you reach the final consensus. Afterwards, you can continue with implementation, testing, and a launch plan. Even after the completion, you continue watching the project to make sure it has been a successful feature.
Even as an engineer, you are expected to evaluate if a project really makes sense and make the necessary adjustments to create a path for successful implementation.
Engineering Excellence
Many services at AWS (Amazon Web Services) are pay-as-you-go. This means that the customers are only charged whenever their services are running reliably. Consequently, AWS receives nothing if the services are not running as expected. A similar situation exists for the retail website as customers cannot purchase efficiently if any of the dependent services are not working properly. So, it’s not hard to imagine that engineering excellence should be a key factor in any feature launches at Amazon.
That’s why as an engineer, you should always prioritize keeping engineering excellence in mind. For every feature launch, you need to have enough code coverage, reliable tests, proper metrics and alarms, an effective dashboard, and last but not least a detailed runbook to reduce the possibility and effects of potential issues.
A lot of learning resources
A wide range of learning materials are available internally at Amazon to help you ramp up quickly and resolve almost every possible issue in a short space of time. There is a Youtube-like channel for internally sourced and created educational videos, a stack-overflow type website in which engineers can seek help from their peers, and an efficient searching system that looks for anything inside wikis, emails, or codes to name a few.
Your [technical] voice is heard regardless of your seniority
In engineering discussions, what you say matters more than your level. In my “customer obsession” training class for the new hires, I was always encouraging them to challenge others’ decisions, especially if there was no clear rational reason behind them. I have been also advising them to not accept things just because they were expected to. In many meetings such as special design review sessions, I’ve seen many occurrences in which a junior asks challenging questions from a senior and the senior had to present a meaningful answer. No engineer should respond in a way that gives the impression that they are always right because they have seniority. They should be open to discussion, no matter their level.
Things that could be changed (in my opinion)
Amazon has some great initiatives but there are some aspects that I believe could be improved or changed for the better. Especially when it comes to creating a more efficient and happy workforce, Amazon could prioritize their human resource a bit more.
Promotion is a game, you should know how to play it
I guess this is not limited to Amazon and is valid for many other large corporations. At Amazon, you should have enough stories for almost all leadership principles and have enough supporting senior people to back your stories. As your rank goes up, it’s harder to be promoted. If your manager is new, your colleagues are juniors, or the team’s projects are not impactful enough, it’s much more difficult for you to move up.
It’s not about what you like to do or how well you do your job. It’s about finding the right team with the right projects. If you are missing a story for a leadership principle, you need to talk to your manager to find a project to address that. If you need a feedback provider, you also need to somehow connect to a senior with a plan to get feedback later. Sometimes, if you are lucky that you get into the a right environment from the beginning, all of these things happen naturally. However, in most cases, you need to pre-plan well before the promotion dates.
Amazon pays more attention to the customers than employees; A lot more!
In most of our product decisions at Amazon, we were considering our customers as the highest priority. Although there were some cases in which I believed that the business needs were put ahead of customer requirements, in general, customer needs are assumed as the highest priority. Even when dealing with tickets, we were always looking for customer-originated ones to take care of before anything else.
Customer care is important, but on the other hand, the pressure always falls to the employees’ shoulders. You would face hard times if customers were not happy, for whatever reason. On-calls could be especially frustrating without getting paid extra or receiving acknowledgement for being up all the night to work on operational issues. I have seen talented people left just because of on-call frustrations.
I remember a time when I asked a VP visiting our office about the possibility of benefits for on-calls (like extra paid hours for extra time you spend during your shift). I received the response of “if you do your on-calls perfectly, the Amazon stock goes up and you would benefit from it.” I don’t know how it can be justified these days when the stock prices are dramatically falling down.
There is always something against you in the Leadership Principles
While many companies stick to a couple of values to define their culture, Amazon leadership principles are ever increasing. At the time I joined, Amazon had 12 principles vs. the 16 principles they currently have. These principles have been part of the Amazonians’ daily communication whether you want to raise or destroy someone. For example, it’s not uncommon to hear things like “you need to show better bias for action” or “thanks for your bias for action”.
In the annual peer review, you have to choose at least one leadership principle as an area for the improvement. Managers are always equipped with a large selection of contradictory-like principles if they want to use them against an employee. For instance, if you deliver a feature under a very tight deadline (which naturally is delivered with limitation due to time pressure), a manager might say that you are good at delivering results and bias for action, while another can claim that you need improvement on “Insist on highest standards”.
I believe that a large number of cultural items can be deliberately misused to get the most out of an employee while promising the least in return. For instance, sometimes they can be vague like “Always Right” , or can also be contradictory like “Bias for Action” and “Insist on highest standards”
Amazon pushes you to the last, not necessarily to the best
When I joined Amazon, I had a week to complete the boot camp and the ramp-up process. On the second week, I got a real task. I should confess I really enjoyed “getting my hands dirty” as quickly as possible. However, the expectation from the new hires quickly increases over time to make sure that the employees can catch up to the Amazon-expected speed in no time at all.
New recruits often struggle to work faster to keep up with pace of the company which can affect the quality of their work. The best sentence to describe the situation is the one I was told when joining the Alexa team, “Drink water from the hose” meaning you need to learn a lot and work hard at a really fast pace.
To ensure that employees always “meet the bar”, every quarter, each manager would give the names of the 10% bottom performers to the HR or has to bring some proof to show if nobody is reported. Then, HR would ask the manager to present plans for the people on the list. If manager puts them in a mentorship program (which is usually the case), the employee then works closely and officially with the manager in a 2-month program. During this program, the employee cannot switch teams or take leave of absence. In the worst-case scenarios, the employee might enter a more serious 3-month performance program (like PIP) with harsher consequences which can lead to termination of contract. Unfortunately, I’ve seen many new hires end up in one of these plans in the first few months and quickly go under a huge amount of stress.
With such high expectations in the mentorship programs, many employees are pushed to their limits and not always to their best potentials. I remember during a design phase of a project, my manager assigned a colleague to help, however, he was in one of the programs which required him to deliver more code. In that situation, he was so stressed and desperately asked me to add some coding tasks to the project. I ended up asking him to write some integration test codes to satisfy the program needs, although I really needed him more for preparation of the design doc. After a couple of months, he ended up moving to another company despite them providing a lower income.
Another instance I recall is during one of the Amazon Prime days. The on-call from one of the Prime teams made a mistake causing the customer to not be able to purchase for a while. I don’t know if he was punished by his manager or whether the whole incident was considered an honest mistake. What I heard from his colleagues was that he took the next day off and was thinking of committing suicide by jumping from the Lions Gate bridge!
Even managers can be affected by the high-paced environment. I’ve seen managers who did their best to alleviate some of the pressure experienced by employees. Yet they still ended up being crushed and left Amazon. New and less senior managers often get dealt the most stress because they have to experience the pressure from both engineers and higher managers.
On-calls kill your life, unless you choose your team wisely
Picture going to bed at 12am, getting paged at 1am, fixing the issue, going to bed (again) at 2am, only to get paged at 3:30am. It sounds very exhausting, however, this is a familiar story for many Amazonians who experienced on-calls at Amazon. Some teams suffer from a significant amount of operational issues causing terrible frustration for the on-calls. They are usually so overwhelmed with list of new features that they can barely spend time on operational excellence to make the mandatory on-call shifts more tolerable.
You have to choose the right team from the beginning to ensure that you can professionally grow in that team. Being on a team that works proficiently and having colleagues who can stand up to the challenges the team may encounter can make a huge difference.
Final thoughts
It’s hard to make a generic statement about a very large company like Amazon. Factors like managers, colleagues, and projects to name a few can have huge positive or negative impacts on your career. Therefore, these factors don’t necessarily relate to or can’t be generalized to Amazon as a whole.
In a nutshell, Amazon is a great engineering company with a lot of highly impacting and technically challenging projects. This really helps employees to learn top-notch concepts at a very quick pace. However, it comes with a price, which can affect other aspects of life such as your health, or relationships with loved ones if the situations are not managed properly.