Landing a New Software Engineering Job at Airbnb: A 2025 Interview Journey
After six months of applying, waiting, and interviewing, I've accepted an offer to join Airbnb. I'm 10, formerly a software engineer at Amazon Alexa, and I'm excited to share my experience interviewing for software engineering jobs in 2025. I wanted to wait to share my full interview journey, so here's my experience.
Setting Goals for the Job Search
Back in October 2024, I began my job search with three key goals:
- Remote or Hybrid Role: I sought a fully remote position or a hybrid role located in my target cities of Seattle or Boston.
- Maintain or Increase Salary: I wanted to earn at least as much as I was making at Amazon.
- Team and Problem Focus: I aimed to join a close-knit team with a clear structure, roadmap, and interesting problems to solve.
Application Strategy and Focus
Considering my goals, I focused my application efforts on a specific area. I've built expertise in client engineering, specifically working on Alexa mobile apps and Echo Show devices. My interest lies in building complex iOS features. Therefore, I chose to focus on iOS software engineering roles.
-
I highlighted my iOS and client engineering experience in my resume.
-
I primarily cold-applied on company websites and set my LinkedIn profile to "open to work" for recruiters.
-
I did not rely on referrals, as I'm not convinced of their effectiveness.
I applied to around 25 companies, a relatively low number because of my specific goals.
Interview Responses and Preparation
After a few weeks, companies began responding. I received several rejections, but I also landed interviews with companies like Meta, DoorDash, Uber, TikTok, LinkedIn, and Airbnb. Given the perceived difficulty of the job market, I was surprised to receive so much attention from recruiters. I believe my experience at Amazon and its brand recognition played a significant role.
I then began interview preparation. Unlike previous experiences where simply solving LeetCode questions was enough, this time required serious preparation.
-
Coding: LeetCode-style questions and building new features in Xcode or Android Studio.
-
System Design: Mobile-focused system design.
-
Behavioral: Standard behavioral interview questions.
To manage the preparation, I created a checklist to cover core areas.
Key Preparation Steps
My interview preparation included the following key steps:
- Language and Framework Review: Thoroughly review the chosen language and frameworks (Objective-C, Swift, C++). Be prepared to explain every choice made.
- Technical Blog Research: Read and research technical blogs for real-life examples. This was particularly helpful for system design and answering technical questions.
- Feature Building Practice: Practice building new features under time pressure.
This preparation proved effective, allowing me to perform well and even clear some senior-level interviews.
Advice and Thoughts
Here are some thoughts and advice based on my experience:
-
Fundamentals are Key: Knowing the fundamentals well gives you a huge advantage. The questions I received were generally normal for mid-level or senior-level engineers.
-
Human Element Matters: Being a good engineer is important, but so is fitting into the company culture and team.
-
Over-Preparation is Beneficial: Learning as much as possible builds confidence and allows you to showcase your knowledge effectively.
-
Prepare for the Unexpected: It's okay to admit when you don't know something. Honesty is better than trying to bluff your way through an answer.
Gratitude
I owe this achievement to my family, recruiters, interviewers, and those who share their knowledge. I made sure to thank everyone who supported me throughout the process and encourage you to do the same. Thanks for watching and I hope you learned something from my experience!