I was applying for Software Engineering internships for the summer of 2023, and Tesla was one of the companies I applied to. I was extremely excited because it’s one of my favorite companies of all time.

The Interview: Round One

After I applied to Tesla, I had about two projects under my belt, but since this was a highly competitive role, I didn’t expect a response. About a week later, a Tesla recruiter emailed me saying he was interested in moving forward with my application. I was incredibly excited and waited for the next steps.

Since this was my first software engineering interview, I wasn't very experienced but I tried my best with researching possible questions, the company atmosphere, salary, difficulty level of the interview, reviewing my past projects etc... The first step in the interview was a take-home project I had to complete within 7 days. Without giving out too much detail due to signing a NDA, I had to solve a problem with a certain feature within the Tesla app. It wasn't too difficult so I was able to complete it within a couple days.

Preparing For Round 2

My take-home project was accepted, so I proceeded to round two. This round was a live coding interview with a Tesla engineer. Since this was my first real software engineering interview, I was super nervous. I had major impostor syndrome and doubted myself. I scheduled the interview as far out as I could so I’d have plenty of time to prepare.

I decided to email the RECRUITER (more on this later) to ask for more information about the kind of coding problem so I could be well prepared. I asked whether it would be more practical problem-solving or a LeetCode-style data structures and algorithms question. He told me it would be general problem solving—not a LeetCode exercise. With that in mind, I didn’t practice LeetCode at all; I just reviewed my past iOS projects since this was an iOS engineer role.

The Miscommunication

While balancing 5 classes and preparing every day for 7 days for this interview, the day finally came. I logged into my computer—still really nervous, heart pounding and everything. Once I joined the Zoom call, he asked me a few questions about my past projects and why I was interested in interning for Tesla. Then we got started on the problem...

The engineer asked me to click the CoderPad link to get started on the problem. He started to explain the problem. Now here was the problem: it was a LeetCode-style array question. I wasn’t prepared for this at all because the recruiter told me it was NOT a LeetCode-style problem. I hadn’t practiced LeetCode. I tried to carefully read and understand what was being asked and come up with a solution, but I had no idea what I was doing—and the interviewer could tell. He asked me, “Are you nervous? Did you prepare for this interview?” That really discouraged me. I immediately knew I wasn’t moving forward. It went so poorly that the interviewer ended the interview early and told me to apply again when I’m more prepared. I didn’t mention that I was told it wouldn’t be a LeetCode-style problem because I felt that would be unprofessional, and I ended up blaming myself anyway.

How this affected my confidence

After the interview ended, I blamed myself for this failure. I started to think that I had no skills as an engineer and I thought I was a fraud. I thought that I would never be able to get an internship or job because I just wasn't smart enough. I was thinking of quitting software engineering and moving to something else like UI/UX design. Even though this was my first internship interview, and I was told something different. I felt like I just was not smart enough to get an internship or job in the future, so I started to explore different career paths that would be better for me.

I stopped coding for about 4–5 months because I lost confidence in myself. I even took Google’s UI/UX Design course. But as I worked through it, I realized it didn’t give me the same fulfillment as building things—it just wasn’t as fun for me. I realized that being an engineer is really my passion and what I want to do. I also came across stories of people who failed many interviews before landing their first internship or job, and that many students never get an internship before graduation. Some YouTubers shared their journeys—the rejections, the disappointments—before landing their first role. It made me feel a little better about myself.

  • What I Learned
    • Never compare yourself to others—everyone has their own path.
    • Rejection isn’t about your worth or potential—the more you’re rejected, the stronger you become.
    • Never give up on your passion, no matter how many times you’re rejected.

Moving Forward

After about 5 months, I regained my drive to keep coding—but my mindset had changed. I no longer expected to get every role I interviewed for; I treated each interview as a learning experience, and anything more was a bonus. This helped me handle future rejections better. I realized that if I wanted to achieve my goals and become great, many more rejections were ahead. I chose to see rejection as redirection toward something better. Although I didn’t land an internship before graduating, I decided to keep coding no matter how many rejections I face—because the people who achieve their goals aren’t the ones who never fail, they’re the ones who never give up.

After that interview, I didn’t just regain my confidence—I rebuilt my skills. I launched two more apps, improved my algorithm skills on LeetCode, and interviewed at more companies. Now I’m more prepared than ever. I’ll end with this: if you’re going through rejections right now, I hope my story reminds you that failure isn’t the end—it’s part of the path. Keep building, keep learning, and most importantly, keep going.