I failed OpenAI Senior Software Engineer Interviews 2024 (and lessons I learnt)
In the past few months I was searching for a senior software engineering roles. Throughout this journey, I’ve had the opportunity to interview at some top companies like OpenAI, and Databricks. Although I haven’t secured any offers from these companies yet, I did reach the final stages for some of them, and I’d like to share my lessons, reflections for those of you currently navigating this challenging job market. I believe we learnt the most from failures.
Full video on my Youtube.
Reflections on Interview Preparation for Senior Software Engineering Roles
1. System Design Interviews: The Toughest Hurdle
System design has been the hardest area for me to prepare for, especially as a front-end engineer. Unlike backend-focused system design, there aren’t as many resources specifically geared towards front-end system architecture. In my experience, companies like OpenAI and Databricks tend to ask system design questions that are closely related to the work they do.
• Gearing towards company-specific topics: AI companies likely to ask you to design a chat application, whereas data-focused companies like Databricks may want to see how you would approach designing systems for data tables, dashboards, or data visualizations.
• Tip: When preparing for these interviews, research the company’s products and anticipate questions related to their domain.
2. Practice with Mock Interviews
For system design interviews, practice your answers out loud on a whiteboard or digital drawing tool. (ie. whimsical, and excalidraw)
Don’t let the interviewer drive the conversation; instead, lead with your approach and guide the discussion. Follow a clear structure, such as:
• Functional Requirements: Start by outlining functional requirements
• Non-Functional Requirements: Discuss performance, scalability, and security considerations.
• High-Level Architecture: Provide a broad overview before diving into the details.
• Deep Dive on Strengths: Emphasize areas where you have the strongest expertise.
For front-end roles like the ones I’m interviewing for, focus on areas like components, network API requests, and optimizing rendering performance. I found resources like Great Frontend useful for front-end interview prep, while Alex Xu’s System Design Interview book is valuable for Backend Software Engineer Interview.
3. Collaborative Problem Solving
Interviewers are not only evaluating your technical skills but also your ability to collaborate. Treat interviewers as future colleagues and involve them in your problem-solving process. Ask questions, seek their input, and make the experience interactive. This demonstrates strong communication skills and shows that you can work well in a team.
How do we actually land an interview in 2024?
1. Leverage Referrals
Cold applications rarely worked for me. Reaching out to current employees for referrals or connecting with recruiters directly is a much more effective strategy. This helps to ensure that your application is seen by the right people.
2. Apply to Multiple Companies
Don’t put all your eggs in one basket. Apply to multiple companies simultaneously, as roles can get filled or go on hold unexpectedly. Having multiple opportunities in the pipeline reduces the risk of being left empty-handed.
3. Persistence is Key
The competition for senior roles is fierce, with many candidates vying for the same positions. Keep studying, keep improving, and don’t give up. The right opportunity will come your way if you stay persistent.