This is Part 3 of 3 in a series of articles detailing my journey to Amazon. You can read Part 2 here.
Intro
Thank you for making it this far, and traveling up to the final, 3rd part of the article series on my journey to Amazon. This part contains my experience on the actual steps on breaking into FAANG, initial failures, lessons learned, and their applications leading to the final success: a Software Engineering offer from Amazon đ.
Turning the FAANG dream into reality
For many software engineers, landing a job at FAANG (companies like Facebook, Amazon, Apple, Netflix, Google) is the ultimate goalâmuch like how young athletes dream of making it to the Olympics. I was no different. But I assumed it was nearly impossible to apply directly from Uzbekistanâthat youâd need a work permit just to make it through the initial screening, whether for a European or U.S. office.
I was wrongâŠ
First Step to Success is Failure
September 2021: I received an email inviting me to interview for a Software Engineering role at Uber Amsterdam office. I got surprised, and found that I had submitted my application a month ago just to try my luck. This came as a surprise for two reasons:
-
Turned out, it is possible to directly apply to FAANG jobs in Europe while being in Uzbekistan, so investing time in solving LeetCode problems could actually lead to FAANG opportunitiesâuntil then, I had used the platform more out of curiosity than with serious interview preparation in mind.
-
I now had to solve a lot of problems in just a few days before my first interview. đ
I asked the recruiter for a week to prepare before the first round, which was a Phone Interview. I was able to solve just around 30-40 new problems on LeetCode before the interview. The phone interview was equivalent in difficulty to a hard-level LeetCode problem. While it was certainly challenging, I was able to navigate it successfully.
A few days later, I received an invitation to proceed to the onsite interviews. Onsite interviews consisted of 4 interviews: 1) System Design, 2) Data Structures & Algorithms (DSA) 3) Data Structures & Algorithms (DSA) 4) Behavioral interview.
I performed better than I expected in the DSA rounds, as well as in the behavioral interview. However, I fell short in the system design roundâI wasnât able to arrive at a complete, end-to-end solution to the problem. The reason was clear: I hadnât done any focused preparation for system design interviews beforehand.
A week later, I received a call from my recruiter with the expected outcome: rejection. What I truly appreciated about Uberâs interview process was the detailed feedback I was givenâclear insights into what went wrong and where I needed to improve.
Preparation plan driven by learnings
After an eye-opening experience with my first failed attempt at breaking into FAANG, I felt more motivated than everâfirst, because I realized it was possible to be invited to FAANG interviews even while living in Uzbekistan, and that relocation support would be provided if you received an offer; and second, because I now had a clear understanding of what to prepare for and how.
Preparation materials
Preparing for FAANG interviews is an open-ended journeyâeveryone follows different resources and strategies.
But for me, the following combination proved to be the most effective:
Material | Type | Target interview | Note |
---|---|---|---|
NeetCode | YouTube channel | DSA | Best explanations for LeetCode problems that also teaches the thought process |
Introduction to Algorithms, Thomas H. Cormen et al. | Book | DSA | Used this daily as a reference for algorithms and deep dives |
System Design Primer | Github Repo | System Design | Great for System Design definitions, theorems |
System Design Interview, Alex Xu | Book | System Design | Great for classical System Design problems |
The Amazon Builderâs Library | Online library | System Design | This is an excellent resource on learning reliable systems, fault tolerance, high availability |
Amazon Leadership Principles | Online article | Behavioral | This is the core of Behavioral Interviews at Amazon |
Pramp | Mock interview platform | All | 2-3 mock interviews per week to experience the interview pressure |
Daily routine
I created a strict daily preparation routine. Back in Autumn 2021 I was working for a UK company, for which my working day started by lunch time in Uzbekistan due to timezone differences. So I structured my daily activities as follows:
- 08:30 - 12:00: Study DSA / solving & analyzing 2-3 LeetCode problems / Pramp mock interviews
- 12:00 - 21:00: Working time
- 21:00 - 22:00: Problem discussions with my brother Laziz *.
- 22:00 - 00:00: System Design practice / reading / Pramp mock interviews
* By the way, Lazizâs LeetCode YouTube channel was launched during that time. Itâs the best resource in Uzbek for learning LeetCode problems, algorithms, and data structures available online and for free.
The Final Stretch: Landing Amazon
The Application
In parallel with my interview preparations, I was actively applying to FAANG opportunities across Europe (while being in Uzbekistan). Having worked extensively with AWS services, earning 2 AWS certificationsâand deeply admiring the engineering excellence behind themâone of the most exciting applications I submitted was to AWS in December 2021. I was eager for the chance to contribute to the very technologies that power and delight millions of customers worldwide, including me.
The Interview Process
In February 2022âtwo months after submitting my applicationâI received an email invitation for an Online Coding Assessment.
The hiring process for Software Engineering roles at Amazon (as outlined on the official Amazon jobs portal) typically includes several stages, depending on the job level and role type. For my SDE application, on a high level, the process included the following 8 stages spanning 4 months:
- December 2021 â Applied via the amazon.jobs portal
- January 2022 â Passed CV screening
- February 2022 â Passed Online Assessment: Data Structures & Algorithms
- March 2022 â Passed Phone Interview: Data Structures & Algorithms
- April 2022 â Completed Virtual Onsite Interviews: 4 back-to-back rounds, each 1 hour long â totaling 4 hours of intense interviews in a single session:
- Data Structures & Algorithms
- System Design
- Data Structures & Algorithms (second round)
- Amazon Leadership Principles (behavioral interview)
Since I had applied for a Software Development Engineer (SDE) position through the AWS GEOFlex program, after passing the Online Assessment and Phone Interview rounds, I received an email asking me to choose my preferred cities to work in from a list of nine AWS locations across Europe. The options included Aachen, Amsterdam, Walldorf, Madrid, Berlin, Cambridge, Dublin, and Gdansk. I chose Berlinâmeaning that if I successfully completed the remaining interview rounds and received an offer, I would join the AWS team in that city.
At the end of the final interview, I was quite satisfied with my overall performance. It had been nearly six months of dedicated preparationâthree of which were spent intensely preparing while actively going through the Amazon interview process. Now, I was eager to see whether all that effort would pay offâŠ
The Result: Offer
Mid-April 2022, I found myself checking my email inbox every 5 to 10 minutes, anxiously waiting for that verdict (offer vs. rejection). Then, right as I refreshed my inbox for what must have been the hundredth time, my phone rangâan incoming call from a number starting with +49...
(Germany). The moment I saw the number, I felt a bit of hopeâgood news usually comes with a call, while rejections tend to arrive as a cold email starting with âUnfortunatelyâŠâ. Somehow, I found myself tapping the green buttonâit was my recruiter. After a quick greeting, I heard the words I had been hoping for: âCongratulations, youâve been accepted. đâ.
It was an offer to join Amazon Web Services (AWS) as a Software Development Engineer at their Berlin office in Germany. đ€© A few days later, my recruiter sent over the official contract â I signed it â , and the relocation process began shortly after.
Relocation to Berlin, Germany
With Amazonâs support, I prepared all the necessary relocation documents, secured my visa, and finally relocated to Berlin, Germany in August 2022.
After completing all the remaining paperwork on arrival, my first day Amazon was September 1 â my Day 1 as the Software Engineer at AWS CloudTrail team.
Conclusion
Thatâs how it all happenedâfrom filling notebooks with math problems beside my father at the age of 3 to joining Amazon Web Services in Berlin. It wasnât an easy path. There were moments of failure and growth. But in the end, it was all worth it.
If someone had told me a few years ago that Iâd one day work at AWS, I probably wouldâve laughed it off. But step by step, project by project, and failure by failureâI got closer. Donât fear a failure. Remember that there is no elevator to success, and failure can be just the first step.
To anyone chasing a similar dream: donât wait for the perfect time or perfect plan. Even if it feels small or uncertain, that first step can take you further than you expect.
Thank you for reading!
With this, I wrap up my 3-part series detailing my journey to Amazon.
Looking forward to sharing more discoveries and journeys with you soon!
Cheers,
Azamat. đ