My experience of working at Amazon has been mixed with all kinds(ones that I heard about) of combinations possible in a FAANG company.
Overall, I would say, Amazon is the best company I have worked for so far, even far better than Atlassian. I would choose Amazon over any other company just for its sheer focus on tech. Working at Amazon comes with its unique set of political drama, and mental stress but it is worth getting through them at least once in your career, and as early as possible.
My previous employers i.e. Flipkart and Atlassian, are both tech companies. Flipkart is e-commerce and Atlassian creates software for tech companies but both of these companies do not come close to being called Tech Focused companies.
My 2 years of working at Amazon went away in a snap. I still remember by Day 1, it was a bit overwhelming as I have been working from home for the last 2 years and going to the office in Bengaluru requires more than just motivation.
I was full of excitement as I was joining my dream company. This enthusiasm slowly crumbled when I was greeted by the fact that I am the only Frontend engineer in fact the only Software Engineer in my team as the rest of the folks were System Dev Engineers which is one of the verticals of DevOps.
This situation mellowed down as tech companies across the globe started their firing spree as post covid recession fears started to creep in. I was wondering, how would it feel to touch and go your dream company as new hires are more susceptible to such events. Somehow, I survived the 2022 firing wave and tried to adjust myself to the new normal.
I got accustomed to Amazon’s culture of 2 pizza teams, working backward, and most important of them all - the writing at Amazon. I had a chance to create HLD and LLD for the new proposal. Although the project was scrapped later it had gone through multiple peer and senior leadership reviews which helped me improve my writing for the review audience.
While I was meaningfully contributing to the team, I kept my eye on the teams that created products for Amazon customers, unlike my current team which created tools for the internal Amazon team. There is a huge difference between creating value for the company’s customers from creating internal tools.
The tech stack was a bit obsolete and hard to maintain, the tool was using jQuery and python’s Jinja. The sad part was that the org was not ready to invest more in this tool. I tried to revisit the cold storage of my jQuery days and help with the new requirements. In an anarchic way, I did integrate Svelte.js
to keep my job exciting while I was doing it.
An opportunity came from an internal opening that required React and React Native experience and cracked it.
In the new team, I have written software for the devices. It was exciting for me as I was focused on creating React Native apps for “Fire Tv Stick” and this was the first time that I wrote Apps for minimal hardware. As Amazon was moving away from Android to its own Linux based OS, It came with its own set of challenges. We were managing many OS-level bugs at the application layer which meant having to deal with code that was not at all legible(supported by tons of comments describing the stop gaps), redundant and hard to maintain. The OS is new, and so is the build system, there is a collective struggle to keep code from breaking.
For the first 6 months, there were just two folks(including me) working from the India location which meant that we sparsely went to the office, unlike the previous team where we the 2 pizza teams would meet twice a week and go out for lunch at least once. My total working hours got shifted from days hours to early morning and late night calls, and development work during the day.
Devices org culture was more frugal than the Ads org where we would get snacks every Wednesday from an outside vendor and had free snacks and fruits kept in the pantry all day long. We were given a goodies box branded with Amazon Ads which had a BT speaker, spill-proof tumbler, diary, and a BT headset. This was possible as Amazon Ads was a profitable business where as Amazon Devices is still a cash-burning business. Devices org does go out for team lunches and Dinner but in general, keeps the expenses in check.
As the team started to grow and the platform stabilized, we quickly started converting requirements into code. One of the most challenging works I have done to date came in the form of the Network Module. Keeping the spillage under check, I can say that this module included all the corner cases one can imagine while writing apps for a custom OS on a custom hardware.
As there were new requirements and a never-ending bug list in the previous implementation(half-done work), my working hours expanded beyond my control. I would sit at my desk at 8:30 AM and get up only at 9:30 PM and then there would still be work left to do at the end of the day. Post getting up from my desk, I would still be in the work hangover and keep it to myself. My wife would just see me all the time but I was not able to have a meaningful conversation with her. I would sit beside her, or go out for coffee but still be hooked to my pending tasks.
Somehow with a therapy and improving my sleep, I was able to cope with the work. I would look forward to the time of the day when I would hit my bed and sleep. During this phase, I went home to see my parents. To my surprise, all I would do during that 1 week was eat food and sleep. One day when my wife worriedly checked if I was keeping good health. Oh dear, I needed that 1 week snooze.
I wanted to switch to another team(within India timezone) as I liked working for Amazon. But it did not materialize as my skip expressed that I should take on another challenging project for the team which would get me solid reviews(Desperation of promotion hitting the roof). Somehow I convinced my self and whole heartedly started working on this new project. While I was neck deep in writing docs and getting POC done, I interviewed with ServiceNow and they liked me! Wow Wow Wow!
I finally travelled to US(Austin) in a notice period days, and as fate would have it, This trip was impacted by CrowdStrike issue. Moral: I can handle uncertainties.
All the best and bad cases happened during these two years:
I would summarize my journey in four areas which keeps a software engineer interested in their works:
npm
package and then deploy the app for a demo with just a few click. I could do the same thing with a few CLI commands.Doc Review
is a session where everyone spend 15-20 mins reading a doc which could be about software release mechanism, High level tech design doc, Low level design or a 6 page PR FAQ. These reviews can make or break things for you. Ample amount of time is spent by engineers to compose these docs. These docs later act as an artifacts for the promo package of an individual. Code Review
s and make sure that the quality is met irrespective the fact that the code is written for an internal tool or for a customer facing one. The review you get or give act as an artifacts for the promo package of an individual.opportunities + effort + [Tenure]
. I do not agree to the tenure part, as it is slows down the complete function. Even though a person is smart and making a difference but he/she should be of certain tenure to get to the next level. This artificial blocker was one of the main reasons I had to find role outside of Amazon.Amazon
brand.NO
to anything as I was desperate about my promotion. My skip manager could easily see that, and maybe that is why I was expected to do more than my current role guidelines .