My journey to MAANG
After years of studying and working, I almost lost track of what I wanted to achieve: working at a MAANG. Today I can finally say that what seemed like a dream 5 years ago, it's starting to take form.
The beginning
The first memory I have of using a PC dates back to around 2006. I was a boy in my bedroom, playing Solitaire and Pinball on a really old, scrappy computer running Windows XP. I wonder where that PC is now.
A few years later, around the age of 12, I discovered Minecraft and was really hyped about it. My brother handed me an old, somewhat broken PC running Windows 7. I didn't want to pay for it (and honestly didn't how to do it) and I tried to install it on my own. I just ended up filling that poor computer with viruses lol.
When I entered high school, I chose to study IT under the impression that video games === IT. For the first two years out of five, I didn't learn much about anything really. My focus was more on playing video games. League of Legends is a great game btw. (but don't spend too much time on it)
The turning point
In my third year, things took a turn. My brother offered me a summer internship at his company, which mainly built electrical stuff. It was a small place with a lot of C programming involved (goat). I was thrown into the deep end, learning how things worked from the ground up, from writing the software to uploading it to the hardware board. I mostly observed at first, seeing magicians do their work until one day my brother assigned me a task: complete a function to highlight keypresses on a touch panel keyboard.
I barely knew how to System.out.println with Java but nevertheless I tried, ultimately failing miserably.
Something clicked in me tho. I got that rush that every software engineer gets: the thrill of solving a problem.
The following summer, I returned to the company. This time, they asked me to build a web interface for an IoT project. Terms like JavaScript, HTML, and SQL were thrown around — technologies I hadn't encountered yet in school. The only thing I could do was learning on my own and so I did. I dove into research and managed to create the first (buggy, scrappy and insecure) version of the website that I would refactor the next year by using Laravel & Vuejs, two technologies that I continue to use today.
The trajectory
After high school I decided to study computer engineering at university, hoping one day of joining a MAANG. Never really believing it was a real possibility.
The first two years of my bachelor's were tough as someone that didn't really have the mathematical foundations. Calculus, Physics, and Telecommunications were challenging, beat me to my knees but thankfully I had a high school buddy that often studied with me, helping me get through it.
Around the same time, my brother was starting a startup and invited me to join. I was super excited. Admittedly, I preferred (and still do) building things over studying, but I managed to juggle both. The startup wasn't aiming to do anything revolutionary; it just wanted to create software to help people and businesses. It was during this time that my passion for software engineering truly came to life.
I was building things that people used and it felt great.
The realization
Fast forward to the present (2024) after years of the university-startup-university-startup cycle I'm now getting my master's and, while browsing through X dot com, it struck me:
I was losing momentum
I was seeing my younger peers getting internships, doing hackathons and generally being more involved in the tech community. By 23, I had some experience but not with any well-known companies, and graduation was approaching. Panic set in. Despite all I'd done, it felt like I didn't achieve much. It was now or never. I started applying for internships at any relevant company dreaming of a MAANG, even though it seemed impossible. I thought my work experience and degree would make it easy. I was wrong. Despite years of studying and working, I really had no to little knowledge on data structures and algorithms. It was kind of a cold shower.
I'm late
We are now in August 2024. I knew I had to address my weak spots so I started grinding LeetCode problems while continuing to send out resumes, but I had a little happy problem: a two-week road trip to Scotland with friends was already planned for early September - not ideal timing, ugh.
Fortunately for me, not every company was rejecting me at first, so my years of working and studying were somewhat paying off. I managed to complete two OAs during the trip, connecting through a friend's mobile hotspot. The first one was for Databricks which I completed it by a lake. The other one was for Stripe, and I was able to do it from a mountain parking lot (Quiraing, beautiful place btw). Returning in late September, to my surprise I had passed the OA for Stripe and they scheduled the onsite interview in early October. I was super happy about it.
The first cold shower
The onsite interview went somewhat well I though, it wasn't the classic LeetCode problem, it was more of a day to day type of problem that engineers at Stripe faced. I was able to solve 2 out of the 4 problems steps and ultimately got rejected. Honestly, thinking back, I was not ready for it. I barely knew how to reverse a linked list. What was I hoping for?
The grind
It was time to double down. I dedicated as many hours as possible each day (11+ hours) to studying data structures and algorithms while persistently applying to companies.
The opportunity
After countless applications - honestly, I lost count after a while - Amazon sent me an OA. I knew I couldn't afford to fail it, It was now late mid October and I felt like many positions would start closing until next year. I poured everything I'd learned into it and managed to pass 21 out of 30 test cases. Not perfect, but enough.
Finally, I received an invitation for an onsite interview scheduled for the following week. With only five days to prepare, I immersed myself in advanced topics like backtracking and dynamic programming and practiced with mock interviews with random people online.
Those were five days of pure grind, but I enjoyed every bit of it.
On the day of the interview, surprisingly, I wasn't nervous. I had prepared as best as I could. The interviewer was friendly, and I was able to solve the coding problems and confidently answer the behavioral questions I'd practiced. I felt good about it. Five long and agonizing days later, the result came in: an offer from Amazon. Without hesitation, I accepted it.
Next summer, I'll be living in Luxembourg for six months, working at a MAANG. What was only a dream some years ago is now becoming a reality. This is just the beginning.
--
Take risks guys. Don't be afraid of being hurt. There's great joy in the grind.
Yes I do like motivational speeches. Yes I do like David Goggins.