I interviewed and got a job as an engineer at OpenAI two years ago when the company had around 120 engineers. It was the only job I interviewed for, since I was otherwise happily working on my own software (Superphonic, the best podcast player for iOS!). But I didn’t want to miss the AI revolution, so I applied right away after seeing ChatGPT 3.5 and 4.
It wasn’t all roses though. I had submitted my résumé a year before that, shortly after seeing DALL-E 2 — but no one responded, which is typical these days given intense competition for jobs.
I’d like to share how I approached getting a job at OpenAI, and how I approach getting jobs in general. But I’ll front-load downsides and objections first:
While at OpenAI, the interview false-negative rate was high. There were a good number of people I referred, whom I know are great engineers, who didn’t get offers. This felt similar to when I first joined Meta 15 years ago. Hot companies with strong hiring brands can afford to bias toward false negatives to further reduce false positives.
There is no checklist of things guaranteed to get you a job. Though there are things I’ve seen work and things which don’t, the best you can do is tilt the odds as much in your favor as you can, then keep your fingers crossed.
First Principles
Some obvious things that should nevertheless impact how you approach a job search:
Think like a hiring manager.
They want to get the best person they can given their recruiting brand and their compensation strategy. If you’re aiming to join a strong brand with great compensation, you’ll need to be amazing relative to other applicants.
They’re busy and do not review résumés themselves. Algorithms do most of that, and their recruiters likely use very simple searches to find candidates. Searches like, “current or former Magnificant Seven employee.”
90% of making a hiring manager or recruiter interested has happened years ago and doesn’t involve any current preparation or application strategy.
If you’re a student, that means attending the right university, getting the right grades, and most importantly, interning at the right companies.
If you’re mid-career, that means having worked at the right companies in the past and/or having done rare and exceptional work.
The best thing you can do to make yourself a great candidate is to have done great work in the past. Specifically, work that others would consider and acknowledge as great. More on that soon.
Getting an Interview
The first submission of my résumé in 2022 went nowhere. In general, applying cold to a large company rarely works, especially given increased competition these days. I did, however, get my first coding job by emailing someone after looking them up in a directory of offices at University of Maryland. So cold outreach can still work, but is more likely to be effective at smaller companies or places with weaker hiring brands.
Note when I say my application went nowhere, the application included working at director-level IC and manager positions at Microsoft and Meta as well as having founded and led a successful nonprofit as CEO. My work experience and the career levels I’ve reached are rare — but even with all that, I couldn’t get OpenAI to even be interested in hiring me as an everyday coder. Actually, not even in screening me, much less interviewing or hiring me. This is how competitive positions at the top tech companies are becoming.
My second outreach to OpenAI a year later was more successful because I made it through a former coworker of mine, Srinivas, who had joined by then. Even with that, it took a bit of asking / prodding / reminding to ultimately get traction and be invited to a recruiter’s screening call.
Always Be Laying Groundwork
Those meandering languidly through life not paying attention will click away right now, chalking my successful application up to “knowing someone.” The insight they’d miss with their dismissal is that it took decades of choices and hard work to, at last, “just know someone”:
Srinivas responded to me because I had worked on his team at Meta. But not only worked with him, but presumably did a good job.
For many years, I had strong performance in Meta even outside Srinivas’s team and was well known for being a positive culture carrier.
I got the interview to join Meta as the second engineer in Seattle, its first remote office, because of twelve years of strong performance at Microsoft across a variety of teams and roles.
Microsoft made a full-time offer for me to join after graduating college because I had interned a year earlier and made a strong positive impression.
I got the Microsoft internship based on two critical events:
I built University of Maryland’s first online course scheduler, VENUS, after proposing the idea and figuring out how to make the early internet work. This was at a time when Netscape cookies weren’t even a standard.
A friend of mine was a Microsoft “campus ambassador” and had helped recontact a recruiter after they ignored my application. He reached out directly and made a case for my application because he knew I was one of the top CS students at the university.
The University of Maryland hired me as a coder when I cold-emailed the head of a small software team there. My email mentioned I was one of several dozen full academic scholarship recipients (in a school of 36,000 students) and the valedictorian of my high school (the largest high school in the state). I also mentioned I was willing to work on any assignment and learn any coding language.
As Steve Jobs said in his Stanford commencement speech, “You can’t connect the dots moving forward; you can only connect them looking back.” While it is true that I at no time anticipated the career I would have, nor did I architect each of these events that proved pivotal to my career transitions, I did try to follow a few principles throughout:
Perform at your best even when the job seems trivial or unimportant.
Treat everyone well because life is mysteriously unpredictable, and the social circles at the top of any field prove surprisingly small.
Always leave workplaces on a high note. Do not fizzle out as you leave. Studies have shown people tend to remember peaks and ends: what was your top achievement, and how did you end?
Preparation
Perhaps I’ve convinced you 90% of successfully interviewing is all the work you’ve done in the past and the positive work experiences others remember having with you. But it’s too late to change any of that for your current job search.
Or is it? If you’re experiencing a period of unemployment, as I did prior to starting at OpenAI, there are many opportunities to build a portfolio of compelling work — e.g. by making meaningful contributions to major open source projects, by building interesting apps or sites. During my job-hunting months I had been working on building Superphonic, which gave me interesting material to discuss about difficult technical tradeoffs during an interview at OpenAI. You can always be creating meaningful work experiences for yourself, whether compensated or not.
As for the interviews themselves, most people hardly prepare enough, especially given how impactful a mere 45 minutes might be on their entire future. Interviewing is like the Olympics: it doesn’t matter how hard you’ve worked the past four years, or how many times you were able to spin stably on a pommel horse — what matters is how well you perform during one single session, on one single day.
I prepared 40+ hours a week for the two weeks leading up to my OpenAI interviews. I spent so much time doing this because I knew I was bad at systems design interviews. And how do I know? Story below.
Fireside True Story™ Time: When interviewing at Meta, I was paired with a stellar senior engineer (who later became Slack’s Chief Architect) to do some systems design. He asked me a simple “how do you crawl this or that” sort of question. Halfway through me bumbling randomly on a whiteboard drawing little meaningless rectangles, he interrupted.
“Stop. Let’s just pause here a second. Can you please code strcpy?”
“This interview must be going very badly for you to ask me to code strcpy,” I said with mortifying recognition as I produced its two-line solution.
Knowing how badly I’ve failed at systems design interviews in the past, I spent more than 80 hours doing nothing but preparing for them. YouTube is full of great full-length examples featuring experienced engineers explaining how they approach these designs. I also spent a lot of time, funny enough, asking ChatGPT things like:
“What are common design patterns used in large-scale systems design?”
“Please contrast the top message queuing frameworks and the key tradeoffs between them.”
“What are the top error-handling design patterns in distributed systems?”
“Please explain various approaches to data consistency in systems design.”
For two weeks, all I did was watch YouTube videos, then ask ChatGPT for clarifications and explanations diving deeper into things I saw.
There are of course many other ways to prepare, depending on your learning style. If you’re a tactile learner, there are frequently programs at universities and career centers which host mock interviews. I’ve even hosted mock interviews at Formation, an excellent program for those looking to improve their career prospects.
The point is to take preparation very, very seriously.
Recruiters Are Allies
There’s nothing better for a recruiter than to convince their company to make you an offer. They get commissioned and rewarded on the number of people they hire. In their world, it would be amazing if every candidate got an offer.
Your interests and theirs are very aligned. You both want you to get a job.
Knowing this, the recruiter is one of your best allies and helpmates. But despite wanting you to get an offer, recruiters also know they can’t just give away everything about the interviews because they’d be fired. So while they want you to get the offer, they can’t say too much.
I’d recommend approaching these conversations strategically with that in mind. Consider asking things like:
“What types of interviews will there be?” You should ask more about types you haven’t heard of before. For instance, OpenAI asked me to present a technical topic, something I’ve never done in other interviews, so I asked clarifying questions.
“How can I best prepare for the interviews?”
“When otherwise strong candidates fail the interviews, what are some common reasons?”
“Is there someone who recently got an offer who I could talk with to get more context around their experience being interviewed?”
The point is to get helpful context about the interviews so you can best prepare your strongest performance.
It’s a Volume Game
I’ve been rejected from many interviews, and it’s incredibly disappointing each time. But not getting an offer is different from a holistic rejection of you. There are many reasons why you might not get an offer despite being a good candidate. Any of these could be true:
You performed unusually badly on interview day despite having the skills.
You have difficulty communicating or demonstrating the strength of your skills.
The interviewer is inexperienced and made a judgment error.
You got stuck down one particular path of wrongheaded thinking.
The company was looking for someone with a different set of strengths.
You interviewed at a time when another exceptionally strong candidate also interviewed, and the team had only one open position.
Being the number one movie at the box office requires two things:
A pretty good movie, and
No better movie debuting the same week.
Ultimately, getting a job is a numbers game. You can’t guarantee the success of any one particular interview, but you can bias towards success by making your own movie as good as it can be through a history of strong performance and preparing much more diligently than other interviewees. After that, it’s about the fortitude to keep persisting through taking many shots at goal.


Love the last part on "Being the number one movie at the box office". Such is true in so many areas in life.
Man, what a great read! As someone currently in the recruiting process with the AI labs, I found myself relating to so much of this. My favorite part was your point about “preparing like an Olympian.” People around me sometimes think it’s insane to dedicate every spare hour (weekends, holidays, and evenings outside your 9–5) to recruiting in the weeks leading up to interviews. But in the end, those few hours can completely change your life trajectory, so why not give it everything you’ve got? Thanks so much for writing this up. It honestly made me feel way better about how I’ve been approaching things.